Skip to content
datasportsAPI

No. 01 · Pitch & field · Fixture sport

FootballNinety minutes, mapped shot by shot.

From the Premier League to regional youth cups: lineups with player ratings, xG shot maps, momentum, our own win-probability model and AI commentary.

01Pitch & field
Football22 endpoints · fixtures

Scouting report

What you get for Football

Football is where the catalog runs deepest. Beyond the score, clock and incidents, a covered match carries both lineups with formations and per-player ratings, every shot with its expected-goals value and coordinates, a minute-by-minute momentum line and each player's average position.

On top sits our own win-probability model, recomputed through the match from events, shots and momentum, plus an AI commentary track written from the same data. Coverage is graded per fixture: top divisions get the full set, youth and amateur matches get scores and incidents.

First request

Every football match in play, one call.

The live board filtered to football: each match with its score, status and clock. The same request in four forms; pick yours.

  1. 1Create a key in the dashboard. Free gives you 1,000 requests a day during the beta.
  2. 2Put it in DATASPORTSAPI_API_KEY so the SDKs and the dsa command find it.
  3. 3Call /v2/livescores?sport=football.
curl -H "Authorization: Bearer dsa_live_…" \
  "https://api.datasportsapi.com/v2/livescores?sport=football"

The catalog

Football, endpoint by endpoint

Its own detail first, then the shared spine every fixture sport answers on. Each row opens the endpoint’s reference page.

All 116 endpoints

Where football goes deeper

13 endpoints with detail specific to the sport.

  1. GETLineups/v2/fixtures/{id}/lineupsTeam lineups and formations plus unavailable players, with every player carrying a match rating and statistics.All plans
  2. GETEvents/v2/fixtures/{id}/eventsThe match’s incidents in chronological order, oldest first: goals, cards, substitutions, period markers and added-time announcements.All plans
  3. GETPlay by play/v2/fixtures/{id}/play-by-playText commentary from our data source, one entry per action, oldest first.Pro + Business
  4. GETShot map/v2/fixtures/{id}/shotmapAll shots in chronological order (oldest first), each with its outcome and expected goals.Pro + Business
  5. GETMomentum/v2/fixtures/{id}/momentumAttack-momentum curve with a point for every minute: positive values mean home pressure, negative values away pressure.Pro + Business
  6. GETWin probability/v2/fixtures/{id}/win-probabilityWin probabilities for a football fixture from DataSportsAPI’s in-house model: the pre-match estimate, the live home / draw / away split and the full curve.Pro + Business
  7. GETAI commentary/v2/fixtures/{id}/commentaryAI-written commentary on a football fixture, ordered oldest first by seq and capped at the latest 100 entries.Pro + Business
  8. GETAverage positions/v2/fixtures/{id}/average-positionsAverage position of every player during the fixture, grouped by side.Pro + Business
  9. GETPlayer actions/v2/fixtures/{id}/players/{playerId}/actionsA pitch-located log of one player’s on-ball involvement in the fixture: passes and crosses (start → end, completion, key pass, long ball), take-ons, ball carries and defensive work (tackles…Pro + Business
  10. GETPlayer statistics explorer/v2/leagues/{id}/player-statisticsA sortable player-statistics table for a football season: every player in the league, 20 per page, ordered by any statistic and returned with one column set — summary, attack, defense, pass…Pro + Business
  11. GETTeam of the week/v2/leagues/{id}/team-of-the-weekThe team of the week for a single round or week, laid out as a line-up of the top-rated players: the formation, then each player with his club, his position, the rating that won him the spo…Pro + Business
  12. GETRankings/v2/rankingsLists every ranking DataSportsAPI provides: FIFA (men), UEFA coefficients for countries and clubs, World Rugby (men), ATP and WTA singles in both official and live form, UTR ratings (men an…All plans
  13. GETCup trees/v2/leagues/{id}/cup-treesKnockout brackets for a season, such as a cup’s knockout phase, a playoff tree or a tennis draw.All plans

The shared spine

9 endpoints that behave the same for every fixture sport.

What comes back

Win probability, as served

The pre-match estimate, the live home, draw and away split, and the curve that got there, in one response.

GET/v2/fixtures/{id}/win-probabilityPro + Business

Sample from the docs, trimmed with …

GET /v2/fixtures/{id}/win-probability
{ "data": { "fixtureId": 211521, "model": "v3", "updatedAt": "2026-10-18T16:02:11.000Z",
    "prematch": { "home": 0.4521, "draw": 0.2655, "away": 0.2824, "homeExpectedGoals": 1.52, "awayExpectedGoals": 1.13, "standings": true, "form": true, "allCompetitions": true, "domesticTables": true },
    "current": { "home": 1, "draw": 0, "away": 0, "minute": 90, "addedMinute": 4, "homeScore": 5, "awayScore": 0, "at": "2026-10-18T15:54:00.000Z" },
    "series": [ { "home": 0.4521, "draw": 0.2655, "away": 0.2824, "minute": 0, "addedMinute": null, "homeScore": 0, "awayScore": 0, "at": "2026-10-18T14:00:00.000Z", "reason": "kickoff" },
      { "home": 0.5983, "draw": 0.2388, "away": 0.1629, "minute": 4, "addedMinute": null, "homeScore": 1, "awayScore": 0, "at": "2026-10-18T14:03:30.000Z", "reason": "goal" }, …,
      { "home": 1, "draw": 0, "away": 0, "minute": 90, "addedMinute": 4, "homeScore": 5, "awayScore": 0, "at": "2026-10-18T15:54:00.000Z", "reason": "final" } ],
    "inputs": { "shotmap": true, "momentum": true, "events": true } },
  "meta": { "count": 104 } }

Football is one query string away.

Swap ?sport=football for any other fixture sport and the same code keeps working. Free key, no card.