RateFlow API enforces two levels of rate limiting:
Both limits are enforced simultaneously. A request must pass both checks to succeed.
Every successful API response includes rate limiting headers:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum requests allowed per minute on your plan |
X-RateLimit-Remaining |
Requests remaining in the current 60-second window |
X-RateLimit-Reset |
Unix timestamp when the current per-minute window resets |
X-Request-ID |
Unique identifier for the request (useful for support) |
When you exceed the monthly quota, the response includes:
| Header | Description |
|---|---|
Retry-After |
Number of seconds to wait before retrying |
| Plan | Requests / Month | Per-Minute Limit | Historical Access |
|---|---|---|---|
| Free | 2,000 | 100 | No |
| Pro | 50,000 | 1,000 | Yes (1 year) |
| Business | 300,000 | 10,000 | Yes (unlimited) |
{info} Need higher limits? Contact us for a custom Enterprise plan.
When you exceed your rate limit, the API returns a 429 Too Many Requests response:
{
"type": "https://rateflowapi.com/errors/quota-exceeded",
"title": "Quota Exceeded",
"status": 429,
"detail": "You have exceeded your monthly API quota."
}
Tips to avoid rate limiting:
/v1/rates/latest?base=EUR endpoint to get all rates in one call instead of individual pair requests.