Errors
Status codes, what causes them, and what to do.
What your agent reads
Errors return a JSON body with a machine-readable `code` and a human-readable message. | Status | Code | Cause | What to do | | --- | --- | --- | --- | | `400` | `VALIDATION_ERROR` | A parameter is missing or invalid | Fix the request body. Not charged. | | `401` | `UNAUTHORIZED` | Missing or invalid API key | Check the `Authorization: Bearer` header. Not charged. | | `402` | `INSUFFICIENT_CREDITS` | Balance too low for this call | Top up or upgrade in Billing. | | `429` | `RATE_LIMIT_EXCEEDED` | Too many requests | Wait `Retry-After` seconds, then back off. | | `502` | `SEARCH_UNAVAILABLE` | An upstream failed | Credits are refunded. Retry with backoff. | Each endpoint page lists the errors specific to it.
Errors return a JSON body with a machine-readable code and a human-readable message.
| Status | Code | Cause | What to do |
|---|---|---|---|
400 | VALIDATION_ERROR | A parameter is missing or invalid | Fix the request body. Not charged. |
401 | UNAUTHORIZED | Missing or invalid API key | Check the Authorization: Bearer header. Not charged. |
402 | INSUFFICIENT_CREDITS | Balance too low for this call | Top up or upgrade in Billing. |
429 | RATE_LIMIT_EXCEEDED | Too many requests | Wait Retry-After seconds, then back off. |
502 | SEARCH_UNAVAILABLE | An upstream failed | Credits are refunded. Retry with backoff. |
Each endpoint page lists the errors specific to it.
Let your agent build it
Paste one prompt into Claude Code, Cursor, Codex or Windsurf. It installs Keiro MCP, reads these docs and writes the integration against the real API.