Resources
Errors
Every error has the same JSON shape, and none of them are charged.
Errors return Content-Type: application/problem+json in the standard
problem details format:
{
"type": "https://companyspec.com/docs/errors/validation-error",
"title": "Validation error",
"status": 422,
"detail": "employees[0] must be one of: 1-10, 11-50, 51-200, 201-500, 501-1K, 1K-5K, 5K-10K, over-10K.",
"errors": [{ "field": "employees[0]", "message": "Unknown value '10-50'" }],
"request_id": "req_01JC8X4T2M"
}type: identifies the error; match on the last part (validation-error).detail: a human-readable explanation.errors: only on422, one entry per invalid field.available_page_types: only onpage-not-available.request_id: include it when you contact support.
| Status | type | When | Charged? |
|---|---|---|---|
| 400 | bad-request | The body isn't valid JSON, or a parameter has the wrong type | No |
| 401 | unauthorized | Missing, invalid or revoked API key | No |
| 402 | allowance-exhausted | The allowance this request needs (named in detail) is at zero | No |
| 403 | forbidden | Your account is suspended (for example for bulk copying, see Fair use) | No |
| 404 | not-found | The company or resource doesn't exist | No |
| 404 | page-not-available | We don't have that page type for the company | No |
| 422 | validation-error | Valid JSON, but a value isn't allowed (unknown filter value, out of range) | No |
| 429 | rate-limited | Too many requests. Wait for Retry-After seconds | No |
| 500 | internal-error | Our fault. Retry with backoff | No |
Example 402:
{
"type": "https://companyspec.com/docs/errors/allowance-exhausted",
"title": "Allowance exhausted",
"status": 402,
"detail": "You have used all 2,000 discoveries for the billing month ending 2026-12-02.",
"request_id": "req_01JC8X4T2M"
}Questions? Email support@companyspec.com with the request_id.