Documentation/Games
GET /v1/{league}/games | Baseball Data API
Games in a league on a day or across a range of days, with final scores.Free keyMCP tool: find_games
GEThttps://api.baseballapi.net/v1/{league}/games
Try it
Parameters
| Name | Type | What it does |
|---|---|---|
date | date | one day, YYYY-MM-DD, or today or yesterday (the day at the ground). The default when no dates are sent is today. |
from | date | first day of a range (with to; at most 366 days) |
to | date | last day of a range (with from) |
page | integer | page number, from 1 |
per_page | integer | games a page, 50 unless set, at most 200 |
cursor | string | the next_cursor from the previous answer, to read on |
Returns
| Field | What it holds |
|---|---|
id | string: the game's id (gm_...) |
league | string: the league's slug |
season | integer: the season (a winter league's season is the year it starts) |
date | string: the day at the ground, YYYY-MM-DD |
stage | string: regular, postseason, all_star, exhibition or other |
status | string: final, scheduled, in_progress, postponed, suspended or cancelled |
start_local | string or null: first pitch at the ground, HH:MM |
start_utc | string or null: first pitch in UTC, ISO 8601 |
away | object: name and runs (runs null until final) |
home | object: name and runs (runs null until final) |
innings | integer or null: innings played |
venue | string or null: the ground |
checks | object or null: for MLB games of the season in play, how the final was checked: sources (pages read), sources_agree, line_matches_final (postseason) and delay_minutes (from the score being recorded to our record). For archive MLB games, the trust flag: disputed (true when our own checks found the game's parts disagreeing) and disputes, each with check (runs_vs_team_box, team_box_vs_batters or plays_vs_box), side (away or home) and detail; the record is shown as it is, never corrected. Null for other leagues |
Example answer
A real answer, taken 2026-11-03.
{
"data": [
{
"id": "gm_4t9md0a5",
"league": "mlb",
"season": 2026,
"date": "2026-10-28",
"stage": "postseason",
"status": "final",
"start_local": "20:08",
"start_utc": "2026-10-29T00:08:00Z",
"away": {
"name": "Milwaukee Brewers",
"runs": 4
},
"home": {
"name": "Tampa Bay Rays",
"runs": 1
},
"innings": 9,
"venue": "Tropicana Field",
"checks": {
"sources": 2,
"sources_agree": true,
"line_matches_final": true,
"delay_minutes": 1
}
}
],
"meta": {
"count": 1,
"next_cursor": null,
"page": 1,
"per_page": 2,
"total": 1,
"total_pages": 1,
"next_page": null,
"prev_page": null,
"from": "2026-10-28",
"to": "2026-10-28"
}
}Errors
Every endpoint can answer unauthorized, unknown_parameter, rate_limited, quota_exceeded and server_error, and not_found for an id or league that is not ours. See Errors.