OpenOddsAPI API Get started

Platform

Errors

Errors are returned as a structured envelope with a machine-readable code.

Error envelope

Every non-2xx response carries a JSON body with an error object: a stable code, a human-readable message, and a request_id you can quote when contacting support.

JSON
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Retry after the window in the Retry-After header.",
    "request_id": "req_01h2x9k4m7q8"
  }
}

HTTP status codes

StatusCodeWhen
400invalid_requestMalformed JSON, bad query values, or missing required parameters.
401authentication_failedMissing, malformed or revoked API key.
403forbiddenKey is valid but not permitted for this sport or endpoint.
404sport_not_foundUnknown sport key.
404event_not_foundUnknown event ID.
422market_not_supportedThe market key is not offered for this sport.
429rate_limit_exceededRequest rate exceeded. Honor Retry-After.
500internal_errorUnexpected server error. Retry with backoff.
503upstream_unavailableOne or more bookmaker feeds are unreachable.
NOTEMatch on code, not the HTTP status alone: two different 404s (sport_not_found vs event_not_found) mean different things to a caller.

Retrying

Retry 429 only after Retry-After. For 500 and 503, retry with exponential backoff starting at 1 second, doubling up to 30 seconds, and cap total retries at 5.

OpenOddsAPI API — Documentation v1Examples use illustrative data