Simple, transparent pricing
Pay for what you use. All plans include full access to vector tiles and raster tiles. Paid plans include elevation and static map image APIs.
Free
For personal and non-commercial projects
- ✓ Vector & raster tiles
- ✓ 1 API key
- ✓ Non-commercial use only
Starter
For small apps and indie developers
- ✓ Everything in Free
- ✓ Elevation API
- ✓ Static map images
- ✓ Commercial use
- ✓ Multiple API keys
- ✓ Email support
Pro
For production apps with serious traffic
- ✓ Everything in Starter
- ✓ Priority email support
Enterprise
Custom unit limits, SLA, dedicated support, custom map extracts and styles.
All prices are final — VAT is not applied. All plans require OSM + MapRiot attribution on displayed maps. See Terms of Service for full details.
How units work
Usage is measured in units. Each API request costs a different number of units depending on what it serves — reflecting the actual server cost.
| Request type | What it is | Units |
|---|---|---|
| Vector tile | A single map, contour, hillshading, or relief source tile | 1 |
| Composite raster tile | A pre-blended raster tile combining multiple sources server-side | 5 |
| Elevation query | A terrain elevation lookup for a set of coordinates | 1 |
| Static map image | A rendered PNG/JPEG snapshot of a map area | 10 |
Style API vs. Composite Raster API
When you use the Style API (MapLibre GL JS, etc.), your client loads each source tile independently. A style with four sources — map, contours, hillshading, relief — makes four 1-unit requests per tile position.
The Composite Raster API blends those sources server-side into a single image tile at 5 units. It works with any library that accepts a plain tile URL (e.g. Leaflet), without needing to handle vector rendering.
Ready to get started?
Sign up for free — no credit card required. For paid plans, get in touch and we'll set you up.