Historical

Get Historical Odds

Get historical odds at a point in time.

Credits: 10 × billable markets × regions. This archive holds moneyline, spread and total columns and nothing else, so h2h, spreads and totals are the only keys that can be billed here. outrights, the alt ladder and every prop key are accepted, return nothing from this archive, cost zero, and come back named in x-markets-unservable with the archive endpoint that does hold them in x-markets-served-elsewhere (prop history is /v1/historical/sports/{sport_key}/closing-odds?markets=<key>; period history is /v1/historical/sports/{sport_key}/period_markets).

iter_058 #463 — date= vs dateFrom=&dateTo= return different rows for the same date. The single-date path (?date=YYYY-MM-DD) reads from the long-term archive and includes the _an "anchored" closing-line variants (e.g. draftkings_an, fanduel_an, bet365_an) alongside the regular bookmaker rows. The range path (?dateFrom=...&dateTo=...) reads from the rolling snapshot table and surfaces only the bare bookmaker keys (without _an). For consistent backtest joins, prefer ?date= when you need closing-line anchors. See /v1/bookmakers/{key}.historical_variants for the suffix convention.

date omitted returns the latest snapshot (equivalent to current /v1/sports/{sport_key}/odds but routed through the historical pricing). This matches the UX of /closing-odds which doesn't require an explicit date either - removes the 422-on-missing-param trap that customers hit when they don't read the schema first.

get/v1/historical/sports/{sport_key}/odds

Request

  • Base URL: https://parlay-api.com
  • URL: https://parlay-api.com/v1/historical/sports/{sport_key}/odds
  • Auth: one of:
    • API key in header X-API-Key
    • API key in query parameter apiKey
    • HTTP bearer

Path parameters

sport_keystring required

Query parameters

datestring nullable

ISO 8601 timestamp OR YYYY-MM-DD date. Omit to get the most recent snapshot. See doc note below for behavior.

regionsstring

Comma-separated: us,us2,uk,eu,au. Default us.

Comma-separated: us,us2,uk,eu,au. Default us. Repeating this parameter is the same as the comma form: ?markets=h2h&markets=spreads and ?markets=h2h,spreads are one request, billed identically, and return the union. A value repeated across occurrences is counted once.

marketsstring

Comma-separated: h2h,spreads,totals. Default h2h. Those three are the whole servable list here; any other key is answered but billed zero and routed by the x-markets-served-elsewhere header.

Comma-separated: h2h,spreads,totals. Default h2h. Those three are the whole servable list here; any other key is answered but billed zero and routed by the x-markets-served-elsewhere header. Repeating this parameter is the same as the comma form: ?markets=h2h&markets=spreads and ?markets=h2h,spreads are one request, billed identically, and return the union. A value repeated across occurrences is counted once.

oddsFormatstring

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.