Skip to content
datasportsAPI

No. 03 · Court & net · Fixture sport

BasketballEvery possession, on the record.

NBA, EuroLeague and domestic leagues with full play by play, shot charts, box-score lineups, timeouts, bonus state and playoff series.

03Court & net
Basketball16 endpoints · fixtures

Scouting report

What you get for Basketball

Basketball play by play logs every basket, free throw, rebound, foul and turnover, stamped with the game clock and the score at that moment, plus how many points each basket was worth. The shot chart places every field-goal attempt on the court, made, missed or blocked.

Live games carry timeouts remaining and bonus state, and playoff games link to the rest of their series. Box-score lineups give every player's line, and the draft endpoint walks a draft pick by pick, with each prospect's position and college.

First request

Every basketball match in play, one call.

The live board filtered to basketball: 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=basketball.
curl -H "Authorization: Bearer dsa_live_…" \
  "https://api.datasportsapi.com/v2/livescores?sport=basketball"

The catalog

Basketball, 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 basketball goes deeper

6 endpoints with detail specific to the sport.

The shared spine

10 endpoints that behave the same for every fixture sport.

  1. GETLive scores/v2/livescoresReturns every live fixture across all sports, or a single sport’s in-play board when ?sport= is given.All plans
  2. GETFixtures by date/v2/fixturesLists the fixtures that start on a given UTC date.All plans
  3. GETFixture/v2/fixtures/{id}Everything we hold on one fixture.All plans
  4. GETEvents/v2/fixtures/{id}/eventsThe match’s incidents in chronological order, oldest first: goals, cards, substitutions, period markers and added-time announcements.All plans
  5. GETStatistics/v2/fixtures/{id}/statisticsTeam statistics for the match, organised by period and by category.All plans
  6. GETHead to head/v2/fixtures/{id}/h2hThe two teams’ head-to-head record as tallied by the source, seen from this fixture’s home / away point of view.All plans
  7. GETStandings/v2/leagues/{id}/standingsLeague tables for a single season.All plans
  8. GETTeam/v2/teams/{id}Returns a team’s profile — sport, country, venue, colours, logo, gender, whether it is a club or a national team, kind (team / individual / pair), manager and founding date (foundedOn, pres…All plans
  9. GETLeague/v2/leagues/{id}Returns a league’s profile: its tier (where it sits in the national pyramid), gender, the reigning champion with its title count, the clubs holding the most titles, the divisions directly a…All plans
  10. GETSearch/v2/searchA single search over teams (individual competitors included), players, managers, referees, leagues, fixtures, venues, racing series and races.All plans

What comes back

Play by play, as served

A free throw with twenty seconds left in the fourth: the clock, the score after it and who made it.

GET/v2/fixtures/{id}/play-by-playPro + Business

Sample from the docs, trimmed with …

GET /v2/fixtures/{id}/play-by-play
{ "data": [ …,
  { "type": "scoreChange", "side": "away", "period": "period4", "minute": null, "addedMinute": null,
    "periodSecond": 700, "periodSecondsLeft": 20, "at": "2026-10-22T01:54:25.605Z",
    "text": "Jalen Johnson makes regular free throw 2 of 2",
    "player": { "id": 123, "name": "Jalen Johnson", "slug": null, "shortName": null, "image": "https://cdn.datasportsapi.com/v2/players/123/photo" },
    "assist": null, "playerIn": null, "playerOut": null, "drawnBy": null, "stolenBy": null, "goalkeeper": null,
    "homeScore": 125, "awayScore": 132, "scoreType": "freeThrow", "position": null, "zone": null } ],
  "meta": { "count": 486 } }

Basketball is one query string away.

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