Skip to main content

Rate limits

Limits are applied per API key.
API EndpointsLimitDefaultResets
General AvailabilityRequests per minute60Rolling 60-second window
Requests per day10,000Midnight UTC
Research PreviewRequests per second5Rolling window
Exceeding either limit returns 429 Too Many Requests. Use exponential backoff before retrying:
import time
import requests

def call_with_backoff(url, headers, max_retries=5):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code != 429:
            return response
        wait = 2 ** attempt  # 1s, 2s, 4s, 8s, 16s
        time.sleep(wait)
    return response

Track usage with response headers

Every response includes rate limit headers:
HeaderDescription
X-RateLimit-LimitMax requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets
Read X-RateLimit-Reset before retrying to avoid sending requests that will immediately fail.

Error codes

StatusCauseFix
400 Bad RequestMalformed request body or missing required parametersCheck required fields and data types
401 UnauthorizedMissing or invalid API keyVerify the x-key header is present and the key is correct
403 ForbiddenKey is valid but not authorized for this endpointCheck your account tier and key permissions
404 Not FoundEndpoint or resource doesn’t existCheck the URL and endpoint version (/v1/ vs /v2/)
422 Validation ErrorRequest parsed correctly but failed field validationFix the fields listed in the detail array (see below)
429 Too Many RequestsRate limit exceededWait for the window to reset; use exponential backoff
500 Server ErrorUnexpected error on our endRetry with backoff; contact support@revenuebase.ai if it persists

Parse a 422 Validation Error

Validation errors return a detail array identifying each failing field:
{
  "detail": [
    {
      "loc": ["body", "email"],
      "msg": "value is not a valid email address",
      "type": "value_error.email"
    }
  ]
}
loc identifies where the problem is (e.g. ["body", "email"]), and msg tells you what’s wrong. Fix each entry in the array and retry.

Next steps

Verify email addresses

Validate emails in real time or in batch.

Match and discover companies

Resolve company names and search by keyword.