Skip to main content

Rate Limits

Requests are counted per API key over a rolling 24-hour window. Unauthenticated requests (development only) are limited per IP.

Tiers

TierRequests / 24hTypical use
Free100Evaluation and prototypes
Basic5,000Production apps getting started
Pro20,000Growing applications
Enterprise100,000+Banks and large platforms

Headers

Every response includes your current quota state:

HeaderMeaning
X-RateLimit-LimitMax requests allowed in the window
X-RateLimit-RemainingRequests left in the window
X-RateLimit-ResetUnix timestamp when the window resets

Exceeding the limit

When you exceed your quota the API returns 429 Too Many Requests:

{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "rate limit exceeded for this key"
}
}

Best practices

  • Cache aggressively. Coordinates and hex codes are stable — a hex code for a coordinate never changes. Most lookups can be cached client-side for days.
  • Batch instead of looping. Use the bulk endpoints (e.g. POST /v2/hexcode/bulk) for large sets instead of one request per item.
  • Back off on 429s. Respect the reset time in X-RateLimit-Reset before retrying.
  • Monitor your usage. GET /v2/usage shows consumption against your plan.

Additional throttles

Some endpoints carry per-route throttles (e.g. routing and navigation are throttled per IP to protect shared infrastructure). These are documented on the individual endpoints in the API Reference.