MLS Standings Scraper
Pricing
from $7.50 / 1,000 results
MLS Standings Scraper
Scrapes MLS standings from MLSsoccer.com by season and conference. Returns each row with team, points, wins, losses, draws, goals for, goals against, and goal difference.
Pricing
from $7.50 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
3
Monthly active users
11 days ago
Last modified
Categories
Share
MLS Standings Scraper
Scrape MLS standings from any season, conference, or team, up to a million rows per run. Every row comes with points, wins, losses, draws, goals for and against, goal difference, and playoff position. No login or API key. Export to CSV, JSON, Excel, or XML.
MLS standings live on the league's official site, but there is no public API and copying tables by hand is slow and error-prone. This Actor reads the standings pages directly, filtered by season and conference, and returns each row in one fixed schema. It works for the current season and any past season the site still lists.
| Who uses it | What they scrape MLSsoccer.com for |
|---|---|
| Sports analysts | Compare team performance across seasons to spot trends |
| Fantasy soccer players | Pull current standings to inform weekly lineup decisions |
| Sports journalists | Gather standings data for match previews and recaps |
| Betting modelers | Feed standings into predictive models for match outcomes |
| MLS fans | Track their team's position in the conference race |
What it does
This Actor collects MLS standings rows by season and conference, and returns each one as a flat row with team, points, wins, losses, draws, goals, and goal difference.
- ๐ Season selector: pick any season year, from the inaugural 1996 season to the current one.
- ๐ Conference filter: choose both conferences, Eastern only, or Western only.
- ๐ข Row cap: set a maximum number of standings rows to collect per run, from 1 to 1,000,000.
- ๐ Flat output: every row is a flat object with team, points, wins, losses, draws, goals for, goals against, and goal difference.
- ๐ Multiple formats: export to CSV, JSON, Excel, or XML with one click.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with MLSsoccer.com data
๐ Track playoff races.
A sports analyst runs the Actor weekly for the current season, filters by conference, and charts each team's points and goal difference to see who is pulling away.
๐ Build a historical dataset.
A data scientist runs the Actor for every season from 2010 to 2025, exports to CSV, and trains a model that predicts final standings from early-season results.
๐ฐ Power match previews.
A journalist pulls the latest standings before a rivalry match and uses the points and goal difference to frame the stakes in the article.
๐ฎ Update a fantasy league dashboard.
A developer schedules the Actor to run every Monday, then feeds the JSON into a dashboard that shows each fantasy team's real-life club position.
๐ Spot slumps and surges.
A fan runs the Actor for the last five seasons, filters to their team's conference, and compares wins and losses to see if the current form is an outlier.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads the public standings pages directly, no registration or OAuth. |
| Any season | Works for the current season and any past season the site still lists. |
| Conference filter | Get Eastern, Western, or both conferences in one run. |
| Flat schema | Every row has the same fields, so you can append runs and build a time series. |
How it compares
No other Store actor targets MLSsoccer.com the same way, so the honest comparison is with the alternatives teams actually weigh.
| MLS Standings Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When MLSsoccer.com changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with a season year and an optional conference filter, and set a maximum number of rows to collect per run. 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 MLS Standings 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 MLSsoccer.com 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/mlssoccer-standings-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check the season year. If you set a season that the MLS site does not list, the Actor will return an empty dataset. Try the current year or a known past season like 2024.
Why does the run stop before collecting all rows?
The maxItems input caps the number of rows. Increase maxItems up to 1,000,000 if you need more rows.
Why are some teams missing from the standings?
The MLS site may not list every team in every season, especially for older seasons. The Actor returns exactly what the site shows.
Why does the conference filter return no rows?
Make sure you spelled the conference correctly: 'eastern', 'western', or 'both'. The input is case-sensitive.
Why is the data different from what I see on the MLS website?
The Actor reads the page at the moment of the run. If the site updated after your run, run the Actor again to get the latest standings.
FAQ
| Question | Answer |
|---|---|
| Does this scrape the current MLS season? | Yes. If you leave the season field empty, it defaults to the current year. You can also set any past season year that the site still lists. |
| Can I get only the Eastern Conference standings? | Yes. Set the conference input to 'eastern' and the Actor will return only Eastern Conference rows. You can also choose 'western' or 'both'. |
| What fields does each standings row include? | Each row includes the team name, conference, points, wins, losses, draws, goals for, goals against, and goal difference. The exact field list is shown in the sample output below. |
| Is there a limit on how many rows I can scrape? | You can set maxItems from 1 to 1,000,000. The default is 10. The Actor stops after collecting that many rows. |
| Do I need an API key or login? | No. The Actor reads the public standings pages on MLSsoccer.com directly. No registration or OAuth is required. |
| Can I export the data to Excel? | Yes. After a run finishes, you can export the dataset to CSV, JSON, Excel, or XML from the Apify platform. |
| Does this work for past seasons? | Yes, as long as the MLS website still lists standings for that season. Most seasons back to 1996 are available. |
| How often is the data updated? | The Actor reads the live page on each run, so the data is as current as the MLS website. Schedule it to run daily or weekly for fresh standings. |
| Can I filter by team? | The input schema does not have a team filter. You can filter by season and conference, then filter the output rows by team name in your own code or spreadsheet. |
| What is the output format? | Each row is a flat JSON object. When you export, you can choose CSV, JSON, Excel, or XML. |
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 Major League Soccer, L.L.C. 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.
