ESPN MLB Scoreboard Scraper
parseforge/espn-mlb-scoreboard-scraper
SportsAutomationIntegrations
Scrapes MLB game data from the ESPN scoreboard by season or date. Returns each game as a flat row with teams, scores, status, and box-score details.
- Total users
- 27
- Monthly active
- 6
- Total runs
- 152
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
ESPN MLB Scoreboard Scraper
Scrape MLB scores, schedules, and game data from the ESPN scoreboard, up to a million games per run. Every game returns its teams, scores, status, and full box-score details. No API key or authentication required. Export to CSV, JSON, Excel, or XML.
ESPN's public MLB scoreboard holds every game, score, and schedule detail, but there is no official download button. This Actor reads the same endpoints your browser hits, so you get structured game data without building a connector. Feed it a season, a date, or a max count, and it returns each game as one flat row.
| Who uses it | What they scrape ESPN for |
|---|---|
| Sports data analysts | Build historical MLB datasets for trend analysis and modeling. |
| Fantasy baseball developers | Pull live scores and schedules into a fantasy app or dashboard. |
| Sports bettors | Collect game results and statuses to inform betting decisions. |
| Content creators | Gather scores and schedules for automated game recaps or social posts. |
What it does
This Actor collects MLB game data from the ESPN scoreboard by season or date and returns each game as a flat row with teams, scores, status, and box-score details.
- π Season filter: limit the scrape to a single MLB season year, or leave blank for the current season.
- π’ Date filter: target one specific day with a YYYYMMDD date string for precise historical pulls.
- π Volume control: set a maximum number of games to cap the run, from one to a million.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with ESPN data
π Build a historical MLB database.
A data analyst sets the season filter to 2023 and maxItems to 1000000, then runs the Actor daily to collect every game from that year for trend analysis.
βΎ Power a fantasy baseball dashboard.
A developer runs the Actor every morning with no date filter to get the current season's latest scores and statuses, feeding a live fantasy league dashboard.
π° Inform betting models.
A bettor pulls yesterday's date to collect final scores and box-score details, then feeds the results into a model that predicts upcoming game outcomes.
π Automate game recaps.
A content creator runs the Actor for a specific date, grabs the scores and team data, and pipes them into a template that generates a daily MLB recap post.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads the public ESPN scoreboard endpoints directly. |
| Flat rows | Every game is one row, ready for a spreadsheet or database. |
| Full box score | Teams, scores, status, and detailed box-score data in one schema. |
| Historical pulls | Go back to past seasons and dates with the optional filters. |
How it compares
This Actor focuses on MLB scoreboard data from ESPN's public endpoints, while the competitors below cover broader sports or different ESPN data models.
| Feature | ParseForge | ESPN MCP Server | Betting Odds Feed - Sports Lines API | ESPN Sports Scores & Stats Scraper |
|---|---|---|---|---|
| MLB scoreboard data | Yes | Yes | Not listed | Yes |
| Flat row output per game | Yes | Not listed | Not listed | Not listed |
| Season filter | Yes | Not listed | Not listed | Not listed |
| Single date filter | Yes | Not listed | Not listed | Not listed |
| No API key required | Yes | Not listed | Not listed | Not listed |
| Multi-sport support | MLB only | Yes | Yes | Yes |
Configure the run
Drive the Actor with a season year, a specific date, or both, and set a max game count so only the matches you need reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the ESPN MLB Scoreboard Scraper.
- Set your inputs and any filters, then click Start.
- 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.
Use with AI agents (MCP)
Give an AI agent live access to ESPN through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/espn-mlb-scoreboard-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results for a past date?
Check that the date is in YYYYMMDD format and that MLB games occurred on that day. Off-season dates or dates before the ESPN scoreboard coverage begins will return empty.
The Actor returns fewer games than my maxItems setting.
maxItems is an upper limit, not a target. If the season or date you selected has fewer games than your maxItems value, the Actor returns only the games that exist.
I got an error about the date format.
The dates input must be exactly eight digits with no hyphens or slashes: YYYYMMDD. For example, use 20241015, not 2024-10-15.
The data looks different from what I see on the ESPN website.
The Actor returns the raw structured data from ESPN's scoreboard API. The website may display additional derived stats or formatting not present in the underlying data feed.
FAQ
| Question | Answer |
|---|---|
| What MLB data does this Actor return? | It returns every game from the ESPN scoreboard as a flat row: home and away teams, scores by inning, game status, and full box-score details like hits, errors, and pitching decisions. |
| Can I scrape a past MLB season? | Yes. Set the season input to any past year, and the Actor will pull the scoreboard data for that season from ESPN's public endpoints. |
| How do I get games for one specific date? | Use the dates input with a YYYYMMDD string, like 20241015 for October 15, 2024. The Actor will return only games from that day. |
| Does this Actor need an ESPN API key? | No. It reads the same public scoreboard endpoints your browser uses, so there is no registration, API key, or authentication step. |
| Can I limit how many games I scrape? | Yes. The maxItems input lets you set a hard cap from 1 to 1,000,000 games per run, so you control the volume. |
| What format does the data export to? | You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform. |
| Does this Actor include live in-game scores? | It returns the scoreboard data as ESPN serves it. For games in progress, that includes the current score, inning, and status. |
| Can I scrape MLB playoffs and World Series games? | Yes. Postseason games appear on the same scoreboard endpoints, so they are included when you pull the relevant dates or season. |
| Is this Actor affiliated with ESPN or MLB? | No. This is an unofficial tool that reads publicly available data from ESPN endpoints. It is not endorsed by or affiliated with ESPN, Inc. or Major League Baseball. |
| How often can I run this Actor? | You can run it as often as you like. Schedule it every few minutes during a live game day to capture score changes, or run it once for a historical pull. |
Related actors
Browse the full ParseForge collection for more scrapers.
π Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
β οΈ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by ESPN, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| maxItems | integer | How many games to collect per run. | 10 |
| season | integer | Optional season year. Defaults to current season. | not set |
| dates | string | Optional specific date in YYYYMMDD format. | not set |
Pricing
from $7.50 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.0075 to $0.0085 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~espn-mlb-scoreboard-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
