flashscore.com APIflashscore.com ↗
Access live scores, fixtures, match events, statistics, and league standings from FlashScore across football, tennis, basketball, hockey, and more.
curl -X POST 'https://api.parse.bot/scraper/e4c11d5d-7c48-4a9d-9141-7abf0692ddcd/search' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "Real Madrid",
"sport": "football"
}'Search for teams, players, and tournaments across all sports. Returns matching entities with IDs that can be used with other endpoints.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query (minimum 2 characters). Can be team name, player name, or tournament name. |
| sport | string | Filter results by sport (football, tennis, basketball, hockey, table_tennis, esports, etc.). Omitting returns results across all sports. |
{
"type": "object",
"fields": {
"query": "string — the search query submitted",
"total": "integer — number of matching results",
"results": "array of {id, name, url_slug, type, sport, sport_id, gender, country, country_id}"
},
"sample": {
"data": {
"query": "Real Madrid",
"total": 17,
"results": [
{
"id": "W8mj7MDD",
"name": "Real Madrid",
"type": "Team",
"sport": "Soccer",
"gender": "Men",
"country": "Spain",
"sport_id": 1,
"url_slug": "real-madrid",
"country_id": 176
}
]
},
"status": "success"
}
}About the flashscore.com API
The FlashScore API exposes 7 endpoints covering live scores, daily fixtures, match timelines, match statistics, and league standings across football, tennis, basketball, hockey, table tennis, esports, and more. The get_match_statistics endpoint returns per-period breakdowns including xG, possession, shots on target, and duels won. IDs returned by search and get_daily_fixtures chain directly into the detail, events, and statistics endpoints.
What the API Covers
The FlashScore API returns sports data across dozens of leagues and competitions worldwide. The search endpoint accepts a team name, player name, or tournament name and returns matching entities with id, url_slug, type, sport, gender, country, and sport_id fields. The id values from search results feed directly into get_match_detail, get_match_events, get_match_statistics, and get_league_standings.
Fixtures and Live Scores
get_daily_fixtures accepts a sport string and a day_offset integer (0 = today, -1 = yesterday, 1 = tomorrow) and returns every match for that day with match_id, status, start_time, home_team, away_team, score, and competition. For in-progress matches, get_live_scores returns incremental delta updates — score_home, score_away, current_minute, and last_updated — for active matches only; fields may be null for matches with no recent update in the polling window.
Match Detail, Events, and Statistics
get_match_detail returns the score object (home, away, home_ht, away_ht), status, winner, start_time, and an available_data array of codes such as ST (statistics), LI (lineups), and HH (head-to-head). Checking available_data before calling get_match_statistics avoids empty responses. get_match_events returns a timeline of goals, assists, yellow/red cards, and substitutions, each with period, minute, team, type_label, player, player_id, and running score_home/score_away. The match_info object on this endpoint carries attendance, venue, and referee when available.
get_match_statistics keys its response by period (match, 1st_half, 2nd_half, extra_time) with stat categories including top_stats, shots, attack, and pass. Fields include xG, Ball Possession, Total Shots, Shots on/off Target, Corner Kicks, Passes, Tackles, Duels Won, and Goalkeeper Saves. get_league_standings takes any match_id from the target competition and returns the full table with rank, matches_played, wins, draws, losses, goals_for, goals_against, goal_difference, points, and recent form.
- Display a live match ticker using
get_live_scoresto show current scores and match minutes across multiple sports. - Build a fixture calendar app using
get_daily_fixtureswithday_offsetto browse past and upcoming matches by sport. - Render a match statistics overlay with xG, possession, and shot breakdowns from
get_match_statisticsper half. - Show a match event timeline with goal scorers, card recipients, and substitutions from
get_match_events. - Power a league table widget using
get_league_standingswith wins, draws, losses, points, and goal difference. - Resolve team or tournament IDs by name using
searchbefore querying fixtures or standings. - Track head-to-head context and match availability by reading the
available_datacodes fromget_match_detail.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does FlashScore have an official developer API?+
What does `available_data` in `get_match_detail` tell me?+
ST signals that statistics are available for get_match_statistics, and LI signals lineup data. Checking this array before calling downstream endpoints avoids empty responses for matches where certain data was never collected.How does `get_live_scores` differ from `get_daily_fixtures`?+
get_live_scores returns only matches with recent score or status updates and includes current_minute and last_updated fields — it is designed for polling active matches. get_daily_fixtures returns all scheduled matches for a given day regardless of live status and is better suited for building fixture lists or calendars.Does the API return player or team odds data?+
Are match lineups available through this API?+
get_match_detail includes LI in available_data when lineup data exists for a match, but there is no endpoint that returns the full lineup. You can fork the API on Parse and revise it to add a lineup endpoint that reads the LI indicator.