BaseballData API
Data
Coverage
MLB seasons held129MLB 2026 games2,469Postseason line scores40WBC and Premier12 games242Czech box scores1,430
See all coverage
DocsPricingStatus

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.
GEThttps://api.baseballapi.net/v1/{league}/games

Try it

Run calls the API with your key.
// The answer appears here.

Parameters

NameTypeWhat it does
datedateone day, YYYY-MM-DD, or today or yesterday (the day at the ground). The default when no dates are sent is today.
fromdatefirst day of a range (with to; at most 366 days)
todatelast day of a range (with from)
pageintegerpage number, from 1
per_pageintegergames a page, 50 unless set, at most 200
cursorstringthe next_cursor from the previous answer, to read on

Returns

FieldWhat it holds
idstring: the game's id (gm_...)
leaguestring: the league's slug
seasoninteger: the season (a winter league's season is the year it starts)
datestring: the day at the ground, YYYY-MM-DD
stagestring: regular, postseason, all_star, exhibition or other
statusstring: final, scheduled, in_progress, postponed, suspended or cancelled
start_localstring or null: first pitch at the ground, HH:MM
start_utcstring or null: first pitch in UTC, ISO 8601
awayobject: name and runs (runs null until final)
homeobject: name and runs (runs null until final)
inningsinteger or null: innings played
venuestring or null: the ground
checksobject 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.