Flashscore API Scraper avatar

Flashscore API Scraper

Pricing

from $0.50 / 1,000 matches

Go to Apify Store
Flashscore API Scraper

Flashscore API Scraper

Scrapes fixtures, results and live scores, league standings and full match detail (lineups, incidents, per-match statistics) from the Flashscore mobile API. Read-only public sports data.

Pricing

from $0.50 / 1,000 matches

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Flashscore Scraper πŸ—‚οΈ β€” Scrape Flashscore.com Type, Event ID, Sport, Competition

Flashscore Scraper β€” Scrapes fixtures, results and live scores, league standings and full match detail (lineups, incidents, per-match statistics) from the Flashscore mobile API. Read-only public sports data. It reads Flashscore's own API directly, so it's fast, reliable and complete β€” no flaky HTML parsing, no headless browser. Export to JSON, CSV, Excel, or an API.


✨ Why use this Flashscore Scraper?

  • 🟒 No code required β€” set your input, click Start, download your data.
  • ⚑ Fast & accurate β€” reads Flashscore's own private API and returns structured JSON, not scraped HTML.
  • 🧾 Rich, structured data β€” every field below, clean and ready to use.
  • πŸ” Full pagination β€” collects results to your maxItems cap.
  • πŸ’Έ Transparent pay-per-result pricing β€” pay only for the rows you get.
  • πŸ“€ Export anywhere β€” JSON, CSV, Excel, XML, or pull it live via the Apify API.

🎯 What can you do with Flashscore data?

  • Market & competitor research β€” analyse Flashscore records at scale.
  • Price & availability monitoring β€” track changes over time.
  • Data science & trend analysis β€” build clean datasets.
  • Lead generation & enrichment β€” feed Flashscore data into your own tools.

πŸ“₯ What data does the Flashscore Scraper extract?

Each row includes: type, id, sport, competition_name, competition_id, competition_country, competition_stage_id, competition_tournament_id, competition_path, home_team, away_team, home_score, away_score, status …and more. See the full Data table below.


πŸš€ How to scrape Flashscore.com (3 steps)

  1. Set your input β€” provide sport or date (see the table below; defaults work out of the box).
  2. Pick options β€” filters, a proxyConfiguration, and a maxItems cap.
  3. Run & export β€” click Start, then download the dataset as JSON/CSV/Excel or fetch it via the API.

βš™οΈ Input

FieldTypeDefaultDescription
sportenumfootballSport to fetch fixtures for. β€” one of football, tennis, basketball, hockey, volleyball, handball, baseball, american-football, rugby, cricket
datestring–Match date as YYYY-MM-DD (e.g. 2026-08-22). Empty = today.
dayOffsetinteger0Days from today: 0=today, 1=tomorrow, -1=yesterday. Overrides Date when non-zero.
timezoneinteger0Feed timezone index (0 = UTC).
maxItemsinteger100Maximum matches (or standings rows) to return (0 = all).
includeMatchDetailbooleanfalseFetch full detail (lineups, incidents, per-match statistics) for each started match. Slower β€” adds 2 API calls per match.
detailConcurrencyinteger8How many match-detail requests to run in parallel when includeMatchDetail is on (max ~20).
standingsCompetitionstring–Competition name to fetch the league table for (e.g. "Premier League"). Empty = skip standings and return matches instead.
standingsTabenumoverallTable view: overall (default), home, away or form. β€” one of overall, home, away, form
proxyConfigurationobjectApify ProxyRoute requests through a proxy (Apify Proxy by default).

Example input

