All limits are enforced perapi_key
and per endpoint.
Exceeding a limit returns 429 Too Many Requests.
Hourly endpoints
Endpoint | Method | Window | Limit |
---|---|---|---|
/v1/credits | GET | 1 hour | 500 / hour |
/v1/apollo/status/{run_id} | GET | 1 hour | 1000 / hour |
/v1/apollo/export/{run_id} | GET | 1 hour | 1000 / hour |
/v1/apollo/runs | GET | 1 hour | 500 / hour |
Response headers (hourly endpoints)
x-rate-limit-hourly
— max requests allowed this hourx-hourly-requests-left
— remaining requests in the current hourx-ratelimit-reset
— UNIX epoch seconds when the hour resets
Example
x-rate-limit-hourly: 500
x-hourly-requests-left: 472
x-ratelimit-reset: 1723870800
Scrape endpoint (plan-based, 24-hour window)
Plan | Limit (per 24 hours) |
---|---|
Free | 20 / 24h |
Starter | 50 / 24h |
Growth | 70 / 24h |
Scale | 100 / 24h |
Pro | 150 / 24h |
Enterprise | 200 / 24h |
Ultimate | 250 / 24h |
Response headers (/v1/apollo/scrape
)
x-rate-limit-24-hour
— max requests allowed in the current 24-hour windowx-24-hour-requests-left
— remaining requests in the current 24-hour windowx-ratelimit-reset
— UNIX epoch seconds when the 24-hour window resets
Example
x-rate-limit-24-hour: 50
x-24-hour-requests-left: 38
x-ratelimit-reset: 1723957200
429 example
{
"error": "Rate limit exceeded",
"message": "Too many requests. Please try again later.",
"resetTime": 42
}
Notes
- Each HTTP call counts toward the limit; pagination (
limit
,offset
) does not bypass limits. - Poll
/v1/apollo/status/{run_id}
responsibly (e.g., every 10–30 seconds). - Contact support to request higher limits for production workloads.