Rate limits & units
Two separate limits: units per month (your quota) and requests per minute (your rate).
Units
Each op declares what it costs. Searching and browsing are free; a polygon is one unit; a described area is 50. The same op costs the same on every surface (REST, MCP, CLI).
| Op | Cost |
|---|---|
search_boundaries | Free |
get_boundary | 1 unit |
export_boundary | 1 unit |
reverse_boundaries | 1 unit |
list_children | Free |
contains_points | 1 unit per 1,000 points (up to 10,000 per call) |
union_boundaries | 1 unit per boundary (up to 50) |
create_area | 50 units |
Per plan
| Plan | Price | Units / month | Requests / minute |
|---|---|---|---|
| No key | — | Public ops only | 20 per IP |
| Free | $0 | 1,000 | 60 |
| Pro | $29 | 50,000 | 600 |
| Business | $199 | 1,000,000 | 3,000 |
| Enterprise | Custom | Unlimited | 10,000 |
Headers
Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (seconds until the window resets). Your month's usage is in GET /v1/account and the dashboard.
When you hit a limit
- Too fast: 429 rate_limited with
retry_after. Wait that many seconds and retry. - Out of units: 402 quota_exceeded. Free ops keep working; upgrade at /pricing or wait for the 1st.
Batch where you can: one contains_points call checks up to thousands of points; one union merges dozens of boundaries.