Flashscore Scraper: Live Scores, Results, Fixtures, All Sports avatar

Flashscore Scraper: Live Scores, Results, Fixtures, All Sports

Pricing

from $0.90 / 1,000 matches

Go to Apify Store
Flashscore Scraper: Live Scores, Results, Fixtures, All Sports

Flashscore Scraper: Live Scores, Results, Fixtures, All Sports

Scrape Flashscore matches for 29 sports, including football, tennis, basketball, hockey and baseball. Today, any day from 7 back to 7 ahead, or live now, or the results and fixtures of a team, player or league page. Scores, status, teams, league, start time. Optional events, stats, odds.

Pricing

from $0.90 / 1,000 matches

Rating

0.0

(0)

Developer

Plainsource

Plainsource

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Security

Limited permissions

Share

Scrape Flashscore matches for 29 sports, including football, tennis, basketball, hockey, baseball, American football, volleyball and cricket. Pick sports and a day (or a range of days from 7 days back to 7 days ahead), or take only the matches that are live right now. You can also paste team, tennis player or league page URLs to get their results and fixtures. Each match is one row with teams, score, status, league and start time. Turn on match details to add the event timeline, statistics and bookmaker odds. No login and no proxy needed.

What data you get

One row per match.

FieldWhat it is
matchId, urlFlashscore match ID and the match page link
sport, country, league, category, leagueUrl, leagueIdWhere the match belongs. Tennis has no country, so category holds the tour (for example ATP - SINGLES)
roundRound or stage (Round 15, Final). See the FAQ for when it is filled
startTimeStart time in UTC, ISO 8601
status, statusDetail, minutescheduled, live, finished, postponed, cancelled, abandoned or interrupted, plus Flashscore's own text (Half time, Set 2, After extra time). minute is filled for live football, futsal and beach soccer
homeTeam, homeTeamShort, homeTeamId, homeTeamUrlHome side (first player in tennis and similar sports)
awayTeam, awayTeamShort, awayTeamId, awayTeamUrlAway side
homeScore, awayScore, scoreGoals, points or runs. In tennis and other set sports, sets won
periodScoresScore per set, quarter, period, half or inning. Football has the first half only
homeTeamCountry, awayTeamCountry, currentGameScore, noteOnly when Flashscore sends them: player nationality, live point score in tennis, cricket match situation
eventsWith match details: goals, cards, substitutions and similar, with minute, team, player and score after a goal
statisticsWith match details: statistics for the match and for each half or period
oddsWith match details: main market (1X2 or home/away) for each bookmaker, current and opening

How to use it

  1. Pick one or more sports, or paste team, player or league page URLs.
  2. Choose Matches by day and the day offsets (0 is today, -1 yesterday, 1 tomorrow), or Live now.
  3. Optional: add league filters (a name like England: Premier League or a league URL), turn on match details, and set max matches.
  4. Start the Actor and open the dataset. Export as JSON, CSV or Excel, or read it through the API.

Example input:

{
"sports": ["soccer"],
"mode": "day",
"dayOffsetFrom": -1,
"dayOffsetTo": -1,
"leagueFilters": ["England: Premier League"],
"includeDetails": true,
"maxMatches": 5
}

Example output (shortened, from a real run):

