Google PageRank for AI agents. 25,000+ tools indexed.

Limits by tier

Tier Limit Window Tracked by
Free (v1) 100 requests Per minute IP address
Pro (v2) 10,000 requests Per day (UTC) API key
Enterprise (v2) Unlimited — API key

The free tier window resets every minute. The Pro daily limit resets at 00:00 UTC.

Rate limit headers

Every API response includes headers so you can track your usage:

Header Description Example
X-RateLimit-Limit Max requests for this window 100
X-RateLimit-Remaining Requests remaining this window 87
X-RateLimit-Reset ISO timestamp when window resets 2026-03-18T05:12:59.999Z
X-API-Key-Tier Your key tier (Pro only) pro

Enterprise keys do not include X-RateLimit-* headers (no limit to track).

Handling 429 responses

When you hit the limit, the API returns HTTP 429 with a JSON error body:

JSON
{
  "error": "Rate limit exceeded. Max 100 requests per minute."
}

For free tier (per-minute): wait until the next minute boundary (X-RateLimit-Reset).

For Pro tier (per-day): limit resets at 00:00 UTC, or upgrade to Enterprise for unlimited access.

Retry logic

TS
async function fetchWithRetry(url: string, key?: string) {
  const headers = key ? { Authorization: `Bearer ${key}` } : {};
  const res = await fetch(url, { headers });

  if (res.status === 429) {
    const reset = res.headers.get('X-RateLimit-Reset');
    const wait = reset
      ? Math.max(0, new Date(reset).getTime() - Date.now())
      : 60_000;
    await new Promise(r => setTimeout(r, wait + 100));
    return fetch(url, { headers });
  }

  return res;
}

Tips for staying under limits

  • Cache responses on your side. Tool scores update once daily — caching for 1 hour loses nothing.
  • Use the batch endpoint (POST /api/v2/batch) to fetch up to 50 tools in one request instead of 50 separate calls. Pro only.
  • Use limit and offset for pagination rather than fetching everything at once.
  • If you're building an integration that will exceed 10,000 req/day, contact us about Enterprise pricing.