{
"sport": "football",
"dayOffset": 0,
"timezone": 0,
"maxItems": 100,
"includeMatchDetail": false,
"detailConcurrency": 8,
"standingsTab": "overall",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

πŸ“€ Output

Each result is a JSON object like this:

{
"type": "match",
"id": "fDbSvphd",
"sport": "football",
"competition_name": "Premier League",
"competition_country": "England",
"home_team": "Racing Club",
"away_team": "Boca Juniors",
"home_score": 1,
"away_score": 1,
"status": "finished",
"round": "Round 6",
"start_time_utc": "2026-08-24T00:30:00+00:00",
"home_team_image": "https://static.flashscore.com/res/image/data/6T5YTkZA-OCiVKiPK.png",
"away_team_image": "https://static.flashscore.com/res/image/data/h4UwH8Cr-pGZDw.png"
}

🧾 Data table

FieldTypeDescription
typetextType
idtextEvent ID
sporttextSport
competition_nametextCompetition
competition_idtextCompetition ID
competition_countrytextCountry
competition_stage_idtextStage ID
competition_tournament_idtextTournament ID
competition_pathtextCompetition path
home_teamtextHome team
away_teamtextAway team
home_scorenumberHome score
away_scorenumberAway score
statustextStatus
result_statusnumberResult status
roundtextRound
start_time_utctextStart time (UTC)
last_update_time_utctextLast update (UTC)
home_team_imagelinkHome team image
away_team_imagelinkAway team image
tv_channelsarrayTV channels
lineupsobjectLineups
incidentsarrayIncidents
statisticsarrayStatistics
standings_tabtextStandings tab
positionnumberPosition
team_nametextTeam
team_idtextTeam ID
team_slugtextTeam slug
playednumberPlayed
winsnumberWins
goals_fornumberGoals for
goals_againstnumberGoals against
pointsnumberPoints
qualificationtextQualification

πŸ’° Pricing β€” pay per result

This actor uses pay-per-event pricing: you pay only for the rows it delivers.

You scrapePrice
Match$0.10 per 1,000 rows
Standing$0.10 per 1,000 rows

πŸ”Œ Use the Flashscore Scraper via API

Run it programmatically with the Apify API:

curl -X POST "https://api.apify.com/v2/acts/flashscore-api-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"sport": "football",
"dayOffset": 0,
"timezone": 0,
"maxItems": 100,
"includeMatchDetail": false,
"detailConcurrency": 8,
"standingsTab": "overall",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}'

Or with the Apify CLI: apify call flashscore-api-scraper -i input.json -o.


❓ FAQ

Do I need an account or API key for Flashscore?

No. The actor talks to Flashscore's public/mobile API for you β€” you only need an Apify account.

Do I need a proxy?

A proxy is recommended for reliable runs; set proxyConfiguration (Residential is safest for geo-restricted or bot-protected sites).

What export formats are supported?

JSON, CSV, Excel, XML, JSONL, RSS, or live via the Apify API and dataset endpoints.

Is scraping this legal?

You are responsible for how you use the data. Scrape only public record data and comply with Flashscore.com's Terms and applicable law (e.g. GDPR/CCPA for personal data).


πŸ› οΈ How it works

The actor impersonates Flashscore's official app/site and calls its private API the same way the app does, then normalises each response into the flat record above. No browser, no HTML scraping β€” just clean, structured data.


πŸ“Œ Good to know

  • Scrape only public record data and respect Flashscore.com's Terms of Service and robots policy.
  • For personal data, comply with GDPR/CCPA and applicable law β€” you are the data controller.
  • Fields can be null when Flashscore doesn't expose them for a given record.

⭐ Found this useful?

Give the Flashscore Scraper a star on Apify and check out my other apify-*-api-scraper actors.

Standings: what this returns vs the website

Verified row-by-row against flashscore.com's Premier League table β€” position, team, MP, W, goals for/against and PTS all match the site exactly, in the same order, for all 20 rows.

Two website columns are not included, because the app's standings feed does not carry them (its own column set is # TEAM MP G PTS; every to_ tab variant returns the same):

  • D / L (draws, losses). Derivable only by assuming 3-points-for-a-win, which does not hold for every competition Flashscore covers. Guessing would be right most of the time and silently wrong the rest, so they are omitted rather than fabricated.
  • FORM (last 5). Not in this feed.

GD is included β€” it is exact arithmetic from goals for/against, no assumption needed.