Fixtures
Pitches
GET/v2/fixtures/{id}/at-bats/{atBatId}/pitchesPro + Business
Baseball: the pitches of one at-bat, in order — pitch type (MLB Statcast: four-seam fastball, sinker, cutter, slider, sweeper, curveball, changeup, …), release speed, zone, result, the count and outs after each, the score, the ball in play (trajectory, hardness), and the runners’ and fielders’ parts. Plays between pitches (a stolen-base attempt) are rows of kind steal.
Baseball only: other sports return 200 with an empty array. balls / strikes / outs are the count AFTER the pitch; the last pitch’s outcome is the at-bat’s result (endsAtBat true). outcome is a closed set with outcomeCode the source’s own code for anything it names other. zone uses MLB’s Statcast numbering (1–9 the strike zone, 11–14 outside). speedKmh is the release speed in km/h (multiply by 0.6214 for mph). Runners: fromBase 0 = the batter, toBase 4 = a run scored, null when put out. Lists stored before 2026-11-04 have AtBat.id null until refreshed.
Parameters
id
our numeric id (positive integer)
atBatId
an at-bat id: AtBat.id from /v2/fixtures/{id}/points
Response
- data
Pitch[]- meta
- atBatId, count
- errors
- 403 history_not_in_plan — the fixture is older than your plan’s history404 not_found — an id we never issued (fixture or at-bat)
Every /v2 call can also answer the common errors.
$ curl -H "Authorization: Bearer sk_live_…" \ "https://api.sportsapi.app/v2/fixtures/{id}/at-bats/{atBatId}/pitches"
Example
{ "data": [ { "kind": "steal", "number": 0, "at": "2026-10-18T00:12:56.000Z", "pitchType": null, "outcome": null, "endsAtBat": false, "balls": 0, "strikes": 0, "outs": 2, "runners": [ { "player": { "id": 9311, "name": "Chandler Simpson" }, "fromBase": 1, "toBase": 1, "out": false } ], … }, { "kind": "pitch", "number": 1, "at": "2026-10-18T00:13:10.000Z", "pitcher": { "id": 9301, "name": "Shawn Armstrong", … }, "batter": { "id": 9302, "name": "Junior Caminero", … }, "pitcherHand": "right", "batterHand": "right", "pitchType": "cutter", "pitchName": "Cutter", "speedKmh": 144.84, "zone": 5, "outcome": "fieldersChoice", "outcomeCode": "oFC", "endsAtBat": true, "balls": 0, "strikes": 0, "outs": 3, "homeScore": 0, "awayScore": 0, "hit": false, "bunt": false, "wildPitch": false, "passedBall": false, "doublePlay": false, "triplePlay": false, "overturned": false, "battedBall": { "trajectory": "groundBall", "hardness": "medium" }, "runners": [ { "player": { "id": 9302, "name": "Junior Caminero" }, "fromBase": 0, "toBase": 1, "out": false }, { "player": { "id": 9311, "name": "Chandler Simpson" }, "fromBase": 1, "toBase": null, "out": true } ], "fielders": [] } ], "meta": { "atBatId": 70412, "count": 2 } }