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
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| At-bats | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Caught stealing | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Doubles | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Grounded into double play | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Hit by pitch | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Hits | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Home runs | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Intentional walks | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Plate appearances | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Runs | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Runs batted in | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Sacrifice flies | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Sacrifice hits | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Stolen bases | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Strikeouts | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Total bases | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Triples | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Walks | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
Defensive stats
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Batters faced | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Batters hit by pitch (pitching) | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Earned runs | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Games started | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Hits allowed | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Home runs allowed | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Losses | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Outs recorded | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Runs allowed | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Saves | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Strikeouts (pitching) | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Walks allowed | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Wild pitches | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Wins | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
Ratings and derived intelligence
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Current Elo rating | — | PENDING | PENDING | PENDING | PENDING | /v1/teams/{id}/elo |
| Elo rating history | — | PENDING | PENDING | PENDING | PENDING | /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 — 22 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-gameWritten after the game ends — not a live in-game feed. Last ingested 2026-08-30.
- Endpoint
- /v1/players/:id/stats
- Last updated
- 2026-08-30
Fields (17)
ERA, RBIs, At Bats, Batting Average, Earned Runs, Innings Pitched, Hits, Hits/At Bats, Home Runs, On-Base %, Pitches, Pitches/Strikes, Runs, Slugging %, Stolen Bases, Strikeouts, Walks
Team stats (per game)
Post-gameWritten after the game ends — not a live in-game feed. Last ingested 2026-08-30.
- Endpoint
- /v1/matches/:id/statistics
- Last updated
- 2026-08-30
Fields (5)
Batting, Fielding, Pitching, Records, Score
Not included
- Not shown here — pitch_level: pitch-level Statcast 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.
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.
Statcast research
2.89M pitch-level rows across 2023-2026 — barrel rate, xwOBA, exit velocity, bat tracking (2024+). Public endpoint in development; see /mlb-statcast-api.
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 · 161 documented fields. Click any row to see every field it returns.
Start on the free tier
100 requests per minute and 1,000 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 2,000.
- No credit card.
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
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.
1,000 req/day free (2,000 with GitHub). Production starts at $49/mo. Live WebSocket push on Pro+.
Frequently asked
- Is there a free MLB API?
- Yes. Scores, inning linescores, standings, lineups, and box-score stats on the free tier at 1,000 req/day (2,000 with GitHub), no credit card. Odds require the Edge plan ($149/mo) or higher. Injury reports are coming soon.
- 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). Pitch-by-pitch Statcast data is loaded — 2.89 million pitches across the 2023, 2024, 2025 and 2026 seasons. A public endpoint exposing barrel rates, xwOBA, exit velocity, bat speed, and launch angle is in development; see /mlb-statcast-api for the planned shape.
- 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.