Errors

The API uses standard HTTP status codes. Error bodies always look like { "detail": "<human-readable message>" }.

StatusMeaningWhen
200OKSuccess
400Bad RequestInvalid query parameters (e.g. bad state code, bad window size)
401UnauthorizedMissing, invalid, or revoked API key
404Not FoundCompany, industry, or state not in the dataset
429Too Many RequestsPer-hour rate limit OR monthly quota exceeded. Check Retry-After.
500Internal Server ErrorOur problem. Retry with exponential backoff; contact support if persistent.
503Service UnavailableRate-limit service unreachable. Retry after a few seconds.

Retry policy

For 429 and 503, retry with exponential backoff (e.g. 1s, 2s, 4s) up to 4 attempts. For 401, do NOT retry — fix the key.