Rate Limits
Current behavior and recommended client strategies.
Current Behavior
As of March 1, 2026, the public beta API does not publish per-key limit headers.
You should still implement safe client behavior because protective throttling may be applied during abusive traffic spikes.
Recommended Client Controls
- Add request timeouts.
- Use retries only for transient failures (
429,5xx). - Cache country list responses using
ETagandmax-age. - Avoid request bursts on startup.
Retry Template (JavaScript)
async function requestWithBackoff(url, init, maxAttempts = 4) {
let delayMs = 300;
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
const response = await fetch(url, init);
if (response.ok) return response;
const retryable = response.status === 429 || response.status >= 500;
if (!retryable || attempt === maxAttempts) return response;
await new Promise((resolve) => setTimeout(resolve, delayMs + Math.random() * 200));
delayMs *= 2;
}
}Future Contract
When formal limits are enabled, this page will include exact quotas and response headers.