Soccer Stats Scraper - Premier League, LaLiga, UCL & 12 more
Pricing
from $2.00 / 1,000 row of data
Soccer Stats Scraper - Premier League, LaLiga, UCL & 12 more
Soccer player & team game logs, box scores, closing lines with ATS/O-U results, schedules with odds, play-by-play, standings and rosters. Flat rows for football betting models, fantasy and scouting across the Premier League, LaLiga, Serie A, Bundesliga, Ligue 1, Champions League, MLS, A-League and m
Pricing
from $2.00 / 1,000 row of data
Rating
0.0
(0)
Developer
Datawright
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Soccer Stats Scraper - Player Game Logs, Box Scores, Betting Lines & More
Get clean, analysis-ready Soccer data in one click: every player's line for every game, team game logs with closing spread, moneyline and total plus ATS and over/under results, schedules with opening and current lines, key match events, standings and rosters.
Leagues: Premier League, EFL Championship, LaLiga, Serie A, Bundesliga, Ligue 1, Eredivisie, Primeira Liga, Scottish Premiership, UEFA Champions League, UEFA Europa League, MLS, Liga MX, Brasileirao, A-League Men.
Built for football betting models, fantasy and scouting across the Premier League, LaLiga, Serie A, Bundesliga, Ligue 1, Champions League, MLS, A-League and more, spreadsheets and AI agents. No API key, no browser, no login - fast and cheap.
What you get
| Data type | One row per | Highlights |
|---|---|---|
| Player game logs | player per game | Goals, shots, saves, cards, fouls, starter/sub, position, formation, closing line incl. draw |
| Team game logs | team per game | Team stats, spread, moneyline (+ draw), total, ATS result, O/U result |
| Schedule & scores | game | Status, score, venue, TV, records, opening vs current spread/total/moneyline |
| Key events | event | Goals, cards, substitutions and other key events with minute |
| Standings | team | Wins/losses/draws, points, goal or point differential, streak, home/road |
| Rosters | player | Position, jersey, height, weight, age, birthplace, experience |
Every row is flat (no nested JSON), so it drops straight into Excel, Google Sheets, pandas or a database.
How to use
- Pick a league, then what data you want.
- Choose a season (e.g.
2025-26) or a date range - or leave both empty for the most recent games. - Optionally filter by teams and players.
- Run, then download as JSON, CSV or Excel, or pull it via the API.
Examples
Latest player box scores (great as a daily schedule with Only new games on):
{"league": "epl","dataType": "playerGameLogs","daysBack": 3,"onlyNewGames": true}
Full season of team game logs with ATS and over/under results:
{"league": "epl","dataType": "teamGameLogs","season": "2025-26"}
One player's game log for the season:
{"league": "epl","dataType": "playerGameLogs","season": "2025-26","players": ["Mohamed Salah"]}
Upcoming games with betting lines:
{"league": "epl","dataType": "games","daysAhead": 7}
Sample output (player game log)
{"league": "Premier League","season": "2026-27","seasonType": null,"week": null,"gameId": "401879276","gameDate": "2026-09-20T13:00Z","gameDateET": "2026-09-20","status": "STATUS_FULL_TIME","completed": true,"neutralSite": false,"venue": "Vitality Stadium","attendance": 11316,"teamId": "349","team": "BOU","teamName": "AFC Bournemouth","opponentId": "364","opponent": "LIV","homeAway": "home","teamScore": 0,"opponentScore": 1,"result": "L","playerId": "289824","playerName": "Djordje Petrovic","position": "G","jersey": "1","starter": true,"subbedIn": false,"subbedOut": false,"didNotPlay": false,"formation": "4-2-3-1","formationPlace": "1","oddsProvider": "DraftKings","spread": 0.5,"spreadOdds": -150,"moneyline": 215,"drawMoneyline": 270,"total": 2.5,"overOdds": -170,"underOdds": 135,"appearances": 1,"foulsCommitted": 0,"foulsSuffered": 0,"ownGoals": 0,"redCards": 0,"subIns": 0,"yellowCards": 0,"goalsConceded": 1,"saves": 2,"shotsFaced": 0,"goalAssists": 0,"shotsOnTarget": 0,"totalGoals": 0,"totalShots": 0}
Pricing
Pay only for rows you get - see the Pricing tab. Play-by-play rows are priced lower because each game has hundreds of them. Use Max rows or the run's maximum cost to cap spending, and Only new games on schedules so you never pay twice for the same game.
Automate it
- Schedule a daily run (Schedules → Create) with Only new games enabled to keep a database or spreadsheet current.
- Connect to Google Sheets, Zapier, Make, n8n or webhooks from the Integrations tab.
- Call it from code with the Apify API or from AI agents via the Apify MCP server.
FAQ
How fresh is the data? Box scores are available minutes after a game ends; schedules and lines are fetched live on every run.
Which betting lines are included? The primary sportsbook line published on ESPN (usually DraftKings): closing spread, moneyline (plus the draw for soccer) and total on game logs, and opening vs current lines on the schedule.
What if there are no games right now? With no dates set, the actor returns the most recent game day (or, for schedules, the next one) instead of an empty result.
Can I get historical seasons? Yes - set Season to any past season ESPN has box scores for. Soccer seasons are written like "2025-26" (MLS and Brasileirao use a single year).
Disclaimer
This actor is not affiliated with, endorsed by or connected to ESPN, DraftKings or any league. It collects publicly available factual sports statistics. You are responsible for using the data in line with applicable terms and laws.