Mlb Stats Scraper avatar

Mlb Stats Scraper

Pricing

from $8.00 / 1,000 results

Go to Apify Store
Mlb Stats Scraper

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 $8.00 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

Norm Data

โšพ 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.

๐Ÿ† Why this scraper

  • Find players and teams by name. Every other MLB scraper on Apify makes you already know the internal numeric ID. This one takes "Aaron Judge" or "Yankees".
  • Five modes in one actor: player profiles, teams and rosters, schedule, standings, and league leaders.
  • Box scores, probable pitchers and weather on the schedule, which the other MLB scrapers do not pull.
  • A declared dataset schema so the Apify Console shows a clean table, plus headshots, team logos and official profile links on every row.
  • No login, no API key.

โš–๏ธ How it compares

CapabilityThis actorOther MLB scrapers on Apify
Player, team, schedule, standings, leadersyessome (most cover 1-2)
Look up players and teams by nameyesno (numeric ID only)
Season and career hitting / pitching / fieldingyessome
Box scores: inning-by-inning, hits/errors, decisionsyesno
Probable pitchers and weather on the scheduleyesno
Headshots, team logos, official profile linksyesrare
Declared dataset schema + free-plan previewyesno
Metric heights / weights alongside the originalyesno

๐Ÿ“ฆ What data you get

EntityUseful fields
PlayerName, age, position, bats/throws, team, season or career hitting/pitching/fielding stats, height, weight, birthplace, MLB debut date, headshot photo, profile link.
TeamName, abbreviation, league, division, venue, first year of play, logo, and the full current roster (name, position, jersey number, status).
GameAway/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.
StandingTeam, division rank, W-L record, win %, games back, streak, runs scored/allowed, magic number.
LeaderRank, 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.

SectionWhat 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 getFill 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 collectMaximum rows for the whole run.
4 ยท What to includeStat 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.

๐Ÿ’ฐ Pricing

Pay-per-event: a one-time 0.01 when the run starts, plus a price per result saved to your dataset. The price depends on your Apify plan tier:

Your Apify planPrice per result
Free0.0143
Bronze0.0121
Silver0.0103
Gold / Platinum / Diamond0.008

Approximate total cost (includes the 0.01 start fee):

Results collectedFreeBronzeSilverGold+
100$1.44$1.22$1.04$0.81
1,000$14.31$12.11$10.31$8.01
10,000$143.01$121.01$103.01$80.01

New Apify accounts start with $5 in free credit.

๐Ÿš€ Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Mlb Stats Scraper.
  3. Fill in the input (or keep the prefilled example), set the maximum number of results, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

๐Ÿค– Use with AI agents (MCP)

Give an AI agent live access to the Mlb Stats Scraper through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/mlb-stats-scraper"

Then prompt it in plain language to run the scraper and read back the results.

๐Ÿ”ง Troubleshooting

A player or team was skipped. It couldn't be found; the run log names it and the rest continues. Use a fuller name ("Aaron Judge") or the numeric MLB ID.

I got stats for the wrong season. Set Season (year). It applies to every mode except Schedule, which uses dates.

Which fields apply to my run? Only the fields marked for the Type of data you chose are used.

โ“ FAQ

QuestionAnswer
Is this official data?Yes, official MLB statistics.
Can I find players by name?Yes, no internal IDs needed.
Does it include box scores?Yes, turn on Box score details in Schedule mode.
Are heights and weights metric?Both: normalized cm/kg alongside the original.
Do I need an API key?No.

๐Ÿ›ก๏ธ 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.

๐Ÿ“ง Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

๐Ÿงช Local development

bun install
bun run typecheck
bun test
bun run start

Test with a sample storage/key_value_stores/default/INPUT.json, e.g.:

{ "mode": "players", "playerNames": ["Aaron Judge"], "maxItems": 5 }