Fixtures
Point by point
GET/v2/fixtures/{id}/pointsPro + Business
The match point by point. Tennis: sets → games (server, winner, set score) → points. Volleyball, table tennis, badminton: sets → rallies with the running score. Cricket: innings → overs → balls (outcome, runs, extras, wicket and dismissal, batter, bowler, score after the ball). Baseball: at-bats (inning, top / bottom, batting side, batter, pitcher, the home win probability before and after). Darts: sets → legs (start score, who threw first, winner, checkout) → visits (score of the visit, both sides’ remaining, checkout).
format says which list is filled (sets for tennis and rally sports, innings for cricket, atBats for baseball, darts for darts — the others are empty). Darts visits carry no individual darts (the source has none); a legs match is one set. Baseball at-bats come with the source’s own home win probability (0–100, not our model) and no outcome (the source gives none). Other sports, and a match without point-by-point yet: 200 with format null and empty lists. Rally sports list the rallies the source recorded — lower tiers can miss some (the running score shows the gap). Tennis points carry the score after the point (homeScore / awayScore: "15", "A"; null on the appended game-winning point), description (ace, doubleFault) and homeType / awayType (won, breakPoint, setPoint, miniBreak, none); a match tie-break is the deciding set’s only game, counted to 10. Refreshed about every 30 seconds while the match is live.
Parameters
id
our numeric id (positive integer)
Response
- data
Points
Every /v2 call can also answer the common errors.
$ curl -H "Authorization: Bearer sk_live_…" \ "https://api.sportsapi.app/v2/fixtures/{id}/points"
Example
{ "data": { "format": "cricket", "sets": [], "innings": [ { "inning": "inning2", "battingSide": "away", "overs": [ …, { "number": 49, "balls": [ { "sequence": 314, "ball": 1, "outcome": "wicket", "runs": 0, "totalRuns": 0, "wicket": true, "dismissal": "bowled", "batter": { "id": 886956, "name": "Asitha Fernando", … }, "bowler": { "id": 975942, "name": "Haris Rauf", … }, "fielder": null, "dismissedBatter": { "id": 886956, … }, "scoreRuns": 268, "scoreWickets": 10 } ] } ] } ] } } { "data": { "format": "tennis", "innings": [], "sets": [ { "period": "period1", "homeScore": 6, "awayScore": 4, "points": [], "games": [ { "number": 1, "server": "home", "winner": "home", "homeGames": 1, "awayGames": 0, "points": [ { "homeScore": "15", "awayScore": "0", "winner": "home", "description": "ace", "homeType": "won", "awayType": "none" }, … ] }, … ] }, … ], "atBats": [] } } { "data": { "format": "baseball", "sets": [], "innings": [], "atBats": [ { "inning": 1, "half": "top", "battingSide": "away", "batter": { "id": 912, "name": "Yandy Díaz", "slug": "diaz-yandy", "shortName": "Y. Díaz", "image": "https://cdn.sportsapi.app/v2/players/912/photo" }, "pitcher": { "id": 913, "name": "Shawn Armstrong", "slug": "armstrong-shawn", "shortName": "S. Armstrong", "image": null }, "homeWinProbabilityBefore": 49, "homeWinProbabilityAfter": 50.8, "at": "2026-10-17T00:10:04.000Z" }, … ] } } { "data": { "format": "darts", "sets": [], "innings": [], "atBats": [], "darts": [ { "number": 1, "winner": "home", "homeSets": 1, "awaySets": 0, "legs": [ { "number": 1, "startScore": 501, "throwingFirst": "away", "winner": "home", "homeLegs": 1, "awayLegs": 0, "checkout": 6, "visits": [ { "side": "away", "scored": 100, "homeRemaining": 501, "awayRemaining": 401, "checkout": false }, { "side": "home", "scored": 112, "homeRemaining": 389, "awayRemaining": 401, "checkout": false }, … ] }, … ] }, … ] } }