SofaScore Scraper: Live Scores, Stats & Fixtures
Pricing
from $1.13 / 1,000 match or results
SofaScore Scraper: Live Scores, Stats & Fixtures
Scrape SofaScore live scores, fixtures, and results across 13 sports, plus deep match statistics, incidents, lineups, and player/team search. No login or API key. $0.80 per 1,000 results.
Pricing
from $1.13 / 1,000 match or results
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
β½ SofaScore Scraper: Live scores, stats and fixtures
Pull live scores, fixtures, final results, and deep match statistics from SofaScore across 13 sports, with no login and no API key. Track in-play matches minute by minute, download a full day of fixtures and results by date, grab detailed match statistics with lineups and incidents, or look up any player, team, manager, or referee by name. Export everything to JSON, CSV, or Excel.
This scraper covers football, basketball, tennis, ice hockey, baseball, handball, volleyball, snooker, rugby, MMA, cricket, American football, and esports.
π What does the SofaScore Scraper do?
The SofaScore Scraper collects public sports data from SofaScore and turns it into clean, structured rows you can use anywhere. Point it at a sport, a date, or a match, choose a mode, and press start. There are four modes:
- Live events: every in-play match for a sport, with current score, status, and tournament.
- Scheduled events: all fixtures and results for a chosen date, across every competition.
- Event detail: deep statistics for specific matches, including possession, shots, expected goals, the incident timeline (goals, cards, substitutions), and starting lineups.
- Search: look up players, teams, managers, and referees by name, with followers, country, position, and team.
Because it runs on the Apify platform, you also get scheduling, ready-made integrations, automatic proxy rotation, run monitoring, and clean exports in JSON, CSV, Excel, XML, or RSS.
π‘ Why use the SofaScore Scraper?
Most SofaScore tools stop at a flat list of scores. This one goes deeper: it also gives you the per-match statistics, expected goals, lineups, and incident timelines that power real analysis.
- Betting and trading models: feed live scores and match statistics into your own models and dashboards.
- Sports analytics and research: build datasets of results, expected goals, and player ratings across seasons.
- Fantasy and prediction tools: refresh fixtures, results, and lineups automatically before each round.
- Media and content sites: power live score widgets, match previews, and result tables.
- Data journalists: pull a whole day of fixtures and results in one run and analyse them in a spreadsheet.
π How to use the SofaScore Scraper
- Click Try for free at the top of this page.
- Pick a mode: Live events, Scheduled events, Event detail, or Search.
- Choose a sport (football is the default), and set a date or search query if your mode needs one.
- Set Max items to cap how many records you want.
- Press Start and watch the results fill the Output tab in seconds.
- Download the dataset in JSON, CSV, or Excel, or connect it to Google Sheets, Make, Zapier, or your own app.
New here? SofaScore data appears almost instantly, so a first run of 10 to 20 items is a great way to see the output shape before scaling up.
π₯ Input
Set these fields in the Console form, or pass them as JSON. Most fields only apply to some modes.
| Field | Type | Required | Description |
|---|---|---|---|
| Scrape mode | enum | Yes | What to scrape: liveEvents, scheduledEvents, eventDetail, or search. |
| Sport | enum | Yes | One of 13 sports. Applies to live, scheduled, and search modes. |
| Date | string | No | Day to fetch fixtures and results for, as YYYY-MM-DD. Empty means today. Scheduled mode only. |
| Status filter | enum | No | Keep only all, live, scheduled, or finished matches. Live and scheduled modes. |
| Search query | string | No | Name of a player, team, manager, or referee. Search mode only. |
| Events | array of IDs or URLs | No | Match IDs or SofaScore match URLs to fetch detail for. Event detail mode only. |
| Include match statistics | boolean | No | Attach possession, shots, expected goals, and more. Event detail mode. |
| Include incidents | boolean | No | Attach the goal, card, and substitution timeline. Event detail mode. |
| Include lineups | boolean | No | Attach starting lineups, formations, and player ratings. Event detail mode. |
| Max items | integer | No | Maximum records to return. Use 0 for no limit. |
| Proxy configuration | object | No | Proxy settings. Residential is the recommended default. |
π€ Output
Every match becomes one clean row. Here is a shortened example from Live events mode:
{"rowType": "event","id": 16269305,"matchName": "Finland U17 - Latvia U17","sport": "football","tournament": "Baltic Cup U17","category": "Europe","season": "2026","round": 3,"statusType": "inprogress","statusDescription": "1st half","startTime": "2026-07-02T12:00:00.000Z","homeTeam": "Finland U17","awayTeam": "Latvia U17","homeScore": 0,"awayScore": 0,"eventUrl": "https://www.sofascore.com/latvia-u17-finland-u17/ccjsxcj"}
A Search result looks like this:
{"rowType": "searchResult","entityType": "player","name": "Lionel Messi","country": "Argentina","teamName": "Inter Miami CF","position": "F","jerseyNumber": "10","userCount": 2688466,"entityUrl": "https://www.sofascore.com/player/lionel-messi/12994"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab has four ready-made views: Matches, Fixtures and results, Search results, and Match detail.
π Data table
Main fields returned for matches and search results. Empty fields are dropped, so every value you see is real.
| Field | Type | Description |
|---|---|---|
| rowType | string | Row kind: event, eventDetail, or searchResult. |
| id | number | SofaScore event or entity ID. |
| matchName | string | Home and away teams combined, e.g. "Home - Away". |
| sport | string | Sport of the match. |
| tournament | string | Competition name. |
| category | string | Region or country group of the competition. |
| country | string | Country of the competition or entity. |
| season | string | Season the match belongs to. |
| round | number | Round or matchday number. |
| statusType | string | inprogress, notstarted, finished, postponed, and similar. |
| statusDescription | string | Human status, e.g. "1st half", "Ended". |
| startTime | string | Kickoff time in ISO 8601 UTC. |
| homeTeam / awayTeam | string | Team or player names. |
| homeScore / awayScore | number | Current score. Absent before kickoff. |
| winnerCode | number | Which side won, once a match is finished. |
| hasStatistics | boolean | Whether deep player statistics are available. |
| eventUrl | string | Direct link to the match on SofaScore. |
| statistics | array | Match statistics such as possession, shots, and expected goals. Event detail mode. |
| incidents | array | Timeline of goals, cards, and substitutions. Event detail mode. |
| lineups | object | Starting lineups, formations, and ratings. Event detail mode. |
| entityType | string | For search rows: player, team, manager, or referee. |
| name | string | For search rows: the entity name. |
| teamName | string | For search rows: the player's current team. |
| position | string | For search rows: player position. |
| userCount | number | For search rows: number of followers on SofaScore. |
| entityUrl | string | For search rows: link to the entity on SofaScore. |
π° Pricing
This Actor uses pay per result, so you only pay for the records you actually receive. Runs that return nothing cost nothing, and there are no monthly subscriptions or hidden fees. Set Max items to keep any run within your budget, and start small to preview the data before scaling up.
β FAQ
Is scraping SofaScore legal?
This Actor collects only public data that anyone can view on SofaScore without logging in. Scraping public data is generally legal, but you are responsible for how you use the results. Do not collect private data, and follow SofaScore's terms and applicable laws.
Do I need a SofaScore account or API key?
No. The Actor needs no login, no password, and no API key. Just choose a mode and press start.
How do I get statistics and lineups for a match?
Run Live events or Scheduled events first to collect match IDs. Then run Event detail mode with those IDs and switch on statistics, incidents, and lineups. Note that some lower-league matches do not publish full statistics or lineups.
Which sports are supported?
Football, basketball, tennis, ice hockey, baseball, handball, volleyball, snooker, rugby, MMA, cricket, American football, and esports.
Can I schedule automatic runs?
Yes. Use the Apify Scheduler to run the Actor every few minutes for live data, or once a day for fixtures and results, and send the output straight to your app or spreadsheet.
π Support
Found a bug, or need an extra field? Open an issue on the Issues tab of this Actor and it will be reviewed. Custom versions and larger data pulls are available on request.