Flashscore Live Matches
Pricing
from $3.00 / 1,000 match records
Flashscore Live Matches
Scrape Flashscore live match scores — in-progress matches with running score and minute, filtered by sport, country and league. HTTP-only, MCP-ready.
Pricing
from $3.00 / 1,000 match records
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Flashscore Live Matches is an Apify Actor that returns in-progress Flashscore matches with their running score and minute. It reads a sport's daily feed and filters to the matches live right now, and can also return scheduled fixtures or finished results for the same day window. You pick a sport, optionally narrow by country or league, and receive one structured JSON record per match.
It is HTTP-only against Flashscore's own data feed, so it is fast and cheap with no headless browser. It is MCP-ready for AI agents and built for teams and bots that want a clean "what's live right now" answer in a single call.
Best fit and connected workflows
Use when your workflow starts with "which matches are live right now" and ends with clean, machine-readable live scores.
Common routing patterns:
- Daily live-score pulls for a sport (default
statuses: ["live"]) - Live matches for one country (
country: "England") or one competition (league: "Premier League") - Today's completed results or tonight's fixtures on the same feed (
statuses: ["live","finished"]) - Scheduled re-runs to keep a scoreboard or alert bot fresh
A typical workflow chain: start with this live board to see what is in progress, then pass matchId values downstream for anything richer. For full match detail, standings, and head-to-head, then use the sibling flashscore-scraper. This Actor is designed as a focused standalone workflow for the in-progress board on its own.
Example workflow
A Discord scoreboard bot starts with "which matches are live," then runs this Actor on a schedule (for example every 5 minutes), then renders each match record with home team, away team, current score, and minute to the channel. A sports analyst can do the same and export the rows to a spreadsheet for a live market snapshot.
When to reach for it
- Building a live scoreboard, betting dashboard, or Discord/Telegram/Slack bot.
- Sports analysts who need the current in-play board for a sport or league.
- AI agents that want a one-call sports-data tool: sport in, live JSON out.
When a workflow needs tick-by-tick streaming, standings tables, or per-match statistics and lineups, the natural next step is the all-in-one flashscore-scraper sibling rather than this narrower board.
Input
| Field | Type | Purpose |
|---|---|---|
sport | string | Sport to scrape. Defaults to football. |
dayOffsets | array | Relative days to scan, e.g. [0] (today) or [-1, 0, 1]. Default [0]. |
date | string | Exact single day YYYY-MM-DD, within 7 days. Overrides dayOffsets. |
statuses | array | Statuses to return. Default ["live"]. |
country | string | Case-insensitive match on the display country/region, e.g. England. |
league | string | Case-insensitive match on the league name, e.g. Premier League. |
maxResults | integer | Hard cap on billable records. Default 100. |
language | string | Feed label language code, e.g. en. Default en. |
sportId | integer | Advanced numeric Flashscore sport ID for sports outside the dropdown. |
proxyConfiguration | object | Proxy settings, defaulting to Apify Proxy. |
Focused JSON example — live football now
{"sport": "football","dayOffsets": [0],"statuses": ["live"],"maxResults": 100,"language": "en"}
JSON example — tonight's English fixtures
{"sport": "football","dayOffsets": [0, 1],"statuses": ["scheduled"],"country": "England","maxResults": 50}
Output
One dataset record per matching match. Live records carry the running score and minute.
| Field | Type | Purpose |
|---|---|---|
matchId | string | Flashscore 8-char match ID, the record key. |
recordType | string | Always match. |
sport / sportId | string / integer | Sport name and numeric ID. |
country / league | string | Competition country and league name. |
homeTeam / awayTeam | string | Team names. |
homeScore / awayScore | integer | Current score. |
status | string | live, scheduled, finished, and so on. |
minute | integer | Running minute/period for live matches (null otherwise). |
startTime | string | Kick-off time ISO 8601 UTC. |
matchUrl | string | Flashscore match page URL. |
Live record example
{"recordType": "match","matchId": "n3KhBdY7","sport": "football","sportId": 1,"country": "Asia","league": "AFC Champions League Women - Preliminary","homeTeam": "April W (Prk)","awayTeam": "Kharaatsai W (Mon)","homeScore": 7,"awayScore": 0,"statusCode": 2,"status": "live","minute": 13,"startTime": "2026-08-17T09:00:00.000Z","matchUrl": "https://www.flashscore.com/match/n3KhBdY7/"}
How it works
The Actor reads Flashscore's public JSON-style feed over plain HTTP. List feeds are fetched per sport and day offset, parsed into match entities, then filtered to the requested statuses and any country or league match. For live matches the in-progress minute is read from the feed, so you see the live state rather than only a static flag. Feed requests are retried with backoff, and if a route is unavailable mid-run the Actor returns everything it already collected and reports the partial result honestly rather than failing the whole run.
Pricing
Flashscore Live Matches uses Pay per event, plus standard platform usage (compute and proxy). The live Pricing tab on the Actor is the source of truth for current rates and billing details.
The billable events are:
- Actor start — $0.00005
- Match record — $0.003 per matching match returned
A bounded pull capped at maxResults: 100 charges about $0.30 in match-record events (100 match records × $0.003), plus the small start event and usage. Every run prints its maximum cost before charging, and maxResults is a hard cap on billable records.
Use with AI agents (MCP)
This Actor is available through Apify MCP as the Apify Actor khadinakbar/flashscore-live-matches.
Tool description: retrieve in-progress Flashscore match scores with running score and minute, optionally filtered by sport, country, league, or additional match statuses. Returns one structured JSON record per match for live-score, scoreboard, and sports-bot workflows.
Example agent prompt:
Pull today's live football matches. Return each match with home team, away team, current score, and the current minute, and list only matches that are live right now.
Output interpretation and provenance:
matchrecords are live scores (default), or scheduled/finished rows when those statuses are selectedmatchIduniquely identifies each match and links tomatchUrlminuteis the current in-play minute for live records onlystatusdistinguishes live from scheduled and finished- Data comes from Flashscore's public feed; scope is the selected sport, day(s), statuses, and any country/league filter
languagechanges labels only; it does not change which matches are returned
Cost, scope, and pagination guidance:
- Use
maxResultsto cap dataset size and billable records - For a busy sport, raise
maxResultsto capture the full live board - Re-run on a schedule for a live scoreboard (the Actor does not stream)
- For the richer all-in-one surface (standings, H2H, match stats), then use the sibling
flashscore-scraper
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~flashscore-live-matches/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"sport": "football","dayOffsets": [0],"statuses": ["live"],"maxResults": 20}'
Downstream and scope notes
- The feed window spans about −7 to +7 days; for older history use match IDs via the sibling
flashscore-scraper. minuteis approximate per sport: football and other in-play sports expose it, and some niche sports may return null while still live.- Results are a snapshot at fetch time; schedule re-runs for a live scoreboard.
- Country/league filters are substring matches on the displayed names, not stable codes.
- To confirm a fetched board, read the returned records back from the dataset and validate that
statusandminutematch what is shown on the Flashscore match pages.
Legal
This Actor reads publicly available match data from Flashscore's feed. Only collect and use data in ways that comply with Flashscore's terms of service and applicable law. Game-related data is informational.
Builder's note
I built this as a deliberately narrow companion to the all-in-one flashscore-scraper. Betting and sports-dashboard users kept asking for just the live board: a single, fast, cheap call they could run on a cron or from an agent without pulling fixtures, standings, and match detail they did not need. The feed's in-progress minute is the field that makes live data useful, so I surfaced it directly rather than hiding it behind a generic status flag. I designed it to be a focused standalone workflow on the same proven HTTP feed stack the sibling actor has used in production on the Store for some time.