DEVELOPER DOCUMENTATION

Build with Sport API.

Your first request, the API reference, and everything in between.

Get API key

One fixture. Independent viewing context.

Choose a broadcast market separately from the timezone used to display a fixture. V2 is live with GB broadcast listings. The existing V1 UK API remains supported.

Markets and timezones

Ask /api/v2/markets which markets are publicly supported. A country in the sporting catalogue does not establish broadcast coverage there. No additional country is promised by this contract.

UK listings displayed in New York
GET /api/v2/matches?start_date=2026-10-05&end_date=2026-10-05&market=GB&timezone=America%2FNew_York
x-api-key: fg_YOUR_SECRET_KEY

Civil-date queries require a timezone, with an inclusive end date and a maximum of 31 days. Alternatively supply offset-bearing from and to instants; the upper bound is excluded. Do not combine the two forms. Display timezone defaults to UTC only for instant queries.

V1 date and time continue to mean London wall time. They have not become UTC fields. V1 channels remain the UK projection, including existing fixtures without a channel.

Response and pagination

Illustrative response; no broadcast-rights claim
{
  "context": {
    "market": "GB",
    "timezone": "America/New_York"
  },
  "items": [
    {
      "id": 123,
      "starts_at": "2026-10-05T23:30:00Z",
      "time_precision": "exact",
      "schedule_status": "scheduled",
      "display": {
        "date": "2026-10-05",
        "time": "19:30:00",
        "utc_offset": "-04:00"
      },
      "broadcasts": []
    }
  ],
  "date_only_items": [],
  "next_cursor": null,
  "next_date_only_cursor": null
}

Use limit (1–200) and return next_cursor as cursor with the same query. Cursors are bound to the filters, market, timezone and page size. Live reschedules can move an item between pages; deduplicate by fixture ID and restart the query when refreshing.

Unknown starts never become midnight. Opt into include_date_only=true to receive separately labelled source-calendar candidates whose possible day overlaps your interval. Page those with date_only_cursor. Their appearance does not establish a kickoff or a particular viewer-local date.

Availability and filters

Omit market for fixture-only queries; those responses omit broadcasts. Empty broadcast arrays mean no listing known. broadcasts_only=true requires market and limits results to known eligible listings. Channel, broadcaster and airing-kind filters apply to the same listing. Regional restrictions take precedence, and qualified national listings are labelled as varying by region.

Filters are sport_ids, competition_ids, team_country_ids, venue_country_ids, competition_country_ids, channel_id, broadcaster_ids and broadcast_kind. Repeat list parameters. Market is independent of all sporting geography filters.

Related GET endpoints: /matches/next (starting date and timezone), /matches/:id (timezone and optional market), /channels, /broadcasters, /coverage and /matches/source-status (market required). Coverage reports its declared calendar window and capture time; a successful fetch does not imply complete coverage outside that window.

Use the same customer key, origins and quotas as V1. Viewing timezone does not change your UTC billing month. Unsupported markets return 404; invalid or contradictory queries return 400/422.

Explore the endpoints