error.code for programmatic handling.
All non-2xx responses return the same error envelope:
{
"id": "req_abc123",
"error": {
"code": "invalid_parameter",
"message": "date_range end date must be on or after the start date",
"param": "date_range",
"type": "invalid_request_error"
}
}
Error fields
| Field | Description |
|---|---|
id | Request ID matching X-Request-Id |
error.code | Machine-readable error code |
error.message | Human-readable error description |
error.param | Invalid request field. Omitted when not applicable |
error.type | Error category |
HTTP status codes
| Status | Meaning |
|---|---|
200 | Request succeeded |
400 | Request validation failed |
401 | Missing or invalid API key |
403 | Insufficient credit or credit limit exceeded |
404 | Endpoint not found |
405 | HTTP method not allowed |
415 | Missing or unsupported Content-Type |
429 | Rate limit exceeded |
500 | Internal server error |
502 | Upstream search service unavailable |
504 | Upstream search service timed out |
Error codes
| Code | Typical status | Type |
|---|---|---|
missing_query | 400 | invalid_request_error |
invalid_parameter | 400 | invalid_request_error |
invalid_date_range | 400 | invalid_request_error |
invalid_domain | 400 | invalid_request_error |
too_many_domains | 400 | invalid_request_error |
unsupported_locale | 400 | invalid_request_error |
invalid_schema | 400 | invalid_request_error |
missing_api_key | 401 | authentication_error |
invalid_api_key | 401 | authentication_error |
insufficient_credit | 403 | invalid_request_error |
credit_limit_exceeded | 403 | invalid_request_error |
not_found | 404 | invalid_request_error |
method_not_allowed | 405 | invalid_request_error |
rate_limit_exceeded | 429 | rate_limit_error |
server_error | 500 | server_error |
service_unavailable | 502 | server_error |
timeout | 504 | server_error |