---
title: "Historical odds snapshots"
method: GET
path: "/v1/sports/{sport_key}/odds/history"
tags: ["Sports"]
---

# Historical odds snapshots

`GET /v1/sports/{sport_key}/odds/history`

## Request

- Base URL: `https://api.puntersedge.online`
- URL: `https://api.puntersedge.online/v1/sports/{sport_key}/odds/history`
- Auth: API key in header `X-API-Key`

Cost: 5 credits. Paid tiers only — 403 on Free and Hobby.

Snapshots of one market, newest first, 500 per page (`offset`), each about ten minutes
apart per bookmaker and only while the fixture has not started — so the last snapshot
before `commence_time` is the closing price, and /v1/sports/{sport_key}/closing-lines
returns that row per book with the consensus already worked out.

`home_point`/`away_point` are the line the prices are attached to: each side's handicap
on the spreads market (-6.5 / +6.5) and the total on the totals market, where Over is
stored as the home side and Under as the away side. Lines exist from 2026-09-29; rows
recorded before that carry prices only. AFL and AFLW history is kept permanently; every
other sport is a rolling 90-day window.

An unknown `sport_key`, or a date range that runs backwards, returns an error and costs
nothing.

## Path parameters

- `sport_key` string, required

## Query parameters

- `from` string, nullable: ISO date/time; defaults to 7 days ago
- `to` string, nullable: ISO date/time; defaults to now
- `bookmakers` string, nullable: Comma-separated bookmaker keys, case-insensitive. An unrecognised key is a free 422 naming the valid keys, so a typo costs nothing.
- `market` string: Market type: h2h (default), spreads or totals.
- `offset` integer

## Headers

- `X-API-Key` string
- `X-RapidAPI-Proxy-Secret` string

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Missing or invalid API key. Send `X-API-Key`. See https://puntersedge.online/developers/errors
- `402`: Monthly credit allowance exhausted for this plan. Upgrade at https://puntersedge.online/api/pricing
- `422`: Validation Error
- `429`: Rate limit exceeded for this plan. Honour the `Retry-After` header (seconds) before retrying. See https://puntersedge.online/developers/rate-limits
- `500`: Unexpected server error. Safe to retry with backoff.

---

[API](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api.md) · [All operations](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/llms.txt) · [OpenAPI document](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/revisions/f35b6aab1946?raw)
