← Back to API docs

GET/api/v1/matches/odds/live

Get live odds (special package)
Odds packageactivebetacoreAvailable (scoped)

Description

Returns odds, half-time odds and 1X2 bookmaker odds that changed in real time; matches without an odds change are not returned
Only changes of the last 60 seconds are returned; keep the changes on your side

Odds range: opening line, pre-match line, in-play line
The first line of each market from each bookmaker is the opening line; from the opening line to kick-off it is the pre-match line; after kick-off it is the in-play line

Half-time odds range: opening line, pre-match line, in-play line
The first line of each market from each bookmaker is the opening line; from the opening line to kick-off it is the pre-match line; after kick-off it is the in-play line

1X2 bookmaker odds range: opening line, pre-match line
The first line of each market from each bookmaker is the opening line; from the opening line to kick-off it is the pre-match line

Suggested frequency: once every 3 seconds

Access

Request
GET https://api.sports.csap.ai/api/v1/matches/odds/live
Auth
Header X-API-Key: <your key> (Authorization: Bearer <key> also works; ?key= is still accepted but discouraged, because the key ends up in URLs and logs)
External keys
Available (scoped)External keys can call it, but only data inside the open scope is returned.
Rate limits
3000 per minute · 200000 per day · Set per key (rate_per_min and quota_daily returned by /api/v1/account are authoritative; the numbers above are a trial key's). Beyond them the answer is 429. In addition, heavy requests such as whole-table snapshots and statistics lists without a match id are processed 2 at a time for the whole platform; a request that cannot get a slot receives 429 with Retry-After. Responses do not carry X-RateLimit-* headers for now. See the general guide

Request parameters 0

This endpoint takes no request parameters.

Example request

curl "https://api.sports.csap.ai/api/v1/matches/odds/live" \
  -H "X-API-Key: YOUR_API_KEY"

Try it

Example response

Real response with an external key at 09/11/2026, 14:28 UTC: HTTP 200, 1000 rows, 378 ms (data cut to 2 rows)

{
  "code": 0,
  "data": [
    {
      "ah_away": 1.87,
      "ah_home": 0.49,
      "ah_line": 0,
      "corner_line": 9.5,
      "corner_over": 3.68,
      "corner_under": 1.34,
      "eu_away": null,
      "eu_draw": null,
      "eu_home": null,
      "europe": null,
      "half": null,
      "match_source": "S5",
      "odds": null,
      "open_ah_line": null,
      "open_ou_line": null,
      "ou_line": 2.5,
      "ou_over": 0.6,
      "ou_under": 1.15,
      "updated_at": 1793706857190,
      "version": 42,
      "公司id": null
    },
    {
      "ah_away": 0.84,
      "ah_home": 1.1,
      "ah_line": 0.75,
      "corner_line": null,
      "corner_over": null,
      "corner_under": null,
      "eu_away": null,
      "eu_draw": null,
      "eu_home": null,
      "europe": null,
      "half": null,
      "match_source": "S5",
      "odds": null,
      "open_ah_line": null,
      "open_ou_line": null,
      "ou_line": 6,
      "ou_over": 1.1,
      "ou_under": 0.84,
      "updated_at": 1793707705366,
      "version": 153,
      "公司id": null
    }
  ],
  "message": "success",
  "success": true
}

Response fields 22

ah_awaynumberAsian handicap, away priceExample: 1.87
ah_homenumberAsian handicap, home priceExample: 0.49
ah_lineintegerAsian handicap lineExample: 0
corner_linenumbernullableCorners lineExample: 9.5
corner_overnumbernullableCorners over priceExample: 3.68
corner_undernumbernullableCorners under priceExample: 1.34
eu_awaynullnullable1X2 away win
eu_drawnullnullable1X2 draw
eu_homenullnullable1X2 home win
europenullnullable1X2 bookmaker odds
halfnullnullableHalf-time odds
match_sourcestringSource code of this rowExample: "S5"
gmidintegernullablePlatform match id (gmid, unique across the platform)
oddsnullnullableOdds
open_ah_linenullnullableOpening Asian handicap line
open_ou_linenullnullableOpening over/under line
ou_linenumbernullableOver/under lineExample: 2.5
ou_overnumbernullableOver priceExample: 0.6
ou_undernumbernullableUnder priceExample: 1.15
updated_atintegerLast update time (UTC, ISO 8601; incremental sync with the time parameter goes by it)Example: 1793706857190
versionintegerVersion number (higher is newer)Example: 42
公司idnullnullableBookmaker id

Errors

HTTPmessageWhen
401missing API key / unauthorizedNo X-API-Key, or the key is invalid or disabled
429rate limit exceeded / daily quota exceededThe key's per-minute rate or daily quota is exceeded
429server busy, retry laterThe server's concurrency slots are full (only 2 heavy requests at a time); retry after Retry-After seconds
500query errorThe query failed on the server; you may retry