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.