Protomaps
"The open source map that's just one file" [1]
Protomaps is an open-source mapping platform built around the PMTiles single-file archive format, offering both a hosted vector and raster tile API and full self-hosting options on AWS or Cloudflare. It targets newsrooms, civic technologists, and developers who need privacy-preserving, customizable basemaps without lock-in to proprietary GIS providers. The hosted API is free for non-commercial use up to one million tile requests per month, with commercial access starting at $14 per month via GitHub Sponsors. Customers include The Washington Post, Flickr, and Felt, and it integrates with MapLibre GL JS, Leaflet, and OpenLayers.
Best for / Avoid if
Best for: Prototypes and side projects - free to start, no sales call; Teams needing broad API coverage out of the box; Cost-sensitive teams - low, transparent entry price
Avoid if: You have strict compliance requirements
Scores
- 20 / 100Agent friendliness
- 100 / 100Pricing transparency
- 85 / 100Setup speed
- 15 / 100Docs quality
- 100 / 100Procurement ease
- 0 / 100Trust readiness
Pricing & procurement
- Pricing model
- Subscription [2]
- Published pricing
- ✓ Yes
- Free tier
- ✓ Yes
- Free tier details
- Non-commercial use of the hosted API (api.protomaps.com) is free with a soft cap of 1,000,000 tile requests per month. All open-source tools, PMTiles CLI, and daily planet basemap builds at maps.protomaps.com/builds are free without restriction. Self-hosting is always free (user pays own cloud storage/bandwidth costs only). OSM/ODbL attribution required.
- Self-serve signup
- ✓ Yes [3]
- Requires sales call
- ✗ No
- Enterprise plan
- ✓ Yes [4]
| Plan | Item | Per | Amount | Source |
|---|---|---|---|---|
| Free (Non-commercial) | hosted tile requests via api.protomaps.com | month (soft cap: 1,000,000 tile requests/month; non-commercial use only) | $0 | source |
| Commercial SaaS | commercial use of api.protomaps.com — up to 1 million tile requests per month (soft limit) | month | $14 | source |
| Protomaps Access | hosted API + author joins org Slack/Teams + geospatial consulting (24-hour response) | month | $2000 | source |
| Protomaps Access+ | hosted API + consulting + prioritized open-source roadmap features + custom tileset builds + recurring standups | month | $4000 | source |
Capabilities
- Supported actions
- vector_tiles, raster_tiles, pmtiles_archive_format, hosted_tile_api, self_hosted_deployment_aws, self_hosted_deployment_cloudflare, basemap_downloads, maplibre_gl_js_integration, leaflet_integration, openlayers_integration, cli_tool, custom_styles, basemap_localization
- Regions
- global (OpenStreetMap-based basemap coverage)
- Languages
- Arabic, Bulgarian, Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Maltese, Marathi, Nepali, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish, Ukrainian, Urdu, Vietnamese, 41 languages total following OpenStreetMap name conventions [5]
- Input types
- PMTiles archive file, tile z/x/y coordinates, HTTP Range Requests, GeoJSON data, OpenStreetMap source data, bounding box for area exports, API key
- Output types
- vector tiles (MVT/PBF via PMTiles), raster tiles (JPEG/PNG via PMTiles), PMTiles archive, ZXY tile API endpoint, TileJSON metadata, Style JSON
- Webhooks
- ✗ No
- Sandbox / test mode
- ✗ No [6]
- SDK languages
- JavaScript (pmtiles core), JavaScript (MapLibre basemaps), JavaScript (Leaflet), JavaScript (OpenLayers), Go (CLI / server proxy) [7]
- MCP server
- ✗ No
Trust & compliance
- SOC 2
- – Unknown
- HIPAA
- – Unknown
- GDPR
- – Unknown
- ISO 27001
- – Unknown
- PCI DSS
- – Unknown
- Published SLA
- ✗ No [8]
- Rate limits
- Soft cap of 1,000,000 tile requests per month on the free/non-commercial hosted API; Commercial SaaS GitHub Sponsor tier ($14/month) also includes up to 1 million tile requests per month (soft limit, forgiving of occasional traffic spikes). No automated enforcement or overage billing. [9]
- Known restrictions
- OpenStreetMap attribution required (© OpenStreetMap) when using ZXY protocol URLs from the hosted API, Commercial use of api.protomaps.com requires GitHub Sponsor subscription ($14/month minimum), Non-commercial free API has a soft cap of 1,000,000 requests/month - users consistently exceeding it are encouraged to migrate to self-hosting, Basemap updated at irregular, less-than-weekly frequency, Maximum zoom level 15 supported on hosted API, Basemap data released under ODbL license (OpenStreetMap data terms apply), PMTiles is a read-only format (cannot update in-place without full rewrite), Cloudflare R2 deployment known to have higher latency (500ms or higher)
Developer surface
Integration
- API style
- rest
- Base URL
- https://api.protomaps.com
- Version
- v4 (tiles), v5 (styles)
- Versioning
- url
- Stability
- ga
- Auth methods
- api_key
- Rate limit
- 1000000 / month
Adoption & maturity
- Launched
- 2021-01-01
- Notable customers
- Felt, Flickr, The Washington Post, OpenInfraMap
Other Maps APIs
Azure Maps Render (Map Tiles)
"Azure Maps is a collection of geospatial services and SDKs that use fresh mapping data to provide geographic context to web and mobile applications."
Google Maps Platform (Maps JavaScript API, Static Maps & Map Tiles API)
"Make the world your platform. Develop AI-powered insights and build with maps in over 250 countries and territories, powered by data updated 100 million times daily."
Esri ArcGIS Basemap Styles & Map Tiles
"A location service that provides basemap styles and data for the world. It returns styles as Mapbox styles and web maps, and data as vector tiles and/or map tiles."
Mapbox Maps (GL JS, Static Images & Vector Tiles)
"Bring location data to life with beautiful base maps, versatile upload and design tools and cross-platform rendering."
Jawg Maps
"Integrate maps and geocoding in your websites and mobile apps" - Jawg Maps is a map design and data geolocation platform offering customizable interactive and static maps, geocoding, routing, and elevation APIs built on OpenStreetMap data.
LocationIQ
"Affordable Google Maps alternative for your website or app"
References
- ↑Description: protomaps.com · protomaps.com
- ↑Pricing model: github.com · github.com
- ↑Self-serve signup: protomaps.com
- ↑Enterprise plan: github.com · protomaps.com
- ↑Languages: docs.protomaps.com
- ↑Sandbox: protomaps.com
- ↑SDK languages: docs.protomaps.com
- ↑Published SLA: protomaps.com · protomaps.com
- ↑Rate limits: github.com · protomaps.com
Change history
- 2026-06-15 Score Agent Friendliness: 10 → 20
- 2026-06-14 Robots Allows Agents: (none) → Yes
- 2026-06-14 Has Structured Data: (none) → No
- 2026-06-14 Capabilities: {} → {"vector_tiles":true,"custom_styling":true}
- 2026-06-14 Summary Md: (none) → Protomaps is an open-source mapping platform built around the PMTiles single-fi…
- 2026-06-14 Score Trust Readiness: (none) → 0
- 2026-06-14 Best For: (none) → Prototypes and side projects - free to start, no sales call, Teams needing broa…
- 2026-06-14 Avoid If: (none) → You have strict compliance requirements
- 2026-06-14 Scoring Methodology: (none) → Scores are computed deterministically from this profile's published, sourced fi…
- 2026-06-14 Score Docs Quality: (none) → 15
- 2026-06-14 Score Agent Friendliness: (none) → 10
- 2026-06-14 Score Pricing Transparency: (none) → 100
- 2026-06-14 Score Setup Speed: (none) → 85
- 2026-06-14 Score Procurement Friction: (none) → 100
- 2026-06-14 Llms Txt Present: (none) → No
- 2026-06-14 Docs URL: (none) → https://docs.protomaps.com
- 2026-06-14 Rendering: (none) → static
- 2026-06-14 Has Published Pricing: set to Yes
- 2026-06-14 Free Tier Available: set to Yes
- 2026-06-14 Free Tier Details: set to Non-commercial use of the hosted API (api.protomaps.com) is free with a soft ca…
- 2026-06-14 Self Serve Signup: set to Yes
- 2026-06-14 Requires Sales Call: set to No
- 2026-06-14 Enterprise Plan Available: set to Yes
- 2026-06-14 SLA Published: set to No
- 2026-06-14 Documented Rate Limits: set to Soft cap of 1,000,000 tile requests per month on the free/non-commercial hosted…
- 2026-06-14 Rate Limit Requests: set to 1000000
- 2026-06-14 Rate Limit Window: set to month
- 2026-06-14 Known Restrictions: set to OpenStreetMap attribution required (© OpenStreetMap) when using ZXY protocol UR…
- 2026-06-14 Auth Methods: set to api_key
- 2026-06-14 Auth Docs URL: set to https://protomaps.com/api
- 2026-06-14 API Style: set to rest
- 2026-06-14 Base URL: set to https://api.protomaps.com
- 2026-06-14 API Version: set to v4 (tiles), v5 (styles)
- 2026-06-14 Versioning Scheme: set to url
- 2026-06-14 Stability: set to ga
- 2026-06-14 Quickstart URL: set to https://docs.protomaps.com/guide/getting-started
- 2026-06-14 Requires Verification: set to No
- 2026-06-14 Starting Price Usd: set to 14
- 2026-06-14 Price Basis: set to month
- 2026-06-14 Slug: set to protomaps
- 2026-06-14 Launched At: set to 2021-01-01
- 2026-06-14 Notable Customers: set to Felt, Flickr, The Washington Post, OpenInfraMap
- 2026-06-14 Fields Not Found: set to soc2, hipaa, gdpr (no formal GDPR certification claim - docs page only states i…
- 2026-06-14 Source Confidence: set to high
- 2026-06-14 Extractor: set to claude-subagent:sonnet
- 2026-06-14 Last Verified At: set to 2026-06-14T00:00:00.000Z
- 2026-06-14 Status: set to published
- 2026-06-14 Free Tier Limit: set to 1,000,000 tile requests/month (non-commercial, soft cap)
- 2026-06-14 Name: set to Protomaps
- 2026-06-14 Vendor ID: set to 667a360f-48e1-47f6-b5f3-70acd73f4ef1
Suggest an edit / leave a review
Leave a review or comment
curl -X POST https://apio.sh/api/feedback/protomaps \
-H 'Content-Type: application/json' \
-d '{"kind":"review","rating":5,"body":"Your experience with this API…"}'Suggest a correction to a field (cite a source)
curl -X POST https://apio.sh/api/suggest/protomaps/FIELD \
-H 'Content-Type: application/json' \
-d '{"value":"corrected value","citations":[{"url":"https://source.example/page","excerpt":"supporting quote"}],"note":"what changed and why"}'