Discover/Flashscore API
live

Flashscore APIflashscore.es ↗

Retrieve pre-match 1X2 betting odds from Flashscore.es across all sports and leagues. Get daily match overviews or per-bookmaker odds with opening lines and movement.

Endpoint health
verified 3d ago
get_match_odds
get_daily_odds
2/2 passing latest checkself-healing
Endpoints
2
Verified account required
Updated
2mo ago

What is the Flashscore API?

The Flashscore.es API provides pre-match betting odds data through 2 endpoints covering every sport and league on the platform. get_daily_odds returns all scheduled matches for a given day with 1X2 odds, team names, league, and start times. get_match_odds drills into a single event to return per-bookmaker odds including opening values, current values, and whether the line has moved up, down, or held steady.

This call costs3 credits / call— charged only on success
Try it
Sport to retrieve odds for.
Day offset from today. 0 = today, 1 = tomorrow, -1 = yesterday, etc.
→ api.parse.bot/scraper/84a9cb2a-05b5-4fff-b726-7442dcc662f6/<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/84a9cb2a-05b5-4fff-b726-7442dcc662f6/get_daily_odds?sport=football&day_offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace flashscore-es-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Flashscore Odds API — browse today's matches and drill into detailed odds."""
from parse_apis.flashscore_es_api import Flashscore, Sport, BetType, BetScope, InputFormatInvalid

client = Flashscore()

# List today's football matches with their headline 1X2 odds.
for match in client.matches.list(sport=Sport.FOOTBALL, day_offset=0, limit=5):
    print(f"{match.home_team} vs {match.away_team} | {match.league}")
    print(f"  1X2: {match.home_odds} / {match.draw_odds} / {match.away_odds}")

# Drill into one match for full bookmaker odds with movement info.
match = client.matches.list(sport=Sport.FOOTBALL, day_offset=0, limit=1).first()
if match is not None:
    try:
        odds = match.get_odds(bet_type=BetType.HOME_DRAW_AWAY, bet_scope=BetScope.FULL_TIME)
    except InputFormatInvalid as e:
        print(f"Invalid input: {e.message}")
    else:
        if odds.odds is not None:
            for outcome_name, outcome in odds.odds.items():
                print(f"  {outcome_name}: {outcome.value} (opened {outcome.opening}, {outcome.change_type})")

print("exercised: matches.list / match.get_odds")
All endpoints · 2 totalmissing one? ·

Returns all scheduled matches for a given sport and day with their primary 1X2 (home/draw/away) odds from the featured bookmaker. Each match includes league, country, team names, start timestamp, and current/previous odds. Makes two internal requests (matches feed + odds feed) per call. Results are not paginated; one call returns all matches for the day (typically 200-900+ for football).

Input
ParamTypeDescription
sportstringSport to retrieve odds for.
day_offsetintegerDay offset from today. 0 = today, 1 = tomorrow, -1 = yesterday, etc.
Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of matches returned",
    "matches": "array of match objects with event_id, league, country, home_team, away_team, start_time (unix), home_odds, draw_odds, away_odds, and previous odds values"
  },
  "sample": {
    "total": 929,
    "matches": [
      {
        "league": "ALEMANIA: 2. Bundesliga",
        "country": "Alemania",
        "event_id": "Ewns1nkl",
        "away_odds": "4.75",
        "away_team": "Cottbus",
        "draw_odds": "4.2",
        "home_odds": "1.62",
        "home_team": "Arminia Bielefeld",
        "start_time": 1786879800,
        "bookmaker_id": "549",
        "away_odds_previous": "3.6",
        "draw_odds_previous": "3.8",
        "home_odds_previous": "1.85"
      }
    ]
  }
}

About the Flashscore API

Daily Match Odds

get_daily_odds accepts a sport parameter and a day_offset integer (0 for today, 1 for tomorrow, negative values for past days) and returns a list of all scheduled matches with their primary 1X2 odds. Each match object in the matches array includes event_id, league, country, home_team, away_team, start_time (Unix timestamp), and the current and previous home_odds, draw_odds, and away_odds from the featured bookmaker. The total field gives the count of matches returned for that day and sport combination.

