Mlb Stats Scraper
Pricing
from $3.50 / 1,000 results
Mlb Stats Scraper
Get official MLB player stats, team rosters, schedules, standings and league leaders. Search by player or team name, no need for internal IDs. No login. Built for fantasy baseball players, bettors, analysts and journalists who need clean, accurate baseball data fast.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Fabricio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
⚾ MLB Stats Scraper
Extract official MLB baseball data: player profiles, team rosters, schedules, standings, and league leaders, as clean, structured records. Search by player and team name. No need to know internal numeric IDs. No login, no account, no manual copying.
🎯 Who uses it?
🎮 Fantasy baseball players
Pull season stats and rosters by name to set weekly lineups. No ID lookups first.
🎲 Bettors & model builders
Build predictive models from season and career hitting, pitching, and fielding lines.
📊 Analysts & researchers
Track standings, streaks, and league leaders across a season or a player's whole career.
✍️ Journalists & content creators
Pull accurate stat lines and schedules for game previews, recaps, and player profiles.
✨ What it does
- Player profiles: bio (age, bats/throws, height, weight, birthplace, MLB debut) plus season or career hitting, pitching, or fielding stats, auto-detected by position, or forced to one group.
- Teams: abbreviation, league, division, venue, and (optionally) the full current roster.
- Schedule: games by date, date range, or team, with final scores, status, each team's record at the time, probable pitchers, and weather. Turn on box scores for the inning-by-inning line score, hits/errors, and the winning/losing/save pitcher.
- Standings: division rank, win/loss record, games back, streak, run differential, magic number.
- League leaders: the top players in any stat category (home runs, ERA, batting average, strikeouts, saves, and more), ranked.
- Find players and teams by name, like "Aaron Judge" or "Yankees", or pass numeric IDs directly if you already have them from a previous run.
- Player headshots, team logos, and a link to the official profile page on every row.
- Heights/weights are normalized to metric (cm / kg) alongside the original record.
📦 What data you get
| Entity | Useful fields |
|---|---|
| Player | Name, age, position, bats/throws, team, season or career hitting/pitching/fielding stats, height, weight, birthplace, MLB debut date, headshot photo, profile link. |
| Team | Name, abbreviation, league, division, venue, first year of play, logo, and the full current roster (name, position, jersey number, status). |
| Game | Away/home team, score, winner, status, date, venue, each team's record, probable pitchers, weather. With box scores on: inning-by-inning line score, hits/errors, and winning/losing/save pitcher. |
| Standing | Team, division rank, W-L record, win %, games back, streak, runs scored/allowed, magic number. |
| Leader | Rank, player, team, stat category and value. |
Every record includes scraped_at (UTC) and source. Download your dataset from Apify as CSV,
JSON, Excel, or XML.
💡 Use cases
🎮 Set a fantasy lineup from current stats
{"mode": "players","playerNames": ["Shohei Ohtani", "Mookie Betts", "Juan Soto"]}
🎲 Compare a pitcher's career vs. this season
{"mode": "players","playerNames": ["Gerrit Cole"],"statType": "career"}
📅 Get every game a team played in a date range
{"mode": "schedule","teamNames": ["Yankees"],"fromDate": "2026-06-01","toDate": "2026-06-30"}
📊 Check the standings
{"mode": "standings","league": "AL"}
🏆 Get the home run leaderboard
{"mode": "leaders","leaderCategory": "homeRuns","maxItems": 25}
⚾ Get full box scores for a day's games
{"mode": "schedule","date": "2026-06-15","includeBoxScore": true}
🧢 Pull a full team roster
{"mode": "teams","teamNames": ["Dodgers"],"includeRoster": true}
⚙️ How the input is organised
The input form is split into four numbered sections. Every field's title says which mode(s) it applies to, so it's always clear what to fill in and what to leave alone.
| Section | What it's for |
|---|---|
| 1 · What do you want to scrape? | Pick one type of data: Player profiles, Teams, Schedule, Standings, or League leaders. |
| 2 · Who or what to get | Fill in only what your mode needs: player names or IDs for Player profiles; team names or IDs for Teams and Schedule; a date, date range, or team for Schedule; a league (AL/NL/both) for Standings; a stat category (e.g. homeRuns, era) for League leaders. A season field is available for every mode except Schedule. |
| 3 · How much to collect | Maximum rows for the whole run. |
| 4 · What to include | Stat type (auto, hitting, pitching, or fielding) and season vs. career, for Player profiles. Whether to attach the full roster, for Teams. Whether to add box-score details, for Schedule. |
Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.
🛡️ Limits & responsible use
This Actor collects only publicly available, official MLB statistics. It never signs in and never accesses anything gated behind an account.
If a player, team, or game can't be found, that entry is skipped with a warning in the run log. The rest of the run continues.
🧪 Local development
bun installbun run typecheckbun testbun run start
Test with a sample storage/key_value_stores/default/INPUT.json, e.g.:
{ "mode": "players", "playerNames": ["Aaron Judge"], "maxItems": 5 }