Rate Limits
Request rate limits for free and paid tiers.
Rate Limits
Rate limits are enforced per account (across all API keys), not per key.
Default limits
| Tier | Requests per minute | Concurrent requests |
|---|---|---|
| Free | 60 | 10 |
| Paid | 300 | 50 |
Response headers
Every response includes rate limit headers:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1710504120X-RateLimit-Limit— Maximum requests per minute for your tierX-RateLimit-Remaining— Requests remaining in the current windowX-RateLimit-Reset— Unix timestamp when the window resets
Exceeding the limit
When you exceed the rate limit, the API returns 429 Too Many Requests with a Retry-After header:
{
"errors": [{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. 60 requests per minute allowed on the free tier.",
"suggestion": "Wait 12 seconds or upgrade to a paid plan for 300 req/min."
}],
"meta": { "request_id": "..." }
}Best practices
- Check
X-RateLimit-Remainingbefore making requests to avoid hitting the limit - Respect
Retry-After— back off for the indicated number of seconds - Batch with
/v1/chart— Get positions and houses in one request instead of two - Cache results — Planetary positions don't change between requests for the same timestamp