Endpoint Playground
Returns a baseball match's at-bat timeline from SofaScore, in play order: for each plate appearance the inning and half (`top` or `bottom`), pitcher, hitter, their teams, when it ended and the home and away win probabilities before and after it. Use an at-bat `id` with sofascore-event-at-bat-pitches to read its pitches. Returns 404 when SofaScore has no at-bat data for the match, which includes matches that have not started and sports other than baseball.
14 Oct 2026: 73 at_bats; 13 fields had a value in every checked item.
Sample value profiles: end_timestamp: 2026-10-06 to 2026-10-07; inning_half: top (39), bottom (34); inning: 1 to 9, median 5.
curl 'https://api.crawlora.net/api/v1/sofascore/event-at-bats?id=17199139' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 17199139 | Numeric SofaScore baseball event (match) id |
{
"code": 200,
"msg": "OK",
"data": {
"event_id": 17199139,
"source_url": "https://api.sofascore.com/api/v1/event/17199139/at-bats",
"fetched_at": "2026-10-07T17:00:00Z",
"count": 73,
"at_bats": [
{
"id": 2595879,
"inning": 1,
"inning_half": "top",
"pitcher": {
"id": 960737,
"name": "Chris Sale",
"short_name": "C. Sale",
"slug": "sale-chris",
"position": "SP",
"jersey_number": "51"
},
"pitcher_team": {
"id": 3656,
"name": "Atlanta Braves",
"short_name": "Braves",
"slug": "atlanta-braves"
},
"hitter": {
"id": 960736,
"name": "Mookie Betts",
"short_name": "M. Betts",
"slug": "betts-mookie",
"position": "SS",
"jersey_number": "50"
},
"hitter_team": {
"id": 3638,
"name": "Los Angeles Dodgers",
"short_name": "Dodgers",
"slug": "los-angeles-dodgers"
},
"end_timestamp": 1791324839,
"end_time": "2026-10-06T22:13:59Z",
"home_win_probability_start": 51,
"away_win_probability_start": 49,
"home_win_probability": 47.9,
"away_win_probability": 52.1
},
{
"id": 2595880,
"inning": 1,
"inning_half": "top",
"pitcher": {
"id": 960737,
"name": "Chris Sale",
"short_name": "C. Sale",
"slug": "sale-chris",
"position": "SP",
"jersey_number": "51"
},
"pitcher_team": {
"id": 3656,
"name": "Atlanta Braves",
"short_name": "Braves",
"slug": "atlanta-braves"
},
"hitter": {
"id": 961444,
"name": "Freddie Freeman",
"short_name": "F. Freeman",
"slug": "freeman-freddie",
"position": "1B",
"jersey_number": "5"
},
"hitter_team": {
"id": 3638,
"name": "Los Angeles Dodgers",
"short_name": "Dodgers",
"slug": "los-angeles-dodgers"
},
"end_timestamp": 1791324949,
"end_time": "2026-10-06T22:15:49Z",
"home_win_probability_start": 47.9,
"away_win_probability_start": 52.1,
"home_win_probability": 48.2,
"away_win_probability": 51.8
},
"..."
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.