The MLB API for developers ballers.

Live scores with inning-by-inning linescores, run-line and totals odds, confirmed starting pitchers, and per-player box scores.

250 req/day free (500 with GitHub). No credit card.

MLB · 2026 season · regular season + postseason

37
seasons in the archive
85,849 finished games, back to 1990

How far back the Major League Baseball archive goes

37 seasons are on record, back to 1990 — 85,849 finished games you can query today. One route serves the full span. These figures are measured from the customer-facing routes listed below, so this page cannot silently drift from the product.

ArchiveRouteSeasonsReaches back toFinished games
Major League Baseball/v1/matches371990 – 202685,849

What each plan reaches

Edge & Pro
all 37 seasons
Solo & Trio
5 seasons
Free
the current season

Edge and Pro reach everything listed above. Solo and Trio reach five seasons. Free covers the current season.

What you get, by plan

One row per capability, not per field per endpoint. Season spans are counted from rows that are actually populated, and each capability names the simplest endpoint that returns it.

Offensive stats

CapabilityFreeSoloTrioEdgeProEndpoint
At-bats—PENDINGPENDINGPENDINGPENDING/v1/scores
Caught stealing—PENDINGPENDINGPENDINGPENDING/v1/scores
Doubles—PENDINGPENDINGPENDINGPENDING/v1/scores
Grounded into double play—PENDINGPENDINGPENDINGPENDING/v1/scores
Hit by pitch—PENDINGPENDINGPENDINGPENDING/v1/scores
Hits—PENDINGPENDINGPENDINGPENDING/v1/scores
Home runs—PENDINGPENDINGPENDINGPENDING/v1/scores
Intentional walks—PENDINGPENDINGPENDINGPENDING/v1/scores
Plate appearances—PENDINGPENDINGPENDINGPENDING/v1/scores
Runs—PENDINGPENDINGPENDINGPENDING/v1/scores
Runs batted in—PENDINGPENDINGPENDINGPENDING/v1/scores
Sacrifice flies—PENDINGPENDINGPENDINGPENDING/v1/scores
Sacrifice hits—PENDINGPENDINGPENDINGPENDING/v1/scores
Stolen bases—PENDINGPENDINGPENDINGPENDING/v1/scores
Strikeouts—PENDINGPENDINGPENDINGPENDING/v1/scores
Total bases—PENDINGPENDINGPENDINGPENDING/v1/scores
Triples—PENDINGPENDINGPENDINGPENDING/v1/scores
Walks—PENDINGPENDINGPENDINGPENDING/v1/scores

Defensive stats

CapabilityFreeSoloTrioEdgeProEndpoint
Batters faced—PENDINGPENDINGPENDINGPENDING/v1/scores
Batters hit by pitch (pitching)—PENDINGPENDINGPENDINGPENDING/v1/scores
Earned runs—PENDINGPENDINGPENDINGPENDING/v1/scores
Games started—PENDINGPENDINGPENDINGPENDING/v1/scores
Hits allowed—PENDINGPENDINGPENDINGPENDING/v1/scores
Home runs allowed—PENDINGPENDINGPENDINGPENDING/v1/scores
Losses—PENDINGPENDINGPENDINGPENDING/v1/scores
Outs recorded—PENDINGPENDINGPENDINGPENDING/v1/scores
Runs allowed—PENDINGPENDINGPENDINGPENDING/v1/scores
Saves—PENDINGPENDINGPENDINGPENDING/v1/scores
Strikeouts (pitching)—PENDINGPENDINGPENDINGPENDING/v1/scores
Walks allowed—PENDINGPENDINGPENDINGPENDING/v1/scores
Wild pitches—PENDINGPENDINGPENDINGPENDING/v1/scores
Wins—PENDINGPENDINGPENDINGPENDING/v1/scores

Ratings and derived intelligence

