SofaScore API Scraper
Pricing
from $1.00 / 1,000 dataset rows
Go to Apify Store
SofaScore API Scraper
Scrape live scores, scheduled fixtures, match detail and search results directly from SofaScore's public backend API.
SofaScore API Scraper
Pricing
from $1.00 / 1,000 dataset rows
Scrape live scores, scheduled fixtures, match detail and search results directly from SofaScore's public backend API.
What to scrape. Pick a mode, then fill in the matching section below.
SofaScore sport. Used by 'Live events' and 'Scheduled events' modes.
End date for 'Scheduled events' mode, inclusive. Defaults to dateFrom.
SofaScore event IDs to fetch full detail for. Add one ID per line.
[]Free-text query (team, player, tournament). Returns matches with their SofaScore IDs.
SofaScore uniqueTournament ID (e.g. 17 = Premier League, 8 = LaLiga, 23 = Serie A). Find it via 'Search' mode or a tournament page URL.
Optional season ID. Leave empty to use the current season automatically.
Which table to return in 'League table (standings)' mode.
For 'League fixtures & results (tournament)' mode: past results or upcoming fixtures.
Also fetch the full squad (players) and nest it on the team row.
SofaScore player ID. Find it via 'Search' mode or a player page URL.
Paste SofaScore links (matches, teams, players, tournaments). Each is routed to the right fetch automatically. One URL per line.
[]For 'Live'/'Scheduled'/'Tournament' modes, fan out and fetch full match detail (GET /event/{id}) for every event found instead of pushing the list item as-is. Multiplies request count. (Enabling any enrichment below turns this on automatically.)
Nest per-match statistics (possession, shots, passes, etc.) on each event row. Fetches full match detail per event.
Nest starting lineups, formations and per-player match ratings on each event row.
Nest match incidents (goals, cards, substitutions, period markers) on each event row.
Nest pre-match betting markets and odds on each event row.
Nest the crowd win/draw/win vote tallies on each event row.
Nest the head-to-head summary between the two teams on each event row.
Pages to sweep per day ('Scheduled') or per league season ('Tournament'). Scheduled pagination is 1-indexed; the scraper stops early once a page returns no events.
Stop after pushing this many dataset items. 0 = unlimited.
Small delay between outgoing API calls to stay polite to Cloudflare-fronted api.sofascore.com.
Cloudflare fronts api.sofascore.com and appears to block Apify's datacenter IP range outright, so residential proxy is enabled by default. You can disable it if running from an IP Cloudflare already trusts.
{ "useApifyProxy": true, "apifyProxyGroups": [ "RESIDENTIAL" ]}