REST API Pricing
55 endpoints · 39 countries with full address data · 276 countries with boundary lookups · 461M+ addresses
Free
- 3,000 calls/day
- 10 boundary calls/day
- All endpoints (rate-limited)
- No attribution required for commercial use
- Community support
API 10
- 10,000 calls/day · 300K/month
- 12 req/s rate limit
- All endpoints (incl. polygons)
- Population in every boundary call
- Email support
API 25
- 25,000 calls/day · 750K/month
- 15 req/s rate limit
- All endpoints
- Population in every boundary call
- Email support
API 50
- 50,000 calls/day · 1.5M/month
- 20 req/s rate limit
- All endpoints
- Population in every boundary call
- Priority email support
API 100
- 100,000 calls/day · 3M/month
- 25 req/s rate limit
- All endpoints
- Priority support
API 250
- 250,000 calls/day · 7.5M/month
- 30 req/s rate limit
- All endpoints
- Priority support
Full feature comparison
All 8 tiers side by side · scroll → for paid plans
| Feature (scroll →) | Free | API 10 | API 25 | API 50 | API 100 | API 250 | Enterprise | On-Premise |
|---|---|---|---|---|---|---|---|---|
| Geocoding — 461M+ addresses across 39 countries | ||||||||
| Forward geocoding | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Reverse geocoding | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Batch geocoding | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address autocomplete / validation / parsing | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cross-street, interpolation, nearby | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Places & POIs — 72M+ (Free tier eval cap: 20/day) | ||||||||
| Places search · nearby · brand · similar | 20/day | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Place details · categories · stats | 20/day | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Administrative Boundaries — 4.6M+ | ||||||||
| Postcode → polygon, one call NEW | 10/day | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Walk-up "part-of" admin chain (ancestors)1.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Walk-down sub-divisions (children) with optional polygons1.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Consolidated cities (NYC = 5 boroughs as one)1.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Three polygon precision tiers (low / med / full)1.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Division search · point-in-polygon · subtypes | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Population & Wikidata in boundary responses | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Multi-language division names (?lang= + ?include=other_names, ~78 langs avg)2.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Popularity ranking — rank.importance from Wikidata sitelinks (1.02M divisions)NEW | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address Tools & Utilities | ||||||||
| Distance calculation (/v1/distance) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Timezone lookup (/v1/timezone) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address validation (/v1/validate) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address parsing (/v1/parse) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address standardization (/v1/standardize) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address comparison (/v1/addresses/compare) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cross-street lookup (/v1/addresses/crossstreet) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Address-range interpolation (/v1/addresses/interpolate) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| IP Geolocation — submillisecond local lookup | ||||||||
| IP → country / region / city / county / ASN NEW | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Single, /me, and batch (≤1000) endpoints | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Confidence label + accuracy disclaimer for anycast/VPN | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Routing & Navigation — Valhalla engine, global OSM, 5 modes NEW · 2.4 | ||||||||
| Turn-by-turn routing — 2-25 waypoints, 5 modes (drive · truck · walk · bike · motorcycle) | — | — | — | — | — | ✓ | ✓ | ✓ |
| Truck attributes (height, weight, length, width, HAZMAT) for compliant freight routes | — | — | — | — | — | ✓ | ✓ | ✓ |
Time-aware ETA with departure_time + up to 3 alternate routes per request | — | — | — | — | — | ✓ | ✓ | ✓ |
| Multi-language turn-by-turn narration (25+ languages) | — | — | — | — | — | ✓ | ✓ | ✓ |
| Isolines (reachability polygons) — time or distance, up to 3 ranges per call | — | — | — | — | — | ✓ | ✓ | ✓ |
| N×M route matrix — up to 10,000 cells of distance + duration | — | — | — | — | — | ✓ | ✓ | ✓ |
| GPS map-matching — snap traces up to 1,000 points to the road network | — | — | — | — | — | ✓ | ✓ | ✓ |
| TSP-style stop optimization — up to 20 waypoints | — | — | — | — | — | ✓ | ✓ | ✓ |
| Snap-to-road locate — returns way_id, road class, surface, speed limit | — | — | — | — | — | ✓ | ✓ | ✓ |
| Per-point elevation lookup (up to 500 points) | — | — | — | — | — | ✓ | ✓ | ✓ |
| Maps & Visual — server-rendered map assets NEW · 2.6 | ||||||||
| Marker Icon API — 168 Font Awesome pin icons, any hex color, 4 sizes, 1× / 2× / 4× retina, PNG out NEW | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
1-year immutable Cache-Control — CDN absorbs repeated icon requests | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Vector Map Tiles — interactive tiles from the global OpenStreetMap planet, 0.25 credits/tile NEW | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 9 ready-made MapLibre GL styles (bright · dark · slate · basic · positron · fiord · liberty · toner · dark-matter) + self-hosted glyphs & sprites | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Static Maps — server-rendered map images (PNG / JPEG / WebP), marker + polyline overlays, retina @2x, 1 credit/render NEW | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Limits | ||||||||
| Daily request limit | 3,000 | 10,000 | 25,000 | 50,000 | 100,000 | 250,000 | Unmetered | Unmetered |
| Monthly request limit | 90K | 300K | 750K | 1.5M | 3M | 7.5M | Unmetered | Unmetered |
| Rate limit (req/sec) | 5 | 12 | 15 | 20 | 25 | 30 | 50+ | Custom |
| Batch size (records / request) | 1,000 | 1,000 | 1,000 | 1,000 | 1,000 | 1,000 | Custom | Unlimited |
| Countries (substantial address coverage) | 39 | 39 | 39 | 39 | 39 | 39 | 39 | 39 |
| Boundary lookups available | 276 | 276 | 276 | 276 | 276 | 276 | 276 | 276 |
| Commercial use | ✓ (no attribution) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Support | ||||||||
| Support level | Community | Priority email | Priority | Priority | Dedicated | Onboarding incl. | ||
| Uptime SLA | — | — | — | — | — | — | 99.9% (add-on) | Custom |
| HIPAA / SOC 2 add-on | — | — | — | — | — | — | Add-on | ✓ native |
| Air-gap / offline operation | — | — | — | — | — | — | — | ✓ |
Credit costs — every endpoint, one number
Most endpoints cost 1 credit per call. Map tiles are 0.25 (4 tiles = 1 credit). Postcode boundaries are 1 / 2 / 3 depending on polygon detail. Sync batches get a 50% discount. No hidden composites, no per-field add-ons.
| Endpoint family | Cost | Notes |
|---|---|---|
| Geocoding forward / reverse / autocomplete / validate / parse / standardize / cross-street |
1 credit | Flat — one credit per call. |
| Places (POI) 10 sub-endpoints: search, nearby, by-id, categories, stats, brands, chain, count, similar, random |
1 credit | Flat per call — no extra charge for limit>20. |
| Postcode boundaries polygon precision tiered |
1 / 2 / 3 | bbox / simplified / full polygon. Population & Wikidata included. |
| Divisions search · contains · ancestors · children · consolidated · by-id · hierarchy · stats · countries · subtypes · random |
1 credit | Flat per call. |
| Routing routing · isoline · matrix · map-match · locate · elevation · optimize_route |
1 credit / unit | 1 per waypoint pair · 1 per isoline range · max(N,M) · min(N,M,10) for matrix. |
| IP geolocation /v1/ip · /v1/ip/me |
1 credit | ASN block + confidence label + county overlay included. |
| Map tiles NEW vector .pbf · 9 MapLibre styles + sprites |
0.25 credit | 4 tiles = 1 credit. Free tier ≈ 12,000 tiles/day. |
| Static maps NEW server-rendered PNG / JPEG / WebP image |
1 credit | Flat 1 per rendered image — any size, format or overlays. |
| Utilities timezone · distance · marker icon |
1 credit | 1 per call. Match Geoapify (they don't ship timezone/distance). |
| Sync batch on any endpoint POST with array of inputs |
0.5 credit / item | 50% discount — pass N items in one request. |
Async batch /v1/batchjob-lifecycle wrapper |
0.5/item + 1 job | 0.5 per item + 1 credit job creation overhead. |
| Free utilities /health · /v1/coverage · /v1/tile/styles/*.json · /v1/icon/catalog |
0 credit | No charge — discovery + metadata endpoints. |
Estimate your monthly cost
Enter your typical monthly volume per category. We'll show the smallest tier that fits.
Common questions
What's the free tier good for?
Production-friendly evaluation. 3,000 general calls/day, plus per-feature eval caps: 10/day for the postcode → boundary endpoint and 20/day for places. Commercial use allowed, no attribution required.
How do you compare to other geocoders?
$5 less per bracket on every paid tier than the closest competitor. Population and Wikidata are included in every boundary call — most geocoders don't ship those. 6.7× faster at p50 in head-to-head benchmarks. Same daily volumes, same rate limits per tier.
What's the boundary endpoint cost?
Per call: 1 credit for bbox + population only, 2 credits for simplified polygon, 3 credits for full polygon. Free tier capped at 10 boundary calls/day. See /api/divisions for examples.
Monthly vs yearly?
Yearly is 10× the monthly price (≈17% off — "two months free"). Toggle above to switch the displayed prices.
Can I upgrade or downgrade?
Yes, at any time from your API keys dashboard. Upgrades are immediate; downgrades apply at the next billing cycle. Yearly plans prorate.
What if I outgrow API 250?
Move to Enterprise for dedicated infrastructure, unmetered requests, and SLA. Or self-host with our On-Premise Docker image.
Where can I see all endpoints?
Full interactive documentation at /api/docs. Source of truth: openapi.yaml.