Discover/FlashScore API
live

FlashScore APIflashscore.com ↗

Access FlashScore data via 24 endpoints: daily fixtures, live scores, pre-match odds, lineups, statistics, standings, H2H, and player results across dozens of sports.

Endpoint health
verified 14h ago
get_competition_standings
get_top_league_fixtures
list_countries
list_competitions
get_competition_calendar
7/7 passing latest checkself-healing
Endpoints
24
Updated
3d ago

What is the FlashScore API?

The FlashScore API exposes 24 endpoints covering fixtures, live scores, betting markets, match statistics, lineups, standings, head-to-head records, and player match history across football, tennis, basketball, hockey, table tennis, esports, and more. A single call to get_daily_fixtures returns every match for a given day with team IDs, competition metadata, scores, and status — filterable by sport, competition ID, season ID, or competition name — while get_match_full_report consolidates detail, events, stats, lineups, form, H2H, standings, and odds into one response.

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 '{
  "day_offset": "-1",
  "sport": "football"
}'
All endpoints · 24 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

Daily Fixtures and Odds

get_daily_fixtures accepts a day_offset (0 = today, -1 = yesterday, 1 = tomorrow), an optional sport, and filters for competition_id, season_id, or a competition_name partial string. Each match object in the matches array carries match_id, status, start_time, home_team/away_team (with IDs and slugs), score, and nested competition metadata including country, id, and season_id. Setting exclude_youth removes reserve, B-team, and U21/U23 competitions. get_fixtures_with_odds merges the same fixture feed with 1X2 match-winner odds; passing sport=all returns every supported sport grouped under a sports array with per-group matches_with_odds counts.

Match Detail, Events, and Statistics

get_match_detail returns score (including half-time splits), status, winner, and an available_data array whose codes (ST for statistics, LI for lineups, HH for H2H) gate the downstream endpoints. get_match_events delivers a chronological events array with period boundary markers, minute, team, event type (goal, yellow_card, substitution, etc.), player name and ID, and a running score_home/score_away on each scoring event. get_match_statistics breaks figures like xG, Ball Possession, Total Shots, Corner Kicks, and Duels Won by period (match, 1st_half, 2nd_half, extra_time) and category (top_stats, shots, attack, passing, etc.). get_match_odds returns every pre-match betting market available — HOME_DRAW_AWAY, OVER_UNDER, BOTH_TEAMS_TO_SCORE, DOUBLE_CHANCE, DRAW_NO_BET, and more — with per-bookmaker odds rows and a bookmakers reference array.

Standings, Previews, and Team/Player History

get_league_standings resolves the standings table for any competition given a match_id from that competition, returning ranked rows with wins, draws, losses, goals for/against, goal difference, and recent form. get_all_leagues_standings scales this to every competition playing on a given day, with an optional top_leagues_only flag that restricts output to a fixed 70-league prominence list. get_match_preview and get_daily_h2h_previews supply up to 10 H2H encounters plus each side's recent form with dates, scores, and competition names. get_team_results and get_team_fixtures paginate a team's historical results and upcoming schedule respectively (~40 matches per page). get_player_results resolves a player's current club and national team, then returns paginated per-match stats for both.

Search and Season Calendar

search supports full-text lookup of teams, players, and tournaments across all sports, returning entity type, sport, gender, country, and IDs usable in every other endpoint. list_countries enumerates the countries (or tour categories for tennis and esports) that have competitions on FlashScore for a given sport, each with a country_id and country_url. get_prioritized_fixtures and get_top_league_fixtures sort the day's matches by a fixed prominence ranking (UEFA Champions League, Premier League, La Liga, Serie A, Bundesliga, and ~65 others), making it straightforward to build curated daily digests without manually filtering thousands of matches.

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
14h ago
Latest check
7/7 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 multi-sport daily fixture digest ordered by league prominence using get_prioritized_fixtures with a limit and day_offset.
  • Power a pre-match betting dashboard by pulling all available markets and bookmaker odds per match from get_match_odds.
  • Aggregate league table snapshots for every competition in a single sport on a given day via get_all_leagues_standings.
  • Track a player's club and international form across club and national team games with paginated get_player_results calls.
  • Generate match preview cards combining H2H history, home/away form splits, and 1X2 opening/closing odds from get_match_full_report.
  • Monitor live score updates in near-real time with get_live_scores and look up full event timelines via get_match_events.
  • Resolve team and competition IDs for any sport with search, then paginate their upcoming schedules through get_team_fixtures.
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 public developer API?+
FlashScore does not publish an official public developer API. There is no documented API portal or OAuth flow available to third-party developers on the FlashScore website.
What does `get_match_full_report` return compared to calling individual match endpoints separately?+
get_match_full_report combines in one response: the detail object (score, half-time score, available_data codes, winner, times), events array (goals, cards, substitutions with minute and period), stats broken down by 1st_half/2nd_half/extra_time, lineups with formation and coach, up to 20 h2h results, up to 20 home_form and away_form results each, home-only and away-only form splits, league_standings, and odds. Calling individual endpoints is useful when you only need one slice; the full report is suited for single-match pages that need all of it.
Does the API cover in-play betting odds or live markets?+
Not currently. get_match_odds and get_fixtures_with_odds return pre-match odds only; there is no live/in-play market feed. You can fork this API on Parse and revise it to add a live-odds endpoint if your use case requires in-play data.
How does pagination work for team and player history endpoints?+
get_team_results and get_player_results each return roughly 40 matches per page, with page 1 being the most recent. The has_next_page boolean in each response indicates whether another page exists. get_player_results additionally separates club_results from national team results on each page and reports stats_fetched to show how many rows carry per-match performance stats.
Is detailed match data (statistics, lineups) available for all sports, or only football?+
Statistics and lineups are available for sports where FlashScore carries that data, but coverage varies by sport and competition. Before calling get_match_statistics or get_match_lineups, check that ST or LI respectively appear in the available_data array returned by get_match_detail. Some non-football sports and lower-tier competitions will not have these codes present. You can fork this API on Parse and revise it to surface a sport-level coverage indicator if you need to filter programmatically by data availability.
Page content last updated . Spec covers 24 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.
sportybet.com.ng API
Book sports bets on SportyBet Nigeria by selecting games and odds, receiving a shareable booking code for your selections. Perfect for quickly placing multiple bets and sharing your ticket with others.
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.
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.
snai.it API
Get real-time Serie A match information, odds, and top betting opportunities directly from SNAI.it, plus discover live matches and football leagues to inform your betting decisions. Access match details, current odds, and curated top bets all in one place to stay updated on Italian football betting options.
atptour.com API
Access data from atptour.com.
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.