Simple, usage-based pricing
Free forever with no commitment. Scale as you grow. Billed by query credits, not raw request counts.
Free
- Generous free tier
- Hobby projects
- Community support
- Usage analytics
Starter
- Side projects and small apps
- Larger bounding boxes than Free
- Higher rate limits
- Email support
Pro
- Good for production use
- Everything in Starter
- Larger bounding boxes
- Dedicated support
Business
- Large scale projects
- Custom SQL queries
- Everything in Pro
- Priority support
New here? Use code WELCOME50 at checkout for 50% off your first month.
How query credits work
Credits measure the work a query does, not the number of HTTP calls. You are billed after the response. Small tagged lookups are cheap. Large or slow queries cost more.
Num of Monthly Requests *
The free monthly budget is meant for hobby use. Small tagged queries use a few credits each. Full-size tiles use more.
Spatial area
A larger window usually returns more features, so the tile costs more. Area itself is not the billing formula. Tier bbox and radius caps still apply.
Tag filters
Specific tag filters (amenity=restaurant) usually return fewer features, so they cost less. A query that takes a long time can still cost more. Tag-free queries have tighter bbox and radius caps.
Element type and shape
Querying more OSM element types (node, way, relation) can return more rows. Use type and way_shape (line or polygon) to narrow the tile.
Result limit
limit caps how many features come back. A match set larger than your plan max_limit is HTTP 400 result_too_large, with no feature body. That attempt is still billed.
Query cost
Billed after the response. Larger results, longer runtime, and heavier responses cost more, even when few rows come back.
Frequently asked questions
What is a query unit?
A query unit is a credit for server work, not a request count. You are billed after each query. Bigger, slower, or heavier responses cost more.
How do spatial limits work?
Spatial limits scale by tier and query selectivity. More selective tagged queries can cover larger areas, while broad tag-free scans have tighter caps to keep performance predictable for all users.
Why does a tag-free scan cost more?
Tag-free tiles usually return more features, so they cost more. They also have tighter bbox and radius caps than tagged queries. A tagged query that takes a long time can still cost more than a small result.
Are negative tag filters expensive?
A query that only excludes (tags=!...) is treated as tag-free for spatial caps. Add at least one positive tags= filter to use the wider tagged window.
What happens if I exceed my limit?
Free plan: once the monthly credits run out, requests keep working but are throttled to 1 req/s (burst of 2), a concurrency limit of 1 and 7,000 rows per response, until the month resets or you upgrade. HTTP 429 means you hit that cap. Paid plans keep serving past the included credits and bill overage per 1,000 credits.
Why use the API instead of running my own PostGIS?
Even running one theme like buildings means hundreds of gigabytes of disk, a 24/7 server, and an import that takes days, plus indexes, updates, backups and an API on top. MapLark has that all built-in plus more for free. If you need arbitrary SQL joins across a whole dataset, contact us.
What data is available?
All OpenStreetMap element types for the entire planet.
Is the data open?
Yes. OSM data is available under the Open Database Licence (ODbL). You must attribute © OpenStreetMap contributors in any public-facing usage.
Do I need a credit card for the free tier?
No. Sign up with email or Google, pick a tier, and start making requests immediately.