Skip to main content
Errors use a stable JSON envelope:
Use error.code for programmatic handling. Use error.message for logs and operator-facing diagnostics.

Status codes

Rate limits

Rate limits are enforced at the API account level. All keys on the same account share the same limits. Successful responses include rate-limit headers:
Rate-limited responses use HTTP 429 and include Retry-After when available:

Retry pattern

Keep retries bounded. Visor endpoints are read-only, but repeated successful requests can still be billable.

Billing and failed requests

Prices are per successful request, not per returned row. Successful zero-result searches are billable. Validation, authentication, permission, billing, rate-limit, and platform errors are not successful paid responses. Detail 404 not_found_error responses are not billable.

Common validation fixes

CLI compatibility errors

Most CLI releases follow the public API contract. Old-but-compatible releases receive advisory update signals. If a CLI release is known to send requests the platform cannot safely serve, the API returns 400 client_error with code: "unsupported_cli_version" and targeted update instructions in update_url and update_command.