GET /matches for the full schedule within a league with optional filters, GET /matches/active to see only live and upcoming matches in a league, GET /matches/live for every in-play match across a sport, or GET /matches/{match_id} to fetch a single match by its id.
Endpoints
Authentication and Scope
All three endpoints require thefixtures scope. Include your API key in the X-API-Key header.
GET /matches
Returns all matches for a league, with optional filters for status and time window.Query Parameters
The league id to list matches for. Obtain this value from
GET /leagues.Filter by match status. Must be one of
NOT_STARTED, STARTED, or FINISHED. Omit to return matches of all statuses.Only return matches with a
start_time at or after this timestamp. ISO 8601 UTC, e.g. 2026-06-18T00:00:00Z.Only return matches with a
start_time at or before this timestamp. ISO 8601 UTC.Number of matches to return per page. Default
100, maximum 200. Values above 200 are clamped to 200.Number of matches to skip before returning results. Default
0.GET /matches/active
Returns only matches with a status ofNOT_STARTED or STARTED — live and upcoming matches for a league.
Query Parameters
The league id to list active matches for.
Page size. Default
100, maximum 200.Number of matches to skip. Default
0.GET /matches/live
Returns every currently in-play (STARTED) match for a sport, across all of its leagues. Useful for a “what’s live right now” view without iterating leagues. This endpoint is not paginated — live matches are a naturally bounded set, and the response is a plain array of match objects. A sport outside your allowlist returns [].
Query Parameters
Sport id. Must be in your allowlist. Obtain this value from
GET /sports.GET /matches/
Returns a single match by its id.Path Parameter
The match id. Obtain this from any
/matches or /matches/active response.Match Object Fields
Match id. Use this value as
match_id when calling GET /matches/{id}/live or GET /matches/{id}/result.Name of the home team.
Name of the away team.
Scheduled kick-off time in ISO 8601 UTC format (e.g.
2026-06-18T02:00:00Z).Current match status:
NOT_STARTED, STARTED, or FINISHED.Example Requests
Example Response
GET /matches and GET /matches/active return a pagination envelope:
GET /matches/live returns a plain array of match objects (no pagination envelope):
GET /matches/{match_id} returns the match object directly, without an envelope.
GET /matches/{match_id} returns 404 for matches that are outside your account’s enabled sports allowlist, in addition to matches that do not exist or are suspended/postponed.