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
Standard
- Small to medium production use
- Larger bounding boxes
- Higher rate limits
- Dedicated support
Premium
- Medium to large scale projects
- Custom SQL queries
- Everything in Standard
- Priority support
Enterprise
- Dedicated PostGIS instances
- Custom rate limits
- Forward deployed integrations
- Gauranteed consulting services & support
How query credits work
Each request costs a certain amount of credits. If it exceeds your per-request cap it is rejected to protect your quota.
Num of Monthly Requests *
1 request is typically around 2 to 50 credits, so 4 000 000 credits/month is roughly 80k to 2M requests/month depending on query complexity.
Spatial area
Larger bounding boxes and radii cost more. A 1° by 1° tagged bbox costs roughly 10x more than 0.1° by 0.1°.
Tag filters
Specific tag filters (amenity=restaurant) reduce cost. No tags at all costs 6x more because the full dataset must be scanned.
Element type and shape
Cost scales linearly with the number of tables queried. This is determined by query OSM element type (node, way, or relation) and optional shape (line and polygon) to narrow geometry.
Result limit
Each additional 800-row block adds one unit multiplier. Keeping limit at 800 or below avoids a surcharge.
Cost preview
Use GET /v2/osm_features/cost with the same parameters to see the unit estimate and hints before committing a request.
Frequently asked questions
What is a query unit?
A query unit is an internal cost credit, not a request count. Cost is deterministic and estimated before execution based on search area, filters, element types, and limit. Small, selective queries are usually 1-10 units; broad scans can cost much 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?
Without a tag filter the server must examine every OSM feature in the search area, which is far more expensive than a selective index scan. Tag-free bounding boxes also have tighter area limits to protect the service.
Are negative tag filters (not_tags) expensive?
Yes. A not_tags-only query has no positive index to exploit and behaves like a tag-free scan. Use at least one positive tag= filter alongside not_tags to reduce cost.
What happens if I exceed my limit?
Requests that would exceed your monthly unit budget return HTTP 429. Requests that exceed the per-request unit cap are rejected before touching the database. Per-request caps are 5% of monthly units on Free and 1% on paid tiers. You can upgrade your tier at any time from the dashboard.
Can I self-host MapLark?
Open standards (GeoJSON + OSM tags) and our client SDKs are open source today. A self-hostable server for your own PostGIS is coming; contact us for Enterprise deployment support in the meantime.
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.