---
title: "Closing lines across a sport and date range"
method: GET
path: "/v1/odds/closing-lines"
tags: ["odds"]
---

# Closing lines across a sport and date range

`GET /v1/odds/closing-lines`

## Request

- Base URL: `https://api.bigballsdata.com`
- URL: `https://api.bigballsdata.com/v1/odds/closing-lines`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Closing lines (`snapshot_type='closing'`) for every match of a sport in a
kickoff date range, newest kickoff first, with sportsbook names resolved.
Requires an Edge plan or higher (Free / Solo / Trio receive 403). Each row
carries an evidence-based `verification` field from two-source
cross-checking: `two_source_agreed`, `two_source_diverged` (with
`divergence_categories`), `single_source`, or `unverified`; a "verified"
status requires a real comparison, never row-absence, and `verified_at`
dates it (null when nothing was compared); a comparison describes only the
snapshot whose line it compared, within 48h. See /v1/odds/historical.
Response:
`{ data: [{ match_id, sport, league, home, away, kickoff_utc, snapshot_at,
market, book: { id, name, logo_url }, line, source, fetched_at,
verification, verified_at, divergence_categories? }], meta: { total,
limit, offset, snapshot_types_present, generated_at } }`.

## Query parameters

- `sport` string, required
- `date_from` string, date, required
- `date_to` string, date, required
- `limit` integer
- `offset` integer

## Response `200`

ok

- object

## Other responses

- `400`: invalid query
- `403`: plan_required (Edge or higher)

---

[API](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api.md) · [All operations](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/revisions/31fb54ac414e?raw)