CapabilityFreeSoloTrioEdgeProEndpoint
Current Elo rating—PENDINGPENDINGPENDINGPENDING/v1/teams/{id}/elo
Elo rating history—PENDINGPENDINGPENDINGPENDING/v1/teams/{id}/elo

Measured against production on 2026-09-13. A capability appears here only when it has rows, an endpoint that returns it, and a source we may both serve and quote.

Stats included

Every baseball stat field the API returns today — 64 in total, grouped by how they are produced. Each group carries its own freshness, because a sport is rarely uniformly current.

Per-game player stats

Post-game

Written after the game ends — not a live in-game feed. Last ingested 2026-09-16.

Endpoint
/v1/players/:id/stats
Last updated
2026-09-16

Fields (59)

ERA, RBIs, Air Outs, At Bats, Batting Average, Balks, Batters Faced, Blown Saves, Caught Stealing, Doubles, Earned Runs, Errors, Fielding Assists, Fielding Chances, Fielding %, Fly Outs, Innings Pitched, Games Started, Ground Outs, Grounded Into Double Play, Hit Batsmen, Hit by Pitch, Hits, Hits/At Bats, Hits Allowed, Holds, Home Runs, Home Runs Allowed, Inherited Runners, Inherited Runners Scored, Intentional Walks, Left on Base, Line Outs, Losses, On-Base %, Outs Recorded, Pitch Count, Pitches, Pitches/Strikes, Plate Appearances, Pop Outs, Putouts, RBI, Runs, Runs Allowed, Sacrifice Flies, Sacrifice Hits, Saves (pitching), Slugging %, Stolen Bases, Strikeouts, Strikeouts Pitching, Strikes, Total Bases, Triples, Walks, Walks Allowed, Wild Pitches, Wins

Team stats (per game)

Post-game

Written after the game ends — not a live in-game feed. Last ingested 2026-09-16.

Endpoint
/v1/matches/:id/statistics
Last updated
2026-09-16

Fields (5)

Batting, Fielding, Pitching, Records, Score

Not included

  • Not shown here — pitch_level: pitch-level tracking data with no route serving it.

Missing a stat?

We build what people actually ask for. If a field you need is not on this page, tell us — requests are how we decide what to add next.

Name the field or the endpoint shape. Specifics help more than categories.

Goes straight to the team as a product signal. No newsletter, no account, nothing else done with your address.

What you can build

  • Live score widget

    Embed real-time MLB scores with inning-level linescores.

  • Starting pitcher tracker

    Probable and confirmed starting pitchers as soon as MLB posts them.

  • Fantasy baseball tool

    Per-player box scores and season aggregates in one feed.

  • Betting research tool

    Moneyline, run-line, and totals odds with against-the-spread splits.

  • Standings dashboard

    Division and league standings with games-back and win percentage.

  • At-bat event feed

    Home runs, strikeouts, walks, and RBIs as they happen.

  • Pitch-level research

    3,009,091 pitches across 2023-2026 — pitch velocity and spin, exit velocity, launch angle, barrel classification, expected outcomes. Held, not yet served; the field list is in Pitch-level data below.

MLB odds: live lines and the archive: MLB Odds API: Live and Historical.

Endpoints

On the gateway at api.bigballsdata.com. Authenticate with the bearer token from /dashboard/keys. Click any endpoint to see every field it returns.

10 endpoints · 170 documented fields. Click any row to see every field it returns.

Pitch-level data

3,009,091 pitches across the 2023, 2024, 2025 and 2026 seasons: 10,213 games, 2,273 pitchers and 2,162 batters, every pitch of every plate appearance, through 2026-10-13. Per season — 726,881 pitches in 2023, 708,379 in 2024, 706,915 in 2025 and 866,916 in 2026 so far, which includes spring training. Canonicalised into one schema and keyed to the same player_id as the rest of the API. Measured against production 2026-10-14.

Held, not served. No public route reads this dataset today — we checked production on 2026-10-14 and a request returns 404. The free tier, the request limits and the plan ladder on this page describe the endpoints above, not this one. When the route ships it is announced on /whats-new and documented here.

