Flashscore Scraper - Results, Stats, Lineups & Bookmaker Odds avatar

Flashscore Scraper - Results, Stats, Lineups & Bookmaker Odds

Pricing

from $1.05 / 1,000 results

Go to Apify Store
Flashscore Scraper - Results, Stats, Lineups & Bookmaker Odds

Flashscore Scraper - Results, Stats, Lineups & Bookmaker Odds

Flashscore data for football, tennis, basketball, hockey and 13 more sports: results with period scores, match statistics (xG, possession, shots), lineups with ratings, incidents and opening/closing odds from ~20 bookmakers. By day or whole tournament seasons from the archive.

Pricing

from $1.05 / 1,000 results

Rating

0.0

(0)

Developer

Artsiom Kunitsyn

Artsiom Kunitsyn

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

Match data from Flashscore for football (soccer), tennis, basketball, ice hockey, American football, baseball, handball, rugby, volleyball, futsal, darts, table tennis, esports and more:

  • Matches: final score, score per half / quarter / period / set, regular-time score, status (finished, after extra time, after penalties, retired, walkover, postponed ...), winner, tournament, round.
  • Match statistics: expected goals (xG), xGOT, possession, shots, big chances, corners, passes, crosses, tackles, duels, cards and more, for the whole match and each half (or set, quarter, period).
  • Lineups: starters, substitutes, missing players and coaches, with formation, shirt number, nationality, captain and Flashscore's player and team ratings.
  • Incidents: goals, penalties, assists, cards, substitutions and VAR from the match summary, with the score after each goal and Flashscore's commentary.
  • Bookmaker odds: opening and closing odds per bookmaker (about 20 UK bookmakers: bet365, Betfair, Ladbrokes, Coral, Sky Bet, Betfred, Unibet, Betway, BetVictor ...) for 1X2, moneyline, over/under, Asian and European handicap, double chance, draw no bet, both teams to score, correct score and more, by full time, half, quarter or set.

Pick matches by day (7 days back to 7 days ahead), by tournament and season (whole seasons from Flashscore's archive: the Premier League, Champions League, NBA, NHL, ATP and WTA tournaments and thousands more), or by match URL. No proxy needed, so runs are fast and cheap.

What you get

entityType: "matches" (the default) returns one row per match:

FieldExample
sport, match_id, date, start_time_utcfootball, tW4rOkzg, 2026-10-12, 2026-10-12T19:00+00:00
country, tournament, roundEngland, Premier League, Round 6
home_team, away_team, home_score, away_scoreCoventry, Newcastle, 4, 1
status, status_detail, winnerfinished, Finished, Coventry
periods[{"period": 1, "home": 1, "away": 0}, {"period": 2, "home": 3, "away": 1}]
home_score_regular_time, away_score_regular_timethe score before extra time / penalties
tournament_url, match_urlFlashscore pages

Every other type repeats the match columns (date, tournament, home_team, away_team, scores, match_url) and adds:

  • statistics: one row per period (match, 1st half, 2nd half ...). Each statistic is two columns, home_<name> and away_<name>: home_expected_goals_xg, away_ball_possession, home_total_shots, home_shots_on_target, home_corner_kicks ... Ratios like 70% (185/264) become home_passes = 185, home_passes_total = 264 and home_passes_pct = 70.
  • lineups: one row per player or coach: side, team, role (starting, substitute, missing, coach), formation, player, shirt_number, nationality, rating, team_rating, captain, goalkeeper.
  • incidents: one row per incident: period, minute, added_time, team, incident (Goal, Penalty, Yellow Card, Substitution - Out ...), player, incident2/player2 (the assist, or the player coming on), home_score_after, away_score_after, commentary.
  • odds: one row per bookmaker, market and selection: bookmaker, market (home_draw_away, home_away, over_under, asian_handicap ...), market_period, line, selection (home, draw, away, over, under, yes, no or a score), opening_odds, current_odds (decimal; the closing odds once the match is over).

How to use it

  • Yesterday's and today's football results (the default): just run it.
  • Several sports: pick them under Sports, e.g. tennis and basketball.
  • A whole season: Tournaments = https://www.flashscore.com/football/england/premier-league/, Seasons = 2024/2025, clear Max items. Seasons = all for every season in the archive.
  • xG and shots for a season: the same, with entityType: "statistics".
  • Closing odds for backtesting: entityType: "odds" for a season. Pick the markets and periods you need: a football match has about 500 odds rows for 1X2, totals and Asian handicaps from 20 bookmakers, and ~3,000 with every market.
  • Pre-match odds: entityType: "odds", Match status = upcoming.
  • A daily feed: schedule it daily with the default dates, Max items cleared and Mode = incremental.

Input

FieldDefaultWhat it does
entityTypematchesmatches, statistics, lineups, incidents or odds.
sportsfootballListing by day: which sports.
dateFrom, dateToyesterday and todayListing by day covers 7 days back to 7 ahead. With tournaments, the dates only filter.
matchStatusfinishedfinished, upcoming or all.
tournaments, seasonsnoneTournament URLs and which seasons (2024/2025, 24/25, 2024, all; empty = current).
matchUrlsnoneMatch URLs or ids.
oddsCountryGBOdds: the bookmakers of this country (the UK has ~20).
oddsMarkets1X2, moneyline, over/under, Asian handicapOdds: which markets; empty = all.
oddsPeriodsfull timeOdds: which parts of the match; empty = all.
maxItems50Row cap. Clear it for everything.
modefullincremental skips finished matches earlier incremental runs returned.
concurrency10Requests in parallel.

Good to know

  • Times and dates are UTC.
  • Statistics, lineups and odds exist mostly for the bigger competitions; smaller leagues often have results only.
  • In tennis, home_team/away_team are player 1 and player 2 and the scores are sets; periods holds the games per set.
  • Odds rows carry opening and closing odds, not every move in between.
  • Standings are not included.