Flashscore All In One Api
Pricing
from $0.01 / 1,000 results
Flashscore All In One Api
Unofficial always-on REST API for live FlashScore sports data: live scores, full daily match lists, match detail, lineups, stats, odds, standings, results, news, and search — across football, tennis, and every other sport FlashScore covers. No account or API key needed.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Romy
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
What does FlashScore All-in-One API do?
FlashScore All-in-One API is a REST endpoint for live FlashScore sports data — live scores, full daily match lists, match detail, lineups, statistics, betting odds, standings, top scorers, tournament draws, results, fixtures, news, and search — across football, tennis, basketball, and every other sport FlashScore covers. All from a single always-on API powered by Apify Standby.
It talks directly to the same internal API the official FlashScore Android app uses, reverse-engineered by capturing and analyzing live traffic from the real app with Frida on a real device, then cross-checked field-by-field against the app's own screens and, where possible, its decompiled source. No FlashScore account, no API key — call the endpoint, get JSON back.
Why use FlashScore All-in-One API?
- No signature, token, or session needed — confirmed live: a fixed
x-fsignheader is identical across every request, every sport, every session; replaying a captured URL with plaincurland no device involved returns the same live data - Enum parameters, not opaque numbers —
sportand standingstypetake readable names (SOCCER,OVERALL,AWAY, ...) resolved from the app's own internal identifiers, not guessed - One call returns what a competitor's scraper charges per row for —
GET /matchesreturns an entire day's schedule (hundreds of matches) in a single request/charge - Always-on — Standby mode means no cold start, responds in milliseconds
- No account needed — every endpoint works fully anonymously
- Use cases: live scoreboards, sports news aggregation, betting-odds comparison, fantasy sports tools, standings/results dashboards
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /sports | List of sports with match/live counts |
GET | /matches | Full match list for one sport/day |
GET | /matches/live | Live-score delta feed for a whole sport |
GET | /matches/{id} | Match detail (teams, league, round) |
GET | /matches/{id}/live | Cheap live-score check for one match |
GET | /matches/{id}/odds | Betting odds |
GET | /matches/{id}/lineups | Lineups |
GET | /matches/{id}/stats | Match statistics |
GET | /competitions | Raw country/competition tree |
GET | /leagues | Named league list |
GET | /competitions/{tournamentStageId}/seasons | Resolve a tournamentId |
GET | /competitions/{tournamentStageId}/results | Past results, paginated |
GET | /competitions/{tournamentStageId}/fixtures | Upcoming fixtures, paginated |
GET | /competitions/{tournamentId}/{tournamentStageId}/standings | Points table |
GET | /competitions/{tournamentId}/{tournamentStageId}/topscorers | Top scorers list |
GET | /competitions/{tournamentId}/{tournamentStageId}/draw | Knockout tournament draw (bracket) |
GET | /news | News list |
GET | /news/menu | News categories/tags |
GET | /news/{id} | Single article |
GET | /search | Search teams and players |
GET | /search/top | Default search suggestions |
How to use FlashScore All-in-One API
- Open this Actor's Standby API URL (shown on the Actor's page, under the API tab).
- Call any endpoint — for example:
Every call needs your Apify API token, either ascurl "https://romy--flashscore-all-in-one-api.apify.actor/sports"curl "https://romy--flashscore-all-in-one-api.apify.actor/matches?sport=SOCCER"curl "https://romy--flashscore-all-in-one-api.apify.actor/matches/4GzyLE2N"curl "https://romy--flashscore-all-in-one-api.apify.actor/leagues?sport=SOCCER"curl "https://romy--flashscore-all-in-one-api.apify.actor/competitions/SY30SsKF/CfoA8Dmm/standings"curl "https://romy--flashscore-all-in-one-api.apify.actor/competitions/SY30SsKF/CfoA8Dmm/topscorers"curl "https://romy--flashscore-all-in-one-api.apify.actor/search?q=Barcelona"Authorization: Bearer <token>or?token=<token>— the Actor's page API tab has a ready-to-copy version with your token filled in. - Read the JSON response — no setup required.
Parameters
GET /matches, GET /matches/live, GET /leagues — sport required: a name (case-insensitive) or numeric id.
| Name | Name | Name |
|---|---|---|
SOCCER | RUGBY_LEAGUE | PESAPALLO |
TENNIS | BADMINTON | MOTORSPORT |
BASKETBALL | WATER_POLO | AUTORACING |
HOCKEY | GOLF | MOTORACING |
AMERICAN_FOOTBALL | FIELD_HOCKEY | CYCLING |
BASEBALL | TABLE_TENNIS | HORSE_RACING |
HANDBALL | BEACH_SOCCER | ESPORTS |
RUGBY_UNION | MMA | WINTER_SPORTS |
FLOORBALL | NETBALL | SKI_JUMPING |
BANDY | AUSSIE_RULES | ALPINE_SKIING |
FUTSAL | BEACH_VOLLEYBALL | CROSS_COUNTRY |
VOLLEYBALL | SNOOKER | BIATHLON |
CRICKET | BOXING | KABADDI |
DARTS |
GET /matches also takes optional dateOffset (days from today: 0=today, negative=past, positive=future; valid range -7 to 7, omit for today).
GET /matches/{id}, GET /matches/{id}/live, GET /matches/{id}/lineups, GET /matches/{id}/stats — path param id required. Get one from /matches, /matches/live, or /search.
GET /matches/{id}/odds — path param id, plus bookmakerId, betType (e.g. HOME_DRAW_AWAY), and betScope (e.g. FULL_TIME) all required.
GET /competitions/{tournamentStageId}/seasons — path param tournamentStageId required. Resolves the tournamentId needed for standings/topscorers/draw. /leagues returns both ids directly, so this lookup is usually skippable.
GET /competitions/{tournamentStageId}/results and .../fixtures — path param tournamentStageId required; optional page (default 1). No total-count field — keep incrementing page until you get an empty or short result back.
GET /competitions/{tournamentId}/{tournamentStageId}/standings — both path params required; optional type, one of OVERALL (default), HOME, AWAY, FORM (case-insensitive name or numeric id).
GET /competitions/{tournamentId}/{tournamentStageId}/topscorers and .../draw — both path params required, no other params. draw returns an empty result for competitions without a knockout bracket (plain leagues).
GET /news — optional tagId, sourced from GET /news/menu's tag.id field (hundreds of tags exist — one per sport/tournament/topic — so it's a lookup, not a short list).
GET /news/{id} — path param id required. Get one from /news or /news/menu.
GET /search — q required; optional lang (numeric language id, default 5 = English) that changes the language of localized fields like team/sport names.
GET /search/top — optional lang, same as above. No query needed — returns the default popular suggestions.
Output
Every response is returned directly over HTTP — this Actor does not write to an Apify dataset. Real responses (trimmed for readability):
GET /leagues?sport=SOCCER (trimmed to Premier League):
{"success": true,"result": [{"name": "Premier League","region": "England","tournamentId": "SY30SsKF","stages": [{ "tournamentStageId": "CfoA8Dmm", "name": "Main", "order": 1 }]}]}
GET /competitions/SY30SsKF/CfoA8Dmm/standings (trimmed to one row):
{"success": true,"result": [{"rank": 1,"teamId": "2XrRecc3","teamName": "Brighton","teamLogo": "https://static.flashscore.com/res/image/data/40juIezB-b92lfEJC.png","played": 1,"won": 1,"goals": "4:0","points": 3,"qualificationZone": "q1"}]}
GET /competitions/SY30SsKF/CfoA8Dmm/topscorers (trimmed to one row):
{"success": true,"result": [{"rank": 1,"playerId": "0IBtygvF","playerName": "Hinshelwood J.","playerPhoto": "https://static.flashscore.com/res/image/data/v72abmyS-I7W2p2mj.png","teamId": "2XrRecc3","teamName": "Brighton","teamShortCode": "BHA","goals": 2,"assists": 0}]}
GET /search?q=Barcelona (trimmed to key fields of the first result):
{"success": true,"result": [{"id": "SKbpVP5K","name": "Barcelona","type": { "id": 2, "name": "Team" },"sport": { "id": 1, "name": "Football" },"defaultCountry": { "id": 176, "name": "Spain" }}]}
Data notes
- The legacy pipe-delimited feed endpoints (
/sports,/matches,/competitions, and a few others) return every field the upstream API sends, but only field names verified against the real rendered app screen are given clean names — everywhere else, the raw short codes (e.g.SA,EC) are returned as-is rather than guessed./leagues, standings, and top scorers are fully field-mapped and cross-checked this way. sportand standingstypeare resolved from the app's own internal enum identifiers, not inferred from guesswork — so the accepted values above are exact, and standingstypedeliberately has no4(there is no fourth variant upstream)./matches/{id}/liveis the cheap endpoint to poll for live score changes — it returns a small version-hash plus a compact summary, instead of the much larger full match detail/matches/{id}returns.- No WebSocket or Server-Sent Events exist upstream — the app itself works by polling lightweight delta feeds, which is exactly what
/matches/liveand/matches/{id}/liveexpose. - Images are served from
https://static.flashscore.com/res/image/data/{path}.standings'teamLogoandtopscorers'playerPhotoare already returned as full, ready-to-load URLs. Raw passthrough endpoints (match detail, lineups, search) still return bare path fragments under their ownimages/pathfields — prefix those with the same base URL to get a loadable image.
Pricing
Pay-per-event, billed only on a successful call — one event per request, tiered by your Apify plan (Free/Bronze/Silver/Gold/Platinum/Diamond get progressively cheaper rates). See the Actor's Pricing tab for the exact current rate per tier.
| Event | What it charges for |
|---|---|
sports-list | Sport list |
matches-list | Full match list for one sport/day |
matches-live-updates | Live-score delta feed |
match-detail | Full match detail |
match-live | Cheap live-score check |
match-odds | Betting odds |
match-lineups | Lineups |
match-stats | Match statistics |
competitions-list | Raw competition tree |
leagues-list | Named league list |
competition-lookup | Season lookup, or a tournament draw |
competition-results | Past results |
competition-fixtures | Upcoming fixtures |
standings | Points table |
top-scorers | Top scorers list |
news-list | News list, or the news category menu |
article | Single news article |
search | Team/player search, or the default search suggestions |
Known limitations
- Field names on the legacy pipe-feed endpoints are only mapped where verified against the real app — see Data notes above. Unmapped fields are still returned, just under their raw short codes.
lang's values beyond the default aren't individually documented — pass any id and compare results./competitions/{tournamentId}/{tournamentStageId}/drawreturns an empty result for plain leagues — only knockout competitions have a bracket to draw.- This is an unofficial, reverse-engineered integration, not affiliated with or endorsed by FlashScore. Behavior may change if FlashScore changes its API.
Found a bug or have a feature request? Use the Issues tab on this Actor's page.