Discover/FlashScore API
live

FlashScore APIflashscore.com ↗

Access FlashScore data via API: daily fixtures, live scores, pre-match odds, match stats, lineups, standings, H2H, and player history across 20+ sports.

Endpoint health
verified 18h ago
get_top_league_fixtures
list_countries
list_competitions
get_competition_calendar
get_competition_standings
6/6 passing latest checkself-healing
Endpoints
23
Updated
18h ago

What is the FlashScore API?

The FlashScore API exposes 23 endpoints covering fixtures, live scores, betting markets, standings, lineups, match events, and player history across football, tennis, basketball, hockey, table tennis, esports, and more. get_match_full_report returns a single consolidated payload with timeline events, period-level statistics, lineups, H2H, form splits, league table, and 1X2 odds for any match ID. IDs returned by one endpoint feed directly into others, making it straightforward to chain fixture discovery with deep match data.

This call costs1 credit / call— charged only on success
Try it
Maximum number of matches (after any filters, in league-prominence order) to return and enrich with home_form, away_form and h2h; must be a positive integer. Omitting returns all matches of the day in feed order without enrichment.
Sport name to fetch fixtures for.
Filter results to only matches from a specific season by its FlashScore season ID (e.g. 'jD0zriYA'). Obtainable from get_daily_fixtures competition.season_id field.
Day offset from today: 0=today, -1=yesterday, 1=tomorrow, etc.
When true, exclude matches from youth, U21, U23, reserve, B-team, and amateur competitions (identified by keywords like U21, U23, Youth, Reserve, Junior, Academy, etc. in the competition name).
Filter results to only matches from a specific competition by its FlashScore competition/tournament ID (e.g. 'xbpjAGxq'). Obtainable from get_daily_fixtures competition.id field.
Filter results to matches whose competition name contains this string (case-insensitive partial match). E.g. 'Premier League' matches 'ENGLAND: Premier League', 'EGYPT: Premier League', etc.
→ api.parse.bot/scraper/e4c11d5d-7c48-4a9d-9141-7abf0692ddcd/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/e4c11d5d-7c48-4a9d-9141-7abf0692ddcd/get_daily_fixtures' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "sport": "football",
  "day_offset": "-1"
}'
All endpoints · 23 totalmissing one? ·

Retrieve all fixtures/matches for a given day across a sport. Returns match details including teams (with IDs), scores, competition info, and match status. Day offset controls which day relative to today (0=today, -1=yesterday, 1=tomorrow). Each match includes a match_id usable with get_match_odds. Optional filters narrow results by competition ID, season ID, competition name substring, or exclude youth/reserve competitions. When any filter is active, a debug object is included showing the filter values and before/after match counts. When competition_id is supplied, the debug object is enhanced with full diagnostic data: exact match counts, matching match details, and a complete frequency map of all competition IDs in the unfiltered data — all computed against the raw unfiltered array before any filtering is applied. When limit is supplied, the filtered matches are first ordered by league prominence using the same fixed, ordered list of the 70 most prominent football leagues and cups that get_top_league_fixtures uses (competition.prominence_rank, 1 = most prominent, then by kick-off time; competitions outside that list follow in feed order with prominence_rank null), then only the first N matches are returned and each is enriched from its head-to-head feed with home_form and away_form (each team's last 10 results, result from that team's perspective: win/loss/draw) and h2h (last 10 direct meetings, result as home_win/away_win/draw). Enrichment runs in parallel inside a fixed time budget of roughly 40 seconds; each match carries enriched=true when its form/H2H was fetched in time and enriched=false with empty form/h2h arrays otherwise, and the response adds limit, total_fixtures (matches after filters, before limit), enriched_matches and remaining_matches. The prominence list is football-only, so for other sports limited mode keeps feed order. Limited mode costs one fixture request plus one request per returned match. When limit is omitted the endpoint returns every match of the day in feed order with no enrichment fields, no prominence fields, and a single upstream request. Rugby is served as two sports: rugby (or rugby_union) returns FlashScore's Rugby Union section and rugby_league its Rugby League section; handball returns FlashScore's handball section (e.g. FRANCE: Starligue). Women's football competitions appear under football with their FlashScore label, e.g. 'FRANCE: Premiere Ligue Women' (the Arkema Premiere Ligue), so competition_name 'Premiere Ligue Women' narrows a day to that league.

