Error Codes
Unknown query parameters return 400. If you pass a parameter the endpoint doesn't recognize (a typo like ?nme= instead of ?name=, or a guess like ?q= on an endpoint that uses ?keywords=), we respond with 400 Bad Request and list the valid parameter names for that endpoint in the error detail. This is deliberate: silently dropping an unrecognized filter would return unfiltered results to a caller who thought they were filtering, which has caused real bugs in customer integrations. Stick to the documented parameter names listed under each endpoint above.
| Code | Description | Common Causes |
|---|---|---|
| 400 | Bad Request | Invalid query parameters, unknown query parameter names, or malformed request |
| 401 | Unauthorized | Missing or invalid API key |
| 402 | Payment Required | Either a Pro capability (Companies, Contacts, Vendor Risk, Recompetes, Teaming, pricing benchmark and position) used without Pro, or a page size above your plan's max (Free 100, paid 1,000) |
| 403 | Forbidden | Not used for entitlements. Page size over the plan cap returned 403 until 2026-09-12; it is now 402, the same as every other entitlement |
| 404 | Not Found | Resource (notice_id) doesn't exist |
| 422 | Unprocessable Entity | A parameter fails validation (e.g. limit below 1, negative offset, missing required since on delta, within_days out of range). A limit above your plan maximum is a 402, not a 422. |
| 429 | Too Many Requests | Rate limit exceeded for your plan |
| 500 | Internal Server Error | Server-side error (contact support) |