Flashscore Live Scores Scraper
Pricing
Pay per event
Flashscore Live Scores Scraper
Scrape Flashscore fixtures, live scores and final results for football, tennis, basketball and hockey. Pick a sport and day offsets, filter by league, and get clean deduplicated rows with teams, scores, status and kickoff time.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Flashscore Live Scores Scraper
💰 $2.20 / 1 000 results · pay only for results · no credit card to try
The devil's in the data, and we dig it out. 😈
Scrape Flashscore fixtures, live scores and final results for football, tennis, basketball and hockey. Pick a sport and the days you want, optionally narrow by league, and get clean rows ready for dashboards, models and alerts.
🎯 What this scrapes
Flashscore publishes thousands of events per day across leagues and tournaments, with no bulk export. This Actor reads the sport feed for each day you choose and returns one row per event: teams, scores, status, kickoff time, league and a link to the event page.
🔥 Features
- 🛡️ We send real-browser TLS fingerprints (curl-cffi Chrome impersonation) so every request looks like a browser, not Python.
- 🔁 We retry with exponential backoff on rate limits and server errors, honouring
Retry-After. - 🌐 We rotate proxy sessions through Apify Proxy: a fresh session and exit IP on every retry.
- 🧱 One bad day never sinks the run. A day that still fails after retries is logged and skipped; the run fails only if every requested day fails, and the status message tells you how many did.
- 🧊 Cross-day deduplication. The same event never appears twice in your dataset.
- 🧾 League filter and event cap to keep runs small and cheap.
- 💰 You pay only for results that land. No data, no charge beyond the small
actor-startfee.
💡 Use cases
- Sports data analysts — build historical and upcoming fixture tables.
- App and widget builders — feed live scores into products.
- Research and fantasy teams — track results by league and day.
- Alerting — schedule runs and react to status changes.
⚙️ How to use it
- Choose a
sport. - Set
dayOffsets, for example[0, 1]for today and tomorrow. - Optionally set
leagueFilterandmaxEvents. - Run it, then export to JSON, CSV or Excel, or pull the dataset through the Apify API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
sport | integer | no | 1 | 1 football, 2 tennis, 3 basketball, 4 hockey. |
dayOffsets | array<integer> | no | [0, 1] | Days relative to today, -7 to 7, up to 15 entries. |
leagueFilter | string | no | "" | Case-insensitive league name substring. |
maxEvents | integer | no | 100 | Hard cap on rows emitted (1-5000). |
proxyConfiguration | object | no | {"useApifyProxy": true} | Apify Proxy configuration. |
Example input
{"sport": 1,"dayOffsets": [0, 1],"leagueFilter": "","maxEvents": 100}
📤 Output
One row per deduplicated event.
| Field | Type | Notes |
|---|---|---|
event_id | string | Stable event id. |
sport | string | football, tennis, basketball or hockey. |
day_offset | integer | Feed day the event was first seen in. |
league | string | League name with country prefix. |
home_team / away_team | string | Team or player names. |
home_score / away_score | integer | null | Null until the event starts. |
status | string | scheduled, live, finished or unknown. |
kickoff_utc | string | ISO-8601 UTC kickoff time. |
event_url | string | Link to the event page. |
Example output
{"event_id": "GvGtelQO","sport": "football","day_offset": 0,"league": "AFRICA: Olympic Games Women - Qualification","home_team": "Guinea W","away_team": "Cameroon W","home_score": null,"away_score": null,"status": "finished","kickoff_utc": "2026-10-05T13:00:00+00:00","event_url": "https://www.flashscore.com/match/GvGtelQO/"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.20 | One-off warm-up charge per run |
result | $0.002 | Per deduplicated event written to the dataset |
Example: 1 000 events = $2.20 per run ($0.20 start + 1000 x $0.002). No subscription, no minimum, no card required to try it.
🚧 Limitations
- One sport per run. Start several runs for several sports.
- Fixtures and scores only. Odds, lineups and match statistics are not included.
- Tennis days are large. Fewer
dayOffsetsmeans a cheaper run. - A narrow filter can return zero rows. That is a successful run, not a failure: you pay only the start fee and the status message names what was searched.
- Day window.
dayOffsetsrun from -7 to 7, with at most 15 days per run. - Snapshot, not a stream. Each run is one snapshot of the feed; schedule runs to track live scores.
❓ FAQ
Do I need a Flashscore account? No.
Why fewer rows than maxEvents?
Your days and league filter matched fewer events than the cap.
Can I schedule it? Yes, use Apify Schedules to re-run on a cadence.
Your feedback
Found a bug, or need a field we don't return yet? Contact us at https://apify.com/DevilScrapes — we read every message.