Schedule and standings tracking
Use MLB endpoints to turn schedule and standings tracking into repeatable API requests with documented inputs and JSON responses.
Build MLB schedule, roster, game, player, and prospect workflows, then query specialist Baseball Savant tables for ABS challenges, running, fielding, catching, park factors, and season comparisons.
Collect MLB schedules, stats, transactions, and specialist Baseball Savant Statcast leaderboards for batting, running, fielding, catching, and parks as JSON.
Endpoint families
6
Documented params
718
Examples
66
Live catalog snapshot
Active endpoints
66
Methods
GET
Required params
96
Schema refs
66
{
"platform": "MLB",
"endpoint": "mlb-schedule",
"method": "GET",
"path": "/mlb/schedule",
"auth": "apiKey"
}Use cases
Collect MLB schedules, stats, transactions, and specialist Baseball Savant Statcast leaderboards for batting, running, fielding, catching, and parks as JSON.
Use MLB endpoints to turn schedule and standings tracking into repeatable API requests with documented inputs and JSON responses.
Use MLB endpoints to turn team and player statistics into repeatable API requests with documented inputs and JSON responses.
Use MLB endpoints to turn specialist statcast leaderboard analysis into repeatable API requests with documented inputs and JSON responses.
Use MLB endpoints to turn compare baseball savant metrics across seasons into repeatable API requests with documented inputs and JSON responses.
Use MLB endpoints to turn catching and defensive research into repeatable API requests with documented inputs and JSON responses.
Use MLB endpoints to turn game and transaction monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live MLB endpoint catalog — 66 endpoints, 718 documented request parameters, and 66 published response schemas — the same catalog Docs and Playground run against.
66 documented MLB endpoints, grouped into 66 request families — Discovery, Editorial Feed and Game, plus 63 more.
718 request parameters are documented across those MLB endpoints, 96 of them required — the full input contract is public before you write any integration code.
66 of the 66 MLB endpoints ship a recorded example response, and 66 carry a documented response schema — you can code against the real JSON before the first request.
MLB endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
66 hosted MCP tools back the MLB endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/mlb/discovery
/mlb/editorial-feed
/mlb/game
/mlb/game-boxscore
/mlb/game-play-by-play
/mlb/league-leaders
Featured endpoints
/mlb/scheduleReturns MLB games, teams, scores, status, probable pitchers, venue, and series information for one date or date range, optionally filtered to a team.
MCP tool mlb_schedule
/mlb/standingsReturns American League and National League standings, including source-provided expected, home/away, last-ten, ranking, and elimination fields when available, using any supported standings type returned by mlb_discovery.
MCP tool mlb_standings
/mlb/statcast-leadersReturns the standard anonymous Baseball Savant Statcast leaderboard for batters, pitchers, teams, or pitcher teams. Supports the page's season, team, batter position, minimum batted-ball event, and sortable metric filters, plus local pagination. Use mlb_discovery for exact filter sets. Other Baseball Savant leaderboard pages are listed there but are not represented by this route.
MCP tool mlb_statcast
/mlb/statcast-top-performersReturns every current Top Performers card for the selected season, including batter and pitcher rankings across batting, batted-ball, expected-stat, fielding, catching, running, and pitch-metric views. The page exposes a season selector but no per-card filters; use the specialist Statcast endpoints for complete filtered leaderboards.
MCP tool mlb_statcast_top_performers
/mlb/statcast-abs-challengesReturns Baseball Savant's ABS challenge table with repeated season, game type, split, challenging-team, opponent-team, pitch-type, and shadow-zone filters, plus challenger type, level, thresholds, leverage, pitch location, breakeven, and split-year controls. Filter values are live-verified and listed by /mlb/discovery. The entire filtered table is returned; UI-only drawer details and client-side sorting are not separate source filters.
MCP tool mlb_statcast_abs_challenges
/mlb/statcast-fielding-run-valueReturns fielding run value for fielder, fielding-team, batter, batting-team, or pitcher views. Dates and grouping dimensions follow the first-party leaderboard. Minimum 0.1 is available only for fielder and fielding-team views; the batting/pitching views omit it. Sorting and pagination are applied locally. CSV and player-page visualizations are outside this table contract.
MCP tool mlb_statcast_fielding_run_value
Related APIs
Media & Streaming
Follow German football from the Bundesliga down to the lowest Kreisklasse. Discover competitions in all 22 federations, then read matchdays, standings, scorers, clubs, teams, and players from the DFB's own amateur-football portal.
Media & Streaming
Browse Sportskeeda's sports and entertainment coverage, community wikis, quizzes, and fan games with the catalog's current slugs and filter limits.
Media & Streaming
Research streaming catalogs, title availability, providers, offers, seasons, episodes, and release changes from JustWatch with normalized JSON.
How to scrape MLB
MLB's public site connects schedules and standings with team, player, game, and statistics surfaces. Crawlora normalizes those records behind focused endpoints with explicit season, date, team, player, and stat-group parameters, and includes MLB Pipeline prospect rankings and Baseball Savant Statcast views. Baseball Savant is a separate first-party application: its standard leaderboard supports documented type, year, position, team, minimum BBE, sort, sort direction, and local offset/limit controls. The Year-to-Year Changes table is a separate four-view operation for Batter, Pitcher, Batter Team, or Pitcher Team; choose a supported metric and comparison start year (2017–2025), then use local sort and limit/offset. Each comparison includes that season and the following season. It has no team, position, or date filter, so do not present these as accepted controls. MLB discovery lists navigation labels for 60 leaderboard categories, but those labels are not all route aliases; use the specific registered leaderboard endpoints such as expected statistics, Outs Above Average, pitch arsenal, sprint speed, or bat tracking. Pitcher Arm Angle is a separate pitcher-only table with season, team, pitch, game, hand, threshold, date, grouping, sort, and pagination filters; omit teams for all-team data and select no more than three seasons per request. Its response preserves the league-average reference separately from pitcher rows. MLB Pipeline ranking views and player season-stat tables also remain distinct operations. The first-party Swing Timing leaderboard documents data from the second half of 2023 onward and excludes bunt attempts. Its batter/pitcher rows carry a uniqueId for the details route; team and league rows do not expand. That route returns miss-distance and X/Y/Z timing arrays that may overlap by play, so its total is not a distinct-play count. Baseball Savant's separate Rolling Windows page had 2,509 rows across six Batter/Pitcher × 50/100/250 PA groups in the 2026-09-30 research capture. Treat that as a dated source snapshot, not a fixed feed size; `metric`, `role`, and `window_pa` select the available tables, while `limit` and `offset` apply independently within each group. The source has no season, team, game-type, or minimum-qualifier filter.
Query a schedule date or range, choose a season's standings, list teams, or resolve a public player identifier.
Request team rosters, team stats, player stats, or league leaders using the documented hitting, pitching, and fielding groups.
Read MLB discovery and the endpoint parameter tables before filtering. The standard Baseball Savant leaderboard uses type, year, position, team, min, sort, sortDir, offset, and limit; separate registered operations cover other Statcast tables. MLB Pipeline rankings accept a view and view-specific team or position selectors plus q, sort, limit, and offset, while prospect-stats returns season stat tables rather than rankings.
Use Top Performers for compact season summary cards, then a dedicated ABS, baserunning, running-game, fielding, run-value, first-base receiving, park-factor, birthday, or catcher board for its full table and board-specific filters. Detail routes use the matching leaderboard's identifier and filters: entity_id for blocking, framing, throwing, or running-game details, but player_id for first-base-receiving details.
Use /mlb/statcast-year-to-year with one of the Batter, Pitcher, Batter Team, or Pitcher Team groups, a supported metric, and a comparison start year from 2017 through 2025. The selected year is compared with the following year; sort and pagination are local. This Baseball Savant table has no team, position, or date filter.
Use /mlb/statcast-rolling for the six Batter/Pitcher groups at 50, 100, and 250 plate appearances. Choose metric from xwoba, woba, ba, xba, slg, or xslg; optionally set role and window_pa. Each group sorts by the selected metric delta and has its own limit/offset, so offsets do not span the full response. The upstream page exposes no season, team, game-type, or minimum-qualifier filters; the 2,509 rows captured on 2026-09-30 are a dated snapshot.
Use /mlb/statcast-arm-angle for pitcher rows and keep the separate league_average reference rows out of player totals. Filter by supported seasons, teams, game and pitch types, pitcher/batter hand, pitch thresholds, date range, or up to four group_by fields; omit teams for the source's all-team form and select at most three seasons because wider requests timed out. sort and sort_dir operate locally, with limit and offset for table pagination. This endpoint returns the table rows only, not Baseball Savant's charts, animation, visualization modes, or CSV.
Copy the full uniqueId from a batter or pitcher row returned by /mlb/statcast-swing-timing into row_id for /mlb/statcast-swing-timing-details, then repeat the row type and any non-default split/year filters. The detail route has no documented offset/limit; team and league rows have no detail expansion. Its miss_distance, x, y, and z arrays may contain the same play, so preserve array identity rather than summing them as unique swings.
Use a game identifier to retrieve the game record, box score, and play-by-play feed through separate structured routes.
Schedule recurring requests for upcoming games, standings movement, roster context, and transaction activity.
FAQ
The active MLB endpoints cover schedules, standings, teams, rosters, team and player statistics, league statistics, transactions, game detail, box scores, and play-by-play.
Yes. The schedule endpoint accepts a single date or start/end dates and an optional team identifier, making it suitable for daily and team-specific schedule workflows.
Yes. Pass a game identifier to the game, game-boxscore, or game-play-by-play endpoint depending on the level of detail you need.
No. The standard Statcast leaderboard has its own type, year, position, team, minimum BBE, sort, sortDir, offset, and limit values. Expected Statistics, Outs Above Average, pitch arsenal, bat tracking, and other Baseball Savant views use dedicated endpoints and their own documented parameters.
No. /mlb/statcast-top-performers returns Baseball Savant's compact season cards, with only the leaders shown on each card and no card-level paging or filters. Use the matching specialist endpoint for a complete catcher, running, fielding, park-factor, ABS, or other supported table.
Use only the detail route documented for that leaderboard and replay the filters that produced the row. Blocking, framing, throwing, and running-game details take an eligible entity_id from their matching table; first-base-receiving details take player_id. Eligibility differs by board — for example, running game accepts Pitcher and Pitching Team rows, while catcher throwing expands catcher rows — and sorting or pagination may be applied locally after extraction.
The /mlb/statcast-year-to-year route supports Batter, Pitcher, Batter Team, and Pitcher Team views. Choose a supported metric and a comparison start year from 2017–2025; each table compares that year with the following season. Sorting and limit/offset pagination are local, and the source provides no team, position, or date filters.
No. /mlb/statcast-rolling returns Batter and Pitcher groups for 50, 100, and 250 PA, selected by metric, role, and window_pa. limit and offset apply within each group; the source has no season, team, game-type, or minimum-qualifier filter.
It returns pitcher rows plus separate league_average reference rows from Baseball Savant's Arm Angle table. It supports the documented season, team, game, pitch, hand, threshold, date, grouping, sort, and pagination inputs; omit teams for all teams, and use no more than three seasons per call. Charts, animation, visualization modes, and CSV are not part of this JSON route.
Use the complete uniqueId from a batter or pitcher row as row_id on /mlb/statcast-swing-timing-details, set the matching type, and repeat non-default leaderboard filters. The route returns separate miss_distance, x, y, and z arrays with no documented offset/limit; the arrays can overlap by play, so total is an array-row count rather than a deduplicated event count. Team and league rows do not have detail expansions.
Prospect rankings return curated lists with top100, team, position, draft, or international views and support ranking filters and pagination. Prospect-stats returns season performance tables. Use the discovery response and each endpoint's parameter list rather than treating one route as an alias for the other.
No. Crawlora is not affiliated with MLB and provides normalized access to supported public MLB data surfaces. Use MLB-owned products and documentation when your use case requires an official licensed integration.