Per-Match, Per-Bookmaker Odds

get_match_odds takes a required event_id (the 8-character alphanumeric identifier from get_daily_odds) plus optional parameters for bet_type, bet_scope, and bookmaker_id. Common bookmaker IDs include 1133 for FanDuel, 549 for bet365, 851 for BetMGM, and 1205 for DraftKings. The response returns an odds object with each outcome's current value, opening value, active status, and change direction (UP, DOWN, or NONE), making it straightforward to detect line movement since opening.

Bet Types and Scope

Beyond the standard 1X2 market, get_match_odds supports additional bet_type values covering over/under totals, both teams to score, Asian handicap, and double chance markets. The bet_scope parameter lets you target specific time windows within a match (e.g., first half). This allows coverage of multiple markets per event rather than limiting analysis to the full-match result.

Reliability & maintenanceVerified

The Flashscore API is a managed, monitored endpoint for flashscore.es — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when flashscore.es 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.es 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
3d ago
Latest check
2/2 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
  • Track opening-to-current odds movement across bookmakers to identify sharp line shifts before kickoff
  • Aggregate daily 1X2 odds across all leagues using get_daily_odds to feed a betting comparison dashboard
  • Alert users when a specific match's odds change direction using the UP/DOWN/NONE movement field from get_match_odds
  • Compare bet365 vs BetMGM odds on the same event by calling get_match_odds twice with different bookmaker_id values
  • Build a historical odds dataset by archiving daily snapshots using the day_offset parameter
  • Filter upcoming matches by start_time and country to surface only relevant fixtures for a regional betting product
  • Analyze closing line value by comparing opening_value and current_value fields across multiple bookmakers
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 a public developer API with documented endpoints, authentication, or terms for programmatic access. This Parse API provides structured access to the odds and match data available on flashscore.es.
What does get_match_odds return beyond the current odds price?+
For each outcome in the requested market, it returns the current value, the opening value (the odds when the market first went live), an active status flag, and a change direction indicator (UP, DOWN, or NONE). This lets you see not just where odds stand now but how far they have moved since the market opened.
Does the API return in-play or live odds?+
Both endpoints cover pre-match odds only. In-play or live odds during a match are not returned. You can fork this API on Parse and revise it to add a live-odds endpoint if that coverage is needed.
Can I retrieve historical odds from days in the past?+
get_daily_odds supports negative day_offset values, so you can query match listings and their odds from past dates. However, the depth of historical data available may be limited depending on how long Flashscore retains archived odds, and individual historical events may have incomplete or null odds fields.
Does the API cover Asian handicap and over/under markets for every match?+
get_match_odds supports Asian handicap, over/under, both teams to score, and double chance bet types via the bet_type parameter. Coverage of these markets depends on what each bookmaker has priced for a given event — the odds field returns null when a market is unavailable for that bookmaker and event. You can fork this API on Parse and revise it to add filtering or fallback logic for missing markets.
Page content last updated . Spec covers 2 endpoints from flashscore.es.
Related APIs in SportsSee all →
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.
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.de API
Get match listings, match details and statistics, team rosters, and a German-language sports news feed from Flashscore.de, plus lineup data with player rating fields when available.
oddsportal.com API
Track sports betting odds, matches, and results across multiple sports and leagues in real-time, while viewing team standings and match details to stay informed on upcoming games. Access comprehensive betting data and historical results from OddsPortal to compare odds and analyze sports outcomes.
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.
betexplorer.com API
Search upcoming football matches across multiple dates and instantly compare 1X2 betting odds from BetExplorer to find the best lines for your picks. Access daily match schedules with real-time odds data to help inform your betting decisions.
oddschecker.com API
Compare betting odds across multiple bookmakers for a wide range of sports, markets, and events on Oddschecker. Retrieve match details, race cards, market outcomes, and bookmaker-by-bookmaker odds to identify the best available prices.
accessbet.com API
Fetch real-time prematch betting odds across multiple sports, tournaments, and individual matches to compare market prices and make informed wagering decisions. Access comprehensive sports listings, tournament details, and detailed odds data all from a single source.