error field containing a machine-readable code and a human-readable message. Use the error codes for programmatic error handling.
HTTP Status Codes
| Code | Status | Description |
|---|---|---|
| 200 | OK | Request succeeded |
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Missing or invalid authentication |
| 403 | Forbidden | Valid auth but insufficient permissions |
| 404 | Not Found | Resource doesn’t exist |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server-side error |
Error Response Format
All errors return a JSON response with a structurederror object:
Error Codes Reference
Authentication & Authorization
| Code | HTTP Status | Description |
|---|---|---|
UNAUTHORIZED | 401 | Authentication required |
INVALID_TOKEN | 401 | Invalid or expired API token |
INSUFFICIENT_PLAN | 403 | Business plan or higher required |
FORBIDDEN | 403 | Access denied |
Not Found
| Code | HTTP Status | Description |
|---|---|---|
BRAND_NOT_FOUND | 404 | Brand not found or not accessible |
COMPETITOR_NOT_FOUND | 404 | Competitor not found |
SOURCE_NOT_FOUND | 404 | Source not found |
PROMPT_NOT_FOUND | 404 | Prompt not found |
ANSWER_NOT_FOUND | 404 | Answer not found |
RESOURCE_NOT_FOUND | 404 | Generic resource not found |
ENDPOINT_NOT_FOUND | 404 | API endpoint does not exist |
Bad Request
| Code | HTTP Status | Description |
|---|---|---|
INVALID_REQUEST | 400 | Invalid request format |
INVALID_PARAMETER | 400 | Invalid parameter value |
MISSING_PARAMETER | 400 | Missing required parameter |
INVALID_DATE_RANGE | 400 | Invalid date range |
INVALID_SORT_FIELD | 400 | Invalid sort field |
Rate Limiting
| Code | HTTP Status | Description |
|---|---|---|
RATE_LIMIT_EXCEEDED | 429 | Rate limit exceeded |
Server Errors
| Code | HTTP Status | Description |
|---|---|---|
INTERNAL_ERROR | 500 | Internal server error |
Common Errors
Authentication Errors (401)
Bearer prefix.
Permission Errors (403)
Not Found Errors (404)
Rate Limit Errors (429)
X-RateLimit-Reset timestamp, then retry. See Rate Limits.
Server Errors (500)
Handling Errors
JavaScript/TypeScript Example
Python Example
Need Help?
If you encounter persistent errors or unexpected behavior, contact us at [email protected] with:- The endpoint you’re calling
- The full error response
- Your request headers (without the token)
- The timestamp of the request