{
"matchId": "xxDTaeAO",
"url": "https://www.flashscore.com/match/football/arsenal-hA1Zm19f/liverpool-lId4TMwf/?mid=xxDTaeAO",
"sport": "football",
"country": "England",
"league": "Premier League",
"round": "Round 9",
"startTime": "2026-11-01T16:30:00.000Z",
"status": "finished",
"statusDetail": "Finished",
"homeTeam": "Liverpool",
"homeTeamId": "lId4TMwf",
"awayTeam": "Arsenal",
"awayTeamId": "hA1Zm19f",
"homeScore": 0,
"awayScore": 1,
"score": "0-1",
"periodScores": [{ "period": 1, "label": "1st half", "home": 0, "away": 0 }],
"events": [
{ "period": "1st Half", "minute": "16'", "team": "away", "type": "Goal", "player": "Havertz K.", "related": [{ "role": "Assistance", "player": "Rice D." }], "homeScore": 0, "awayScore": 1 },
{ "period": "1st Half", "minute": "45+3'", "team": "home", "type": "Yellow Card", "player": "Barcola B.", "reason": "Tripping" }
],
"statistics": [
{ "period": "Match", "group": "Top stats", "name": "Ball possession", "home": "56%", "away": "44%" },
{ "period": "Match", "group": "Top stats", "name": "Total shots", "home": "17", "away": "10" }
],
"odds": [
{ "bookmaker": "bet365.us", "market": "1X2", "scope": "FULL_TIME", "home": 2.75, "draw": 3.6, "away": 2.45, "openingHome": 3.25, "openingDraw": 3.5, "openingAway": 2.1 }
]
}

A basketball row without details looks the same minus events, statistics and odds, and its periodScores hold the four quarters.

How much does it cost?

You pay per match saved: $0.0009 per match ($0.90 per 1,000 matches), plus a start fee of $0.0005 per run. Match details do not cost extra, they only make the run slower. Runs that find no matches, and inputs that fail, save nothing and cost only the start fee.

Worked example: a daily run of all football matches for one day (about 270 matches) costs 270 x $0.0009 + $0.0005 = $0.2435.

Use cases

  • Keep a database of results and fixtures for a sport or a league, with a scheduled run every day.
  • Poll live matches every few minutes to power a score alert or a dashboard.
  • Pull statistics and event timelines of finished matches for analysis or models.
  • Track opening and current odds from several bookmakers for the same match.
  • Build a fixture list for one team or one tennis player.

FAQ

Do I need a proxy? No. Requests from Apify servers worked without one in testing. A proxy field is there if you ever see blocked requests.

Which sports work? The 29 in the sport list: football, tennis, basketball, hockey, American football, baseball, handball, rugby union and league, volleyball, beach volleyball, cricket, darts, snooker, table tennis, badminton, MMA, boxing, esports, futsal, floorball, bandy, Aussie rules, water polo, field hockey, beach soccer, netball, pesapallo and kabaddi. Races (motorsport, cycling, golf, horse racing) have no home and away sides and are not covered. Checked against live data: football, tennis, basketball, hockey, baseball, American football, handball, rugby union, volleyball, cricket, darts, snooker, table tennis, MMA and esports. The other sports use the same data format but were not checked one by one.

How far back and ahead can I go? Day mode covers 7 days back and 7 days ahead of today. For more history, paste a team, player or league page URL: those give the results and fixtures Flashscore lists on that page (whole seasons for leagues, years back for teams and players).

When is round filled? On league page URLs, and whenever match details are on. In plain day mode and on team or player pages Flashscore does not send it with the list, so it is empty unless you turn on match details.

What about minute? Football, futsal and beach soccer only. It is calculated from the time the current half started and is capped at 45 in the first half and 90 in the second (120 in extra time). Other sports show the current set, quarter or period in statusDetail.

What does "Live now" return? Every match Flashscore marks as live for the chosen sports. If nothing is live you get an empty dataset and a message. Interrupted matches are not counted as live.

Why are there no odds on some matches? Flashscore shows only the bookmakers that operate in a country. Set the odds country code (default US) to see another country's bookmakers. Some leagues have no odds at all.

What does a league filter match? A name matches any league whose full name contains it, so Premier League also finds the Egyptian one. Use England: Premier League or the league URL to be exact. A filter that matches nothing is reported in the run log and in the SUMMARY record, and the run still succeeds.

What is not included? Lineups, head-to-head tables, standings, player ratings, venue and referee. Start times are UTC; use the time zone offset to decide where a day starts.

Is this allowed? The Actor reads the same public data the Flashscore website shows to every visitor. Check Flashscore's terms and the law that applies to you before you use the data commercially.

Other Actors by this developer