Africa API

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.

  1. Add request timeouts.
  2. Use retries only for transient failures (429, 5xx).
  3. Cache country list responses using ETag and max-age.
  4. 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.

On this page