Skip to content

Board sports with fixture counts

GET
/v1/public/board/sports
curl --request GET \
--url https://oddslink.app/v1/public/board/sports

Every sport the public board offers, with how many fixtures it holds right now and how many are in play, busiest first. No API key. Cached a few seconds; per-address rate limited.

The board’s sports, busiest first.

Media typeapplication/json
object
generated_at
required
string format: date-time
sports
required
Array<object>
object
key
required
string
title
required
string
fixtures
required
integer
in_play
required
integer
Examplegenerated
{
"generated_at": "2026-04-15T12:00:00Z",
"sports": [
{
"key": "example",
"title": "example",
"fixtures": 1,
"in_play": 1
}
]
}
x-requests-used
integer

Requests used this billing period.

x-requests-remaining
integer

Requests remaining this billing period.

x-requests-last
integer

What this one call cost against the allowance (0 for a free call).

X-RateLimit-Limit
integer

This plan’s speed limit, in requests per second.

X-RateLimit-Remaining
integer

Requests left in the current one-second window.

X-RateLimit-Reset
integer

Seconds until the speed-limit window resets.

X-Request-Id
string

This request’s id, for support and for matching against error.request_id.

Too many board requests from this address.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
docs_url
required
string format: uri
request_id
required
string
stored_commence_times

Stored Unix-second choices on AMBIGUOUS_EVENT or INVALID_STORED_COMMENCE_TIME; independent of dateFormat.

Array<integer>
valid_bookmakers

Valid case-sensitive book keys on INVALID_BOOKMAKER.

Array<string>
current_plan

403 only: the plan on the presented key.

string
required_plan

403 only: the lowest plan that includes this request. For history, that depends on how long ago the fixture started as well as on the endpoint.

string
Example
{
"error": {
"code": "SPEED_LIMIT",
"message": "Too many board requests; try again in a few seconds",
"docs_url": "https://oddslink.app/docs/errors/#speed-limit",
"request_id": "req_01J8Z5Q2K9V3N7M4"
}
}
x-requests-used
integer

Requests used this billing period.

x-requests-remaining
integer

Requests remaining this billing period.

x-requests-last
integer

What this one call cost against the allowance (0 for a free call).

X-RateLimit-Limit
integer

This plan’s speed limit, in requests per second.

X-RateLimit-Remaining
integer

Requests left in the current one-second window.

X-RateLimit-Reset
integer

Seconds until the speed-limit window resets.

X-Request-Id
string

This request’s id, for support and for matching against error.request_id.

Retry-After
integer

Seconds to wait before retrying on 429 SPEED_LIMIT or 503 ODDS_UNAVAILABLE.