Skip to content
datasportsAPI

FixturesAI commentary

Documentation

/

Type to filter the docs by title or path.

FixturesEndpoint 16 of 116

AI commentary

GET

/v2/fixtures/{id}/commentary

Plan
Pro + Business
Auth
Bearer dsa_live_…
Parameters
1 required · 0 optional
Returns
Commentary

AI-written commentary on a football fixture, ordered oldest first by seq and capped at the latest 100 entries.

Goals, red cards, missed penalties, VAR decisions, the start and end of each period, big chances and sustained swings in momentum each get a short entry (events seconds apart are merged into one), and there are summaries at half-time and full time. Available on Pro and Business plans.

Plan access

Requires a Pro or Business plan; every other plan receives 403 endpoint_not_in_plan.

Worth knowing

  • DataSportsAPI AI writes every line from our own match data alone (score, clock, events, statistics, shot map and our win-probability model) and stays clear of betting language.
  • Entries are generated only while the match is being followed, either through this endpoint or through a fixture:{id} WebSocket channel, so request it while the game is on; a match that nobody followed has no entries.
  • Featured top-league matches on datasportsapi.com always get commentary.
  • Every entry is written a single time and served identically to all clients, and its seq is permanent.
  • kind takes one of these values: kickoff, goal, redCard, missedPenalty, varDecision, bigChance, momentum, periodStart, periodEnd, halfTime, fullTime, update.
  • The minute of a fullTime summary is 90 (120 after extra time).
  • Business fixture:{id} channels receive a commentary frame for each new entry.

01Parameters

  • idpathRequired

    fixture id issued by DataSportsAPI, a positive integer

02Request

The same call from the command line and each SDK. The SDK lines assume a client created with your key; left out, it is read from DATASPORTSAPI_API_KEY. Installing a client: SDKs & CLI.

curl -H "Authorization: Bearer dsa_live_…" \
    "https://api.datasportsapi.com/v2/fixtures/{id}/commentary"

03Response

The top-level keys of the JSON body. Each object links to its full shape in the data reference.

data
Commentary
meta
count, generatedBy
ObjectsCommentary
Example response
{ "data": { "fixtureId": 236923, "entries": [ …,
      { "seq": 2, "kind": "goal", "minute": 36, "addedMinute": null, "model": "datasportsapi-ai", "createdAt": "2026-10-18T13:37:41.000Z",
        "text": "Nico Paz doubles Como's lead, finishing after a pass from Álex Valle, four minutes after Mattia Liberali's opener. Our model now gives Como an 85% win probability, up from 65%." },
      { "seq": 3, "kind": "halfTime", "minute": 45, "addedMinute": null, "model": "datasportsapi-ai", "createdAt": "2026-10-18T13:52:04.000Z",
        "text": "Como lead Fiorentina 2-1 at the break. Mattia Liberali and Nico Paz struck in the 32nd and 36th minutes before Marin Pongračić pulled one back, a goal confirmed by VAR in first-half stoppage time." } ] },
  "meta": { "count": 3, "generatedBy": "datasportsapi-ai" } }

04Errors

  • 403endpoint_not_in_plan

    returned to keys on the Free and Starter plans

  • 404not_supported

    the fixture is not a football match

Any key can also meet401unauthorized429rate_limited429quota_exceeded500internal_errorEvery error code