Flashscore Scraper - Tennis, Football Results and Fixtures
Pricing
from $0.80 / 1,000 matches
Flashscore Scraper - Tennis, Football Results and Fixtures
Flashscore scraper for match results and fixtures of any sport and any season: tennis, football, basketball, hockey and more. Scores per set, half or quarter, tiebreaks, round, players or teams, countries, start time, status (retired, walkover). Past seasons too. No login, no browser.
Pricing
from $0.80 / 1,000 matches
Rating
0.0
(0)
Developer
Kamer Ozkan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
A Flashscore scraper for match results and fixtures of any sport, any tournament and any season: paste a Flashscore tournament URL (Wimbledon, the US Open, the Premier League, the NBA, LaLiga...) and get every match with players or teams, round, start time, final score, scores per set, half or quarter with tiebreak points, winner and status (finished, retired, walkover, after extra time, after penalties, scheduled). Past seasons work too. No login, no API key, no browser.
What does Flashscore Scraper do?
It reads the public Flashscore tournament pages and the same "Show more matches" data the website loads, so one run returns the whole list, not only the first block: all 239 singles matches of Wimbledon 2024 including qualifying, or the full fixture list of a football league season. Give it the current season (/tennis/atp-singles/wimbledon/results/), a past season (/tennis/atp-singles/wimbledon-2024/results/) or a plain tournament URL plus a list of Past seasons to build a multi-season history in one run.
Flashscore tennis: ATP, WTA, Challenger and ITF tournaments with set scores, tiebreak points, round, surface, player country, retired and walkover flags. Flashscore football: every league and cup with full-time score, first-half and second-half score, round, home and away team. Flashscore basketball (tested on the NBA) comes with quarter scores; other Flashscore sports use the same page format with their own periods.
Who is it for?
- Bettors, tipsters and betting model builders: historical results with set, half and quarter scores across seasons to train and backtest models.
- Sports data analysts and journalists: tournament draws, rounds and results for any sport and year in one table.
- Fantasy sports and sports apps: fixtures with start times for the coming rounds, refreshed on a schedule.
- Tennis analysts: tiebreaks, retirements, walkovers and qualifying matches that many other tools leave out.
What data can you get?
| Field | Example |
|---|---|
matchId, url | Sf0bExdB, https://www.flashscore.com/match/Sf0bExdB/ |
sport, category, tournament | tennis, ATP - SINGLES, Wimbledon (United Kingdom), grass |
country, surface | United Kingdom, grass (tennis); England (football) |
season, stage, round | 2024, Main (or Qualification), Final |
startTime | 2024-07-14T13:10:00Z (UTC) |
status, statusCode | finished, retired, walkover, after extra time or overtime, after penalties, scheduled, postponed, cancelled |
home, away | {"name": "Alcaraz C.", "id": "UkhgIFEq", "slug": "alcaraz-garfia-carlos", "country": "Spain", "url": "https://www.flashscore.com/player/alcaraz-garfia-carlos/UkhgIFEq/"} |
homeScore, awayScore | 3, 0 (sets in tennis, goals in football, points in basketball) |
homeScoreFullTime, awayScoreFullTime | regular-time score as Flashscore lists it |
winner | home, away, draw or null (not played yet) |
periods | [{"period": 1, "home": 6, "away": 2}, {"period": 3, "home": 7, "away": 6, "tiebreakHome": 7, "tiebreakAway": 4}] |
listType, sourceUrl, scrapedAt | results or fixtures, the page the row came from, the time of the run |
periods holds sets in tennis, halves in football (first half, second half) and quarters in basketball (a fifth entry is overtime). Tiebreak points appear on sets that went to a tiebreak.
Match statistics (aces, possession, shots) and betting odds are not part of the tournament lists and are not collected.
How much does it cost?
You pay per match: $1.00 per 1,000 matches ($0.001 per match) on the Free plan, with Store discounts on paid Apify plans: Bronze $0.90, Silver $0.85, Gold and above $0.80 per 1,000 matches. Platform usage is included.
Worked examples:
- All 239 singles matches of Wimbledon 2024 (main draw and qualifying): 239 x $0.001 = $0.24.
- A full football league season of 380 matches: 380 x $0.001 = $0.38.
- Five seasons of one Grand Slam (about 1,200 matches): $1.20.
Matches outside your Matches from and Matches until dates and pages that cannot be read (listed in the OUTPUT record) are never charged. Set Max matches in total or a maximum cost per run to cap spending.
How to use it
- Click Try for free.
- Open the tournament on flashscore.com, click Results or Fixtures, and paste the URL into Flashscore tournament URLs. For a past season pick it in the Flashscore season menu, or write the season in Past seasons (2024, 2023 for tennis; 2024-2025 for leagues).
- Optional: set Matches from and Matches until dates and Max matches per URL.
- Click Start and download the table as CSV, Excel, JSON or through the API. The Scores by set, half or quarter view shows the period scores.
Input example
{"startUrls": ["https://www.flashscore.com/tennis/atp-singles/wimbledon/","https://www.flashscore.com/football/england/premier-league/fixtures/"],"include": "results","seasons": ["2025", "2024"],"maxMatchesPerUrl": 500,"maxItems": 2000}
Output example
An unedited row from a live run:
{"matchId": "M3WOyNpQ","url": "https://www.flashscore.com/match/M3WOyNpQ/","sport": "tennis","category": "WTA - SINGLES","tournament": "US Open (USA), hard","country": "USA","surface": "hard","season": "2025","stage": "Main","round": "Final","startTime": "2025-09-06T20:20:00Z","status": "finished","statusCode": 3,"home": {"name": "Sabalenka A.", "id": "vyhksgUB", "slug": "sabalenka-aryna", "country": "World", "url": "https://www.flashscore.com/player/sabalenka-aryna/vyhksgUB/"},"away": {"name": "Anisimova A.", "id": "nwkutKbi", "slug": "anisimova-amanda", "country": "USA", "url": "https://www.flashscore.com/player/anisimova-amanda/nwkutKbi/"},"homeScore": 2,"awayScore": 0,"homeScoreFullTime": 2,"awayScoreFullTime": 0,"winner": "home","periods": [{"period": 1, "home": 6, "away": 3},{"period": 2, "home": 7, "away": 6, "tiebreakHome": 7, "tiebreakAway": 3}],"listType": "results","sourceUrl": "https://www.flashscore.com/tennis/wta-singles/us-open-2025/results/","scrapedAt": "2026-10-21T08:19:25.691056Z"}
A football row from the Premier League:
{"sport": "football","category": "ENGLAND","tournament": "Premier League","country": "England","season": "2026/2027","round": "Round 7","startTime": "2026-10-19T19:00:00Z","home": {"name": "Tottenham", "id": "UDg08Ohm", "slug": "tottenham", "country": null, "url": "https://www.flashscore.com/team/tottenham/UDg08Ohm/"},"away": {"name": "Coventry", "id": "GOvB22xg", "slug": "coventry", "country": null, "url": "https://www.flashscore.com/team/coventry/GOvB22xg/"},"homeScore": 3,"awayScore": 1,"winner": "home","periods": [{"period": 1, "home": 1, "away": 0}, {"period": 2, "home": 2, "away": 1}]}
Integrations and API
Run it from your code with the Apify API or the apify-client package, schedule it in Apify (for example every morning for yesterday's results with Matches from), or connect it to Make, n8n, Zapier, Google Sheets, Slack or a webhook.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("kamerozkan/flashscore-scraper").call(run_input={"startUrls": ["https://www.flashscore.com/tennis/atp-singles/wimbledon/"],"seasons": ["2025", "2024", "2023"],"include": "results",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["season"], item["round"], item["home"]["name"], item["away"]["name"], item["homeScore"], item["awayScore"])
FAQ
Which sports and tournaments work? Flashscore tournament pages with a Results or Fixtures tab. Tested: ATP and WTA tennis (Grand Slams with qualifying), football leagues (Premier League) and basketball (NBA, regular season and play-offs). Other Flashscore sports use the same page format; if one answers oddly, open an issue. Paste the URL as it appears in your browser on flashscore.com.
Can I get older seasons? Yes. Flashscore writes the season into the URL (wimbledon-2024, premier-league-2024-2025). Paste such a URL, or paste the plain tournament URL and list the seasons in Past seasons.
Does it cover live scores or today's matches across all tournaments? Not in this version: it works from tournament results and fixtures lists. A match that is live when you run it shows its current score with status live.
Why does a tennis player show the country "World"? That is how Flashscore lists players who compete under a neutral flag.
How are football half-time scores calculated? Flashscore's results list carries the second-half score; the first half is the full-time score minus the second half, which matches the half-time score on the match page.
How fast is it? One page returns 100 to 240 matches; a Grand Slam with qualifying takes about 20 seconds, a full league fixture list about 10 seconds.
Is it legal to collect this data? It collects publicly visible sports results only, without logins. You are responsible for how you use the data and for following Flashscore's terms where they apply to you.
Something is not working? Open an issue on the Issues tab with your run link and we will fix it fast.
Support
Need match statistics, odds, live scores for a whole day, or a sport that answers oddly? Open an issue on the Issues tab of this actor with your run link. Issues are read every working day and fixes ship within a few days; feature requests that other users share get built.