FieldRows heldWhat it is
release_speed2,997,168 pitchesPitch velocity in mph at release.
release_spin_rate2,985,136 pitchesSpin rate in rpm at release.
pitch_type, plate_x, plate_z2,996,521 pitchesPitch classification and where it crossed the plate, in feet from the centre of the zone. Arsenal mix and command work read these three together.
arm_angle2,705,971 pitchesPitcher arm angle in degrees at release.
launch_speed992,706 batted ballsExit velocity in mph off the bat.
launch_angle994,171 batted ballsLaunch angle in degrees off the bat.
is_barrel42,195 barrelsBarrel classification, derived from the exit-velocity and launch-angle pair rather than stored as a vendor flag.
estimated_woba727,315 pitchesExpected weighted on-base average (xwOBA) for the batted ball, from a probabilistic outcome model. estimated_ba and estimated_slg carry 487,817 each.
bat_speed, swing_length1,133,124 pitchesBat speed in mph at contact and swing length in feet. Thinner in 2023 (149,665 pitches) than from 2024 on (322,707, 326,531 and 330,306) — check the count before you trust a 2023 split.
delta_run_exp2,998,788 pitchesChange in run expectancy attributable to the pitch.
events772,380 plate appearancesTerminal outcome of the plate appearance the pitch belongs to.

Sprint speed and outs above average are not held. An earlier page listed them as coming; neither has been ingested, so they are named here as absent rather than promised.

Start on the free tier

100 requests per minute and 250 per day, free — the highest per-minute burst of any free sports API we checked. Burst is what matters when something asks several questions in a row and waits on each answer.

  • Every sport and league we cover — the paid tiers add history depth and premium fields, not more leagues.
  • Calls are counted one for one — no credit weighting, no markets-times-regions arithmetic.
  • Link GitHub and the daily cap goes to 500.
  • No credit card.
Get a key →

Or ask your AI tool directly

Connect your account to Claude, ChatGPT, Cursor, Perplexity or any other MCP-compatible tool and ask for baseball data in conversation — scores, standings, player stats and Elo ratings, with no API key to paste and no code to write. Your plan and limits carry over exactly as they do here.

Connect your AI tool →

Integrate in a few lines

Node.js, @bigballsdata/sdktypescript
import { BigBallSportsClient } from '@bigballsdata/sdk';

const client = new BigBallSportsClient(process.env.BBS_API_KEY!);

const games = await client.matches.list({ sport: 'baseball', league: 'mlb' });
for (const g of games.data) {
  // home and away are objects, not strings.
  console.log(g.home.name, 'vs', g.away.name, '-', g.status);
}

Free covers a real app. Scale when you need to.

250 req/day free (500 with GitHub). Production starts at $49/mo. Live WebSocket push on Pro+.

Frequently asked

Is there a free MLB API?
Yes. It covers scores, inning linescores, standings, lineups, and box-score stats. There is a free tier; pricing lists what each plan covers. Odds require the Edge plan ($149/mo) or higher. Injury reports are coming soon. Free keys get 250 req/day (500 with GitHub). No credit card.
Are starting pitchers available in advance?
Yes. Probable pitchers surface in the lineups endpoint as soon as MLB confirms them, typically the morning of the game; final lineups confirm closer to first pitch.
Can I track at-bat outcomes?
The events endpoint surfaces at-bat-level outcomes (home runs, strikeouts, walks, RBIs) and it is live on the free tier. Pitch-by-pitch data is loaded separately — 3,009,091 pitches across the 2023, 2024, 2025 and 2026 seasons, measured 2026-10-14 — and no public endpoint reads it yet. The field list is in Pitch-level data above.
How fast do live MLB scores update?
REST cache window is 15 seconds during live games (~200ms typical round trip). WebSocket push for score updates is on the Pro plan.

Get an API key in 30 seconds