Input
ParamTypeDescription
limitintegerMaximum number of matches (after any filters, in league-prominence order) to return and enrich with home_form, away_form and h2h; must be a positive integer. Omitting returns all matches of the day in feed order without enrichment.
sportstringSport name to fetch fixtures for.
season_idstringFilter results to only matches from a specific season by its FlashScore season ID (e.g. 'jD0zriYA'). Obtainable from get_daily_fixtures competition.season_id field.
day_offsetintegerDay offset from today: 0=today, -1=yesterday, 1=tomorrow, etc.
exclude_youthbooleanWhen true, exclude matches from youth, U21, U23, reserve, B-team, and amateur competitions (identified by keywords like U21, U23, Youth, Reserve, Junior, Academy, etc. in the competition name).
competition_idstringFilter results to only matches from a specific competition by its FlashScore competition/tournament ID (e.g. 'xbpjAGxq'). Obtainable from get_daily_fixtures competition.id field.
competition_namestringFilter results to matches whose competition name contains this string (case-insensitive partial match). E.g. 'Premier League' matches 'ENGLAND: Premier League', 'EGYPT: Premier League', etc.
Response
{
  "type": "object",
  "fields": {
    "debug": "object (present only when a filter is active) — includes competition_id_filter, season_id_filter, competition_name_filter, matches_before_filtering, matches_after_filtering. When competition_id is supplied, also includes: exact_competition_id_requested, exact_season_id_requested, competition_id_exact_match_count, season_id_exact_match_count (if season_id supplied), matching_match_indexes (up to 20 0-based indexes), matching_matches (detail for those matches), competition_id_frequency (complete frequency map of all competition IDs in the raw data)",
    "limit": "integer (present only when limit is supplied) — the limit applied",
    "sport": "string — sport name requested",
    "matches": "array of match objects with match_id, status, start_time, home_team, away_team, score, competition (name, id, country, url, season_id); when limit is supplied matches are in league-prominence order and competition also carries prominence_rank (integer 1-70 or null when outside the prominence list) and top_league_name (string or null), and each match also carries enriched (boolean), home_form and away_form (up to 10 recent results each with match_id, date, home_team, home_team_id, away_team, away_team_id, score, home_score, away_score, home_ht, away_ht, result win/loss/draw from that team's perspective, competition, country) and h2h (up to 10 direct meetings with the same fields, result as home_win/away_win/draw)",
    "sport_id": "integer — FlashScore numeric sport identifier (e.g. 1 football, 7 handball, 8 rugby union, 16 boxing, 19 rugby league)",
    "day_offset": "integer — day offset used",
    "total_matches": "integer — number of matches returned (after filtering and limit)",
    "total_fixtures": "integer (present only when limit is supplied) — matches after filters before the limit was applied",
    "enriched_matches": "integer (present only when limit is supplied) — returned matches whose form and H2H were fetched",
    "remaining_matches": "integer (present only when limit is supplied) — returned matches not enriched within the time budget (enriched=false)"
  },
  "sample": {
    "data": {
      "sport": "football",
      "matches": [
        {
          "score": {
            "away": null,
            "home": null,
            "away_ht": null,
            "home_ht": null
          },
          "status": "not_started",
          "match_id": "MiHypBQh",
          "away_team": {
            "id": "pGcBj6Zg",
            "name": "Dakota",
            "slug": "sv-dakota",
            "short_name": "DAK"
          },
          "home_team": {
            "id": "8G4cEV0e",
            "name": "La Fama",
            "slug": "la-fama",
            "short_name": "FAM"
          },
          "start_time": "2026-06-11T00:30:00+00:00",
          "competition": {
            "id": "htKvweNB",
            "url": "/football/aruba/division-di-honor/",
            "name": "ARUBA: Division di Honor - Final Group",
            "country": "Aruba",
            "season_id": "Ewx6YhLh"
          }
        }
      ],
      "sport_id": 1,
      "day_offset": 0,
      "total_matches": 144
    },
    "status": "success"
  }
}

About the FlashScore API

Fixtures and Live Data

get_daily_fixtures returns every match for a given sport on a chosen day, controlled by day_offset (0 = today, negative = past, positive = future). Optional filters include competition_id, season_id, competition_name (partial match), and exclude_youth to drop reserve and amateur competitions. When a limit is supplied, the response adds home_form and H2H enrichment for the top-N matches and reports enriched_matches and remaining_matches counts. get_fixtures_with_odds combines the same fixture feed with match-winner odds in one call, exposing home_win, draw, and away_win fields for three-way sports and a two-way equivalent for head-to-head sports. get_live_scores returns incremental score updates with resolved team names for matches active at call time.

Match Depth

get_match_odds returns every available pre-match betting market for a match: HOME_DRAW_AWAY, OVER_UNDER, BOTH_TEAMS_TO_SCORE, DOUBLE_CHANCE, DRAW_NO_BET, and others, each with per-bookmaker lines and bookmaker metadata. get_match_events delivers a chronological timeline of goals, assists, cards, penalties, and substitutions interleaved with period-boundary markers, so callers can place each event in the correct half. get_match_statistics covers xG, ball possession, total shots, shots on/off target, corner kicks, passes, tackles, duels won, and goalkeeper saves, broken down by period (match, 1st_half, 2nd_half, extra_time). get_match_lineups returns formation, coach, jersey numbers, and starter/substitute flags for both teams when LI is present in available_data.

Teams, Players, and Competitions

get_team_results and get_team_fixtures both paginate at ~40 rows per page and accept any team's team_id and team_slug from search results. get_player_results resolves a player's current club and national team from their profile, returning per-match performance stats with stats_available flags, paginated in ~40-match blocks. get_league_standings derives the standings table from any match_id belonging to that competition; it returns rank, matches_played, wins, draws, losses, goals_for, goals_against, goal_difference, and points per team. get_all_leagues_standings scales this up: it finds every unique competition playing on a given day and fetches their tables in parallel, with an optional top_leagues_only filter that restricts output to 70 prominent competitions.

Season and Search Utilities

list_countries enumerates every country (or tour category for tennis and esports) that has competitions on FlashScore for a sport, returning country_id, name, and country_url. These feed into season-level queries where season_id values can filter get_daily_fixtures to a specific campaign. search handles full-text lookup of teams, players, and tournaments (minimum 2 characters) and returns id, url_slug, type, sport, gender, and country — the entry point for feeding IDs into all other endpoints.

Reliability & maintenanceVerified

The FlashScore API is a managed, monitored endpoint for flashscore.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when flashscore.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official flashscore.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
18h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a football betting dashboard using get_fixtures_with_odds for same-day 1X2 lines and get_match_odds for full market depth per match.
  • Aggregate daily standings across all active leagues using get_all_leagues_standings with top_leagues_only for a league-table summary app.
  • Power a pre-match analytics tool combining get_match_preview H2H history, form arrays, and opening/closing odds movements.
  • Track a player's performance trends across club and international matches with paginated get_player_results and per-match stat fields.
  • Send push notifications for goals and cards by polling get_live_scores and resolving event details via get_match_events.
  • Generate match report PDFs using get_match_full_report for its consolidated events, statistics, lineups, and standings in one request.
  • Build a team fixture calendar by chaining search to resolve team_id, then get_team_fixtures for upcoming scheduled matches.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does FlashScore have an official developer API?+
FlashScore does not publish an official public developer API or documentation for third-party access to its data.
What does `get_match_statistics` return and when is it available?+
get_match_statistics returns stat items such as xG, ball possession, total shots, shots on/off target, corner kicks, passes, tackles, duels won, and goalkeeper saves. Each item carries a period field (match, 1st_half, 2nd_half, extra_time) and a category (e.g. top_stats, shots, attack, passes). Before calling it, check that the string 'ST' appears in the available_data array returned by get_match_detail, as not all matches have statistics.
Does the API cover historical match data beyond the current season?+
Fixture and result history is accessible through get_team_results and get_player_results, which paginate backwards through a team's or player's archive. The season-level endpoints focus on the current season's schedule. Multi-season historical databases with structured year-by-year breakdowns are not currently covered. You can fork the API on Parse and revise it to add endpoints targeting past-season data.
Are in-play (live) betting odds available through this API?+
get_match_odds and get_fixtures_with_odds return pre-match odds from FlashScore's odds comparison section. Live in-play odds that update during a match are not currently exposed. You can fork the API on Parse and revise it to add a live-odds endpoint if that data is accessible on the source.
How do I filter `get_daily_fixtures` to a single league?+
Pass the league's FlashScore competition_id in the competition_id parameter, or use competition_name for a case-insensitive partial match (e.g. 'Premier League'). You can also supply a season_id to restrict results to a specific season within that competition. Competition and season IDs are obtainable from search results or from the competition object on any match in a prior fixture response.
Page content last updated . Spec covers 23 endpoints from flashscore.com.
Related APIs in SportsSee all →
statshub.com API
Access detailed football match statistics including xG, xGA, and possession metrics across multiple leagues, plus retrieve fixtures by date and current league standings. Get comprehensive season-level and match-level performance data to analyze team and player statistics in depth.
fotmob.com API
Get live football scores, detailed match results, and comprehensive league statistics across multiple competitions. Access player and team performance data, browse upcoming fixtures by date, and dive into in-depth analytics for your favorite leagues and matches.
stats.ncaa.org API
Access comprehensive NCAA sports statistics to search for players, teams, and coaches, view game box scores and play-by-play data, and review team schedules, rosters, and rankings. Get detailed head coach records and scoreboard information to analyze performance across college sports.
futbin.com API
Search and retrieve FIFA Ultimate Team player data including market prices, detailed statistics, and performance metrics. Analyze market trends and compare player values across the full EA FC player catalog.
procyclingstats.com API
Access comprehensive professional cycling data including race results, team rosters, and rider victory rankings to analyze performance and track statistics across the sport. Build cycling applications that deliver real-time insights into races, teams, and top-performing athletes.
sofascore.com API
Access head-to-head statistics and streaks for sporting events across a wide range of sports. Retrieve daily scheduled events, detailed H2H metrics (win rates, unbeaten records, draw rates, manager duels), and event fun facts. Filter and rank H2H streak metrics by configurable percentage thresholds to identify historically consistent patterns between any two teams.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
atptour.com API
Access data from atptour.com.