Discover/Flashscore API
live

Flashscore APIflashscore.de ↗

Access Flashscore.de match listings, lineups with player ratings, match statistics, team rosters, and German football news via a single structured API.

Endpoint health
verified 3h ago
get_matches
get_news
get_match_statistics
get_team_roster
get_match_lineups
7/7 passing latest checkself-healing
Endpoints
7
Updated
3h ago

What is the Flashscore API?

The Flashscore.de API exposes 7 endpoints covering football, tennis, and basketball data from the German-locale version of Flashscore, including match listings by sport and country, per-match lineups with individual player ratings, structured statistics (xG, possession, shots, corners, and more), team rosters with seasonal stats, and a German-language football news feed. The get_match_lineups endpoint in particular returns per-player rating fields unavailable from most public sports data sources.

This call costs1 credit / call— charged only on success
Try it
Locale string for the feed (not a calendar day; use match_date for that). Use 'de_1' for the German-locale feed.
Flashscore sport ID from the Sport enum (1=football, 2=tennis, 3=basketball, 4=ice hockey, ... 42=kabaddi). Other numeric IDs are forwarded as-is; an ID the site does not know yields an empty listing.
Flashscore country ID. 0 returns today's matches from all countries; 81 is Germany. Other Flashscore country IDs are forwarded as-is; an unknown ID returns an empty listing.
Only used when a country is selected: true returns that country's not-yet-started fixtures, false returns its most recent results.
Only used when country=0 and match_date is not set: number of future Berlin calendar days to include after today, 0 to 7. 0 returns today's matches only; values outside 0-7 are rejected with stale_input.
Calendar day in dd.mm.yyyy form (Europe/Berlin) whose matches are returned when country=0. Must lie within today minus 7 to today plus 7 days, the window the site publishes; other days and malformed values are rejected with stale_input. Omitted: today plus days_ahead.
→ api.parse.bot/scraper/4a508f5f-139d-43fa-9270-251ed9296e4c/<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 GET 'https://api.parse.bot/scraper/4a508f5f-139d-43fa-9270-251ed9296e4c/get_matches?country=0&upcoming=true&date=de_1&sport=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 7 totalmissing one? ·

Retrieve match listings for a given sport, optionally filtered to one country or to one calendar day. With country=0 (the default) and no match_date, the worldwide daily feed is fetched for today and each of the next days_ahead days (Europe/Berlin calendar days; one upstream request per day, so days_ahead=3 costs 4 requests) and only matches whose start time falls between today 00:00 and the last day 23:59:59 Berlin time are returned; matches earlier today that have already finished are still included because they belong to today. With match_date set (dd.mm.yyyy, e.g. 15.10.2026 as one shape) and country=0, exactly that Berlin calendar day is returned in one upstream request, including finished matches of a past day; days_ahead is ignored in that mode. The site publishes the daily listing only for a rolling window of today minus 7 to today plus 7 days, so a match_date outside that window is rejected with stale_input naming the currently available range. from_date and to_date report the covered window as ISO dates. With a country ID such as 81 (Germany) the site's per-country listing is returned instead: all leagues of that country with their most recent results, or their not-yet-started fixtures when upcoming=true; days_ahead and match_date have no effect in that mode. Each match entry carries event_id, home_team, away_team and start_time (an 'AD'-prefixed Unix timestamp string). Pagination is not supported; one request returns the whole listing. A country ID the site does not know yields an empty sections array. The upcoming flag has no effect when country=0.

Input
ParamTypeDescription
datestringLocale string for the feed (not a calendar day; use match_date for that). Use 'de_1' for the German-locale feed.
sportintegerFlashscore sport ID from the Sport enum (1=football, 2=tennis, 3=basketball, 4=ice hockey, ... 42=kabaddi). Other numeric IDs are forwarded as-is; an ID the site does not know yields an empty listing.
countryintegerFlashscore country ID. 0 returns today's matches from all countries; 81 is Germany. Other Flashscore country IDs are forwarded as-is; an unknown ID returns an empty listing.
upcomingbooleanOnly used when a country is selected: true returns that country's not-yet-started fixtures, false returns its most recent results.
days_aheadintegerOnly used when country=0 and match_date is not set: number of future Berlin calendar days to include after today, 0 to 7. 0 returns today's matches only; values outside 0-7 are rejected with stale_input.
match_datestringCalendar day in dd.mm.yyyy form (Europe/Berlin) whose matches are returned when country=0. Must lie within today minus 7 to today plus 7 days, the window the site publishes; other days and malformed values are rejected with stale_input. Omitted: today plus days_ahead.
Response
{
  "type": "object",
  "fields": {
    "raw": "string containing first 1000 chars of the raw decoded response (first fetched day's feed)",
    "to_date": "ISO date (Europe/Berlin) of the last covered day when country=0 (equals from_date when match_date is set); absent in per-country mode",
    "sections": "array of match objects with _type, event_id, home_team, away_team, start_time",
    "from_date": "ISO date (Europe/Berlin) of the first covered day when country=0; absent in per-country mode"
  },
  "sample": {
    "data": {
      "raw": "SA÷1¬~ZA÷ÄGYPTEN: Division 2 A¬ZEE÷lt1UhcxR¬ZB÷69¬ZY÷Ägypten¬...",
      "to_date": "2026-10-15",
      "sections": [
        {
          "_type": "match",
          "event_id": "hxyCmnYG",
          "away_team": "WE SC",
          "home_team": "El Daklyeh",
          "start_time": "AD1792067400"
        },
        {
          "_type": "match",
          "event_id": "6Lx4k834",
          "away_team": "Al Nasr",
          "home_team": "El Mansoura",
          "start_time": "AD1792067400"
        }
      ],
      "from_date": "2026-10-15"
    },
    "status": "success"
  }
}

About the Flashscore API

Match Listings and Detail

The get_matches endpoint returns match listings filtered by sport (1=football, 2=tennis, 3=basketball), country, and an optional date string. Each entry in the sections array carries an event_id, home_team, away_team, and start_time. That event_id is the key that flows into every other per-match endpoint. get_match_detail accepts an event_id and returns key-value pairs covering team IDs, image references, and league standings data.

Lineups, Ratings, and Statistics

get_match_lineups returns a players array with player_id, name, team, side, rating, is_best, and number for each player, plus home_team_average_rating and away_team_average_rating at the match level. Ratings populate only for completed matches; the array will be empty for future fixtures or non-football events. For batch workflows, get_player_ratings_for_matches accepts a comma-separated list of event_ids and returns aggregated player arrays for each, along with a total_matches count. get_match_statistics delivers sectioned stats — each section has a section_name and a stats array of objects with name, home, and away values, covering metrics such as xG, possession, shots on target, corners, fouls, passes, and cards.

Rosters and News

get_team_roster requires both a team_id and a team_slug (both taken from the team's Flashscore.de URL). It returns a players array with position, number, name, nationality, age, matches_played, minutes_played, goals, assists, and a player_url. Invalid ID/slug combinations return a stale_input indicator rather than silently failing. get_news requires no parameters and returns a structured feed of German-locale football articles, each with a title, timestamp, and image URL.

Reliability & maintenanceVerified

The Flashscore API is a managed, monitored endpoint for flashscore.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when flashscore.de 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.de 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
3h 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 live match tracker that pulls fixtures by sport and country from get_matches and refreshes scores via get_match_detail.
  • Aggregate player performance ratings across a season using get_player_ratings_for_matches with a batch of event IDs.
  • Populate a fantasy football dashboard with per-match ratings, is_best flags, and team average ratings from get_match_lineups.
  • Power a statistics comparison tool using xG, possession, and shot data returned by get_match_statistics.
  • Sync a team squad page with current roster data — goals, assists, minutes, and nationality — from get_team_roster.
  • Display a German-language football news widget using titles, timestamps, and images from get_news.
  • Identify top-rated players across multiple matches by iterating get_player_ratings_for_matches on a full matchday's event IDs.
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 developer API or document a public data endpoint for third-party use. This Parse API provides structured access to the same data available on flashscore.de.
When are player ratings missing from `get_match_lineups`?+
The players array will be empty for matches that have not yet been played or for sports other than football. For completed football matches, individual rating values and the home_team_average_rating / away_team_average_rating fields are populated.
Does the API cover live in-play events or match incidents (goals, cards, substitutions)?+
Not currently. The API covers match listings, final lineups with ratings, post-match statistics, team rosters, and news articles. In-play event timelines and incident feeds are not included. You can fork this API on Parse and revise it to add an endpoint targeting live match incident data.
How do I find the correct `team_id` and `team_slug` for `get_team_roster`?+
Both values come from the team's page URL on flashscore.de, which follows the pattern /team/{team_slug}/{team_id}/. Passing a mismatched pair returns a stale_input indicator rather than an error, so verifying the combination against the actual URL before calling is advisable.
Is tennis or basketball statistics data available the same way as football?+
The get_matches endpoint accepts sport IDs for football (1), tennis (2), and basketball (3), returning event listings for all three. However, the lineups and statistics endpoints are oriented toward football; the players array will be empty for non-football matches. Coverage of tennis or basketball-specific stats is not currently included. You can fork this API on Parse and revise it to add sport-specific stat endpoints.
Page content last updated . Spec covers 7 endpoints from flashscore.de.
Related APIs in SportsSee all →
fussballdaten.de API
Find live soccer match schedules, scores, and team information across German leagues and Europe's top competitions, with the ability to filter by date, team, or league. Quickly look up upcoming fixtures, past results, and complete team schedules for Bundesliga, Premier League, La Liga, Serie A, Ligue 1, Champions League, and more.
flashscore.com.ua API
Access football match results, fixtures, team histories, and in-match statistics from Flashscore. Look up matches by date, retrieve a team's recent and upcoming games, and pull detailed events and performance metrics for any match.
flashscore.es API
Track and compare pre-match betting odds across all sports leagues with daily match overviews showing 1X2 odds, or dive deeper into individual matches to see detailed odds from every bookmaker including opening lines and how odds have shifted. Stay ahead of betting movements with real-time data on odds changes and bookmaker-specific pricing.
flashscore.com.tr API
Get live football scores, daily fixtures, and detailed match information including team lineups with player ratings, comprehensive statistics, and betting odds. Stay updated on your favorite games with real-time data and complete match summaries all in one place.
kooora.com API
Get live football scores, match details, team standings, and player statistics in real-time. Stay updated with the latest football news and competition rankings all in one place.
livescore.com API
Track live scores and detailed statistics across football, hockey, basketball, tennis, and cricket with the ability to filter by date, sport, and league. Access match summaries, team overviews, standings, fixtures, and results to stay updated on your favorite competitions and teams.
football-data.org API
Get live match scores, team standings, and player statistics across football competitions worldwide. Search for teams, view head-to-head matchups, track top scorers, and explore detailed information about competitions and geographical areas.
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.