Rate Limits

Learn about API rate limits and how to handle them.

PlaceIQ enforces rate limits to ensure fair usage and API stability. Understand how limits work and how to handle them.

Rate Limits by Plan

PlanRequests/MinuteRequests/MonthBurst Limit
Starter601,00010
Growth30010,00050
Enterprise1,000100,000100
CustomCustomUnlimitedCustom

Rate Limit Headers

Every API response includes headers to help you track your rate limit status:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the limit resets
Retry-AfterSeconds to wait (only on 429 responses)

Example Response Headers

Bash
HTTP/2 200 OK
Content-Type: application/json
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1708675200

Handling Rate Limits

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

JSON
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Please wait before making more requests.",
    "status": 429,
    "details": {
      "limit": 60,
      "window": "60s",
      "retry_after": 45
    }
  }
}

Implementing Retry Logic

async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const retryAfter = response.headers.get("Retry-After") || 60;
      console.log(`Rate limited. Retrying in ${retryAfter}s...`);
      await new Promise(r => setTimeout(r, retryAfter * 1000));
      continue;
    }

    return response;
  }

  throw new Error("Max retries exceeded");
}

Best Practices

1

Cache responses

Truth Scores update every 4 hours. Cache responses to reduce API calls and improve performance.

2

Use webhooks for updates

Instead of polling, use webhooks to receive notifications when scores change.

3

Implement exponential backoff

When retrying after a rate limit, increase the delay between retries to avoid further limits.

4

Monitor your usage

Check the rate limit headers and your dashboard to track usage and plan upgrades.

Need Higher Limits?

If you consistently hit rate limits, consider upgrading your plan or contact us for a custom solution.