API Reference
Rate Limits
Rate limits control throughput: how many requests per second your account can make. They are separate from your monthly credits quota.
Limits by plan
| Plan | Requests per second |
|---|---|
| Free | 1 |
| Pro 200K | 5 |
| Pro 500K | 15 |
| Pro 1.5M | 25 |
| Pro 3.5M | 50 |
| Enterprise | Custom |
Requests made without an API key are limited to 5 per hour.
The limit applies to your account as a whole. Every API key draws on the same limit, including keys belonging to different environments.
Response headers
| Header | Returned on | Description |
|---|---|---|
X-RateLimit-Limit |
All responses except a throughput 429 |
Requests allowed in the current window |
X-RateLimit-Remaining |
All responses except a throughput 429 |
Requests still available in the current window |
Retry-After |
Throughput 429 responses |
Seconds to wait before the limit resets |
Checking your limit
Your account's limit is returned by the status endpoint as account.plan.rate_limit:
curl -X GET "https://api.usercheck.com/status" \
-H "Authorization: Bearer YOUR_API_KEY"
Exceeding the limit
Requests beyond your limit return 429 Too Many Requests:
{
"status": 429,
"error": "Too many requests"
}
The response carries a Retry-After header giving the number of seconds until the limit resets.
Ignoring 429 responses and continuing to send at the same rate blocks your IP address for 5 minutes. Waiting for the interval in Retry-After avoids this.
A 429 with the same body, but no Retry-After header, means your monthly credits are used up rather than your throughput limit.