Football Data Scraper avatar

Football Data Scraper

Pricing

from $1.60 / 1,000 results

Go to Apify Store
Football Data Scraper

Football Data Scraper

Football (soccer) data for 270+ leagues: standings, top scorers, live scores, match events, statistics, lineups and head-to-head, team profiles and player career stats. One result per row.

Pricing

from $1.60 / 1,000 results

Rating

0.0

(0)

Developer

try mersianto

try mersianto

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Football (soccer) data for 270+ leagues and cups in one Actor: league standings, top scorers, live and today's matches, full match details (goals, cards, substitutions, statistics, lineups, formations, coaches, head-to-head), team profiles with recent and upcoming matches, and player profiles with career stats per season. $2 per 1,000 results on the Free plan, less on paid plans. No browser and no login, so runs take seconds.

What you get

Every row has a type. Fields that do not apply to a type are left out.

FieldTypeDescription
typestringRow type: league, standing, top_scorer, live_match, match_detail, team, player, search_team or search_match
idstringID of the row: league, match, team or player ID; league-team or league-player for standings and top scorers
namestring or nullName (leagues, teams, players, search results)
league_idstring or nullLeague ID, usable as leagueIds input
league_namestring or nullLeague name
seasonstring or nullSeason, for standings
positioninteger or string or nullTable position (standings, top scorers) or playing position (players)
team_idstring or nullTeam ID, usable as teamIds input
team_namestring or nullTeam name
player_idstring or nullPlayer ID, usable as playerIds input
player_namestring or nullPlayer name
games_playedinteger or nullStandings: games played
winsinteger or nullStandings: wins
drawsinteger or nullStandings: draws
lossesinteger or nullStandings: losses
goals_forinteger or nullStandings: goals scored
goals_againstinteger or nullStandings: goals conceded
goal_differenceinteger or nullStandings: goal difference
pointsinteger or nullStandings: points
goalsinteger or nullTop scorers: goals
penaltiesinteger or nullTop scorers: penalty goals
start_timestring or nullMatch kick-off, UTC, ISO 8601
statusstring or nullMatch status, for example Full time or the current minute
home_teamstring or nullHome team
away_teamstring or nullAway team
home_scoreinteger or nullHome goals
away_scoreinteger or nullAway goals
eventsarray or nullMatch details: goals, cards and substitutions with minute and player
statisticsarray or nullMatch details: possession, shots, corners and more, home and away
home_lineupobject or nullMatch details: home starting XI by line
away_lineupobject or nullMatch details: away starting XI by line
head_to_headarray or nullMatch details: previous meetings
career_statsobject or nullPlayers: matches, goals and cards per season for league, cups, international cups and national team
matchesarray or nullTeams: recent and upcoming matches
scraped_atstringUTC time the row was scraped, ISO 8601

Team rows also include logo, city, country, coach, venue, capacity and founded. Player rows include photo, team, nationality, position, market_value and preferred_foot; no birth dates, heights or other personal details.

Input

Pick one mode per run:

ModeUsesOne row per
standingsleagueIdsteam in the table
topScorersleagueIdsplayer in the scorer list
livescorenothinglive or today's match
matchDetailsmatchIdsmatch, with events, statistics, lineups and head-to-head
teamsteamIdsteam, with its matches
playersplayerIdsplayer, with career stats
searchsearchQueriesteam or match found
leaguesnothingleague, with its ID

IDs can be plain numbers or links that contain id= and a number. Empty leagueIds means the big five: Premier League (1204), La Liga (1399), Serie A (1269), Bundesliga (1229) and Ligue 1 (1221). Find other IDs with leagues mode, team IDs in standings or search, and player IDs in top scorers, lineups and events.

{
"mode": "standings",
"leagueIds": ["1204", "1399"]
}
{
"mode": "matchDetails",
"matchIds": ["4376282"]
}

Example output

{
"type": "standing",
"id": "1204-9259",
"league_id": "1204",
"league_name": "Premier League",
"season": "2026/2027",
"position": 1,
"team_id": "9259",
"team_name": "Man City",
"team_logo": "https://footballimages.ams3.cdn.digitaloceanspaces.com/teams70px/9259.jpg",
"games_played": 6,
"wins": 6,
"draws": 0,
"losses": 0,
"goals_for": 16,
"goals_against": 5,
"goal_difference": 11,
"points": 18,
"scraped_at": "2026-10-16T16:58:51+00:00"
}
```json
{ "mode": "topScorers", "leagueIds": ["1204"] }

Each dataset item is one row; read type first, then the fields listed above.