Euro Championship data API

The world's easiest
Euro Championship API for developers ballers.

A Postgres-backed UEFA European Championship results archive: 44 archived Euro 2024 matches (the tournament played 51 — this is a partial archive) with final scores and half-by-half linescores, plus head-to-head context against any opponent the same teams have played. No upstream credit burn, no quota cost.

Euro Championship match event replay

No verified match event is available for this fixture.

44
Euro Championship matches
Measured from production coverage
1
Seasons
2024–2024
UNKNOWN
Teams represented
Measured from the connected competition feed
100%
API uptime
90-day window to 2026-10-28 · 0 days below 100%

Player intelligence

From player row to scouting profile.

Goals, assists, appearances and minutes stay attached to one served season row. Canonical player IDs and first-party asset URLs render when present; otherwise the page uses an honest text or monogram fallback.

?Player not verifiableNo current row
—
Goals
—
Assists
—
Apps
—
Scoring rank

Soccer minute-by-minute

Follow the match’s key events.

Goals, cards, substitutions and VAR decisions stay attached to the match clock, player, team and canonical match ID. This incident feed is not a pass-by-pass possession log.

Real match incident feedKey events
Spain2–1England

No minute-by-minute rows are available for this fixture yet. The timeline fills in from GET /v1/matches/{id}/events once the match events land — this panel shows what the API returned, never a placeholder.

    What developers can build

    Five Euro Championship products from one connected surface.

    The same fixtures, standings, player rows, events and odds identities feed every view.

    WHAT DEVELOPERS ARE BUILDING
    Five products from the same connected surface.
    9:41
    PLAYERS · CURRENT EURO CHAMPIONSHIP SEASON
    Fantasy XI
    JA
    FWDPlayer data pendingEC
    —
    CM
    FWDPlayer data pending
    —
    BR
    FWDPlayer data pendingEC
    —
    PN
    MIDPlayer data pendingEC
    —
    JS
    MIDPlayer data pending
    —
    TM
    MIDPlayer data pendingEC
    —
    JG
    FLEXPlayer data pendingEC
    —
    SEASON POINTS—
    SHARE OF TOTAL7 SLOTS
    CMC 15.9%NACUA 15.2%MCBRIDE 12.1%
    How to build a Euro Championship fantasy app→
    PLAYER RANKINGS NOT SERVED
    9:41
    TOTALS · 9-DAY DRIFT
    Consensus movement
    open → close · actual ○
    CHI @ BAL−4.59
    49.6845.0946
    SF @ LA−2.27
    46.0043.7349
    BAL @ GB−1.85
    40.0538.2065
    How to build a Euro Championship betting model→
    10 TO 11 BOOKS PER GAME
    9:41
    LATEST SERVED EURO CHAMPIONSHIP MATCH
    England at Spain
    SOLDIER FIELD
    EEngland
    20
    SSpain
    10
    Q4 · 8:41 REMAININGNYG BALL · 1ST & 1043 YARDS OUT
    CURRENT DRIVENYG →
    EBALL ON CHI 43CHI END ZONE
    MATCH EVENT SNAPSHOT0 EVENTS
    100Q1Q4
    How to build a Euro Championship live match center→
    S 2 · E 1
    9:41
    CURRENT SEASON · PLAYER COMPARISON
    Receiver scouting
    JJ
    Player oneEC · ATTACKER
    CL
    Player twoEC · ATTACKER
    crossover1,8091,7491,0481,077202020222025
    PERCENTILE, EACH SEASON
    JEFFERSONLAMB80th2025 · 94th100th
    How to build a Euro Championship player production board→
    151 TO 168 QUALIFYING WRS
    9:41
    POINTS PER GAME
    Conditions analytics
    INDOOR VS OUTDOOR
    48.50
    44.63
    Indoor538 GAMES
    Outdoor1,155 GAMES
    INDOOR EDGE+3.87
    How to build a Euro Championship fixture alert app→
    2020 TO 2025 FINISHED GAMES

    Standings

    Current Euro Championship standings.

    A competition-specific table is not currently verifiable, so this page does not substitute another league's standings.

    We do not currently hold verified standings or squad lists for Euro Championship. The fixtures and match data shown elsewhere on this page remain available; this page does not substitute another competition's table or roster.

    Standings are not currently verifiable.

    Team strength

    The Euro Championship Elo leaderboard.

    A continuously recalculated rating across the available clubs. Last computed Not independently exposed.

      No competition-specific Elo board is currently verifiable. Ratings from another league are never substituted.

      Player rankings

      Goals and assists, side by side.

      Both boards request the same current season as the standings and preserve canonical player IDs and first-party asset URLs when present. Identity is never guessed from a name, and monograms render when no image is served.

      Top scorers

        Assist leaders

          Competition-specific player rankings are not currently verifiable. The shared player-media resolver remains available when canonical rows are added; this page does not borrow players or headshots from another competition.

          Player availability

          Soccer absences.

          A dedicated Euro Championship absence feed is not currently verified, so this panel reports that gap instead of borrowing domestic-league records.

          Next up

          The next Euro Championship matches on the schedule.

          No future fixture is currently verifiable.

          From response to product

          The same match, rendered and raw.

          Resize the views to inspect how one real Euro Championship match response maps into a match-center interface.

          Match centerfinished

          Spain

          2
          vs

          England

          1
          Kickoff
          2024-07-14 19:00
          Odds attached
          Yes
          GET /v1/matches/ddd01c5c-62d3-48e8-99ab-f21c9a4c7b7f
          {
            "data": {
              "id": "ddd01c5c-62d3-48e8-99ab-f21c9a4c7b7f",
              "sport": "football",
              "league": "Euro Championship",
              "home": {
                "id": "a608176b-b723-4c72-bba1-0971f4ff8fdc",
                "name": "Spain",
                "short_name": "ESP",
                "logo_url": "https://api.bigballsdata.com/v1/assets/Ym4Bs80opakEZ-7R9SttxNbyRCeOXjBVzh0II2rGIrXXyJfTZV9Z18crfgGXs_uOblChvIVyxItCpWcgFkygKpM8qb8"
              },
              "away": {
                "id": "b9156c53-f28e-4a33-b9a7-04e00d921ba2",
                "name": "England",
                "short_name": "ENG",
                "logo_url": "https://api.bigballsdata.com/v1/assets/MmNlJjZ5_6150zQGA9b79Bj4rnFzjEYwUBGa7hbFC-nLByEvZ92GIgJRQzYfBMxwiqPjPNpduDcEUFixQvAgb9B-iwM"
              },
              "kickoff_utc": "2024-07-14T19:00:00.000Z",
              "status": "finished",
              "score": {
                "home": 2,
                "away": 1
              },
              "linescore": {
                "away": [
                  0,
                  1
                ],
                "home": [
                  0,
                  2
                ]
              },
              "attendance": null,
              "broadcast": null,
              "round": null,
              "has_odds": true
            }
          }

          Drag the divider or use the arrow keys. On mobile the rendered view and exact response stack.

          Real API example

          One request. A traversable Euro Championship match ID.

          Start with the schedule, then follow the returned canonical match UUID into detail, events, statistics and odds.

          curl -H "Authorization: Bearer $BBS_API_KEY" "https://api.bigballsdata.com/v1/matches?sport=football&league=Euro Championship"
          {
            "data": {
              "id": "ddd01c5c-62d3-48e8-99ab-f21c9a4c7b7f",
              "sport": "football",
              "league": "Euro Championship",
              "home": {
                "id": "a608176b-b723-4c72-bba1-0971f4ff8fdc",
                "name": "Spain",
                "short_name": "ESP",
                "logo_url": "https://api.bigballsdata.com/v1/assets/Ym4Bs80opakEZ-7R9SttxNbyRCeOXjBVzh0II2rGIrXXyJfTZV9Z18crfgGXs_uOblChvIVyxItCpWcgFkygKpM8qb8"
              },
              "away": {
                "id": "b9156c53-f28e-4a33-b9a7-04e00d921ba2",
                "name": "England",
                "short_name": "ENG",
                "logo_url": "https://api.bigballsdata.com/v1/assets/MmNlJjZ5_6150zQGA9b79Bj4rnFzjEYwUBGa7hbFC-nLByEvZ92GIgJRQzYfBMxwiqPjPNpduDcEUFixQvAgb9B-iwM"
              },
              "kickoff_utc": "2024-07-14T19:00:00.000Z",
              "status": "finished",
              "score": {
                "home": 2,
                "away": 1
              },
              "linescore": {
                "away": [
                  0,
                  1
                ],
                "home": [
                  0,
                  2
                ]
              },
              "attendance": null,
              "broadcast": null,
              "round": null,
              "has_odds": true
            }
          }

          Missing a stat?

          If a field you need is not listed, tell us. Requests help prioritize what we add next.

          Name the field or the endpoint shape. Specifics help more than categories.

          Goes straight to the team as a product signal. No newsletter, no account, nothing else done with your address.

          MCP

          Connect an agent. Start building.

          Give an agent the Euro Championship league key and let it traverse fixtures, standings, players, events and odds through the same API identity.

          MCP · bigballsdataConnected · 6 tools

          You

          Build a Euro Championship match center with the table, current leaders and market context.

          list_matches · league=Euro Championship

          get_standings · season=current

          get_player_stats · leaders=true

          get_match_odds · books=all

          Agent

          Euro Championship context resolved. I joined the same match, club and player identities across four tools.

          Generated product cards

          Match center

          Spain 2–1 England

          Player leaders
          League table

          Data freshness

          How fresh is Euro Championship data, exactly?

          This page checked its served sources Nov 3, 2026, 5:24 PM UTC. Cadences remain category-specific.

          • Real-time

            Live scores

            Every 15 seconds

            Source as of: Jul 14, 2024, 7:00 PM UTC

          • Real-time

            Odds

            Every 60 seconds

            Source as of: Nov 3, 2026, 5:24 PM UTC

          • Real-time

            Standings

            After final whistle

            Source as of: Nov 3, 2026, 5:24 PM UTC

          • Real-time

            Player stats

            Every 15 seconds

            Source as of: Nov 3, 2026, 5:24 PM UTC

          • Daily

            Rosters

            Checked daily

            Source as of: Cadence contract; no roster timestamp on this page

          • Frequent

            Injuries

            Every 30 minutes

            Source as of: No injury as-of date resolved

          • Frequent

            Games and schedule

            Every 15 minutes

            Source as of: Nov 3, 2026, 5:24 PM UTC

          • Static

            Historical stats

            Static

            Source as of: 2024

          Choose the right plan

          What does your Euro Championship product need?

          Pick a product to highlight every required capability and the lowest plan that includes the complete build. Expand a capability only when you need its endpoint.

          Matches and table

          Fixtures, live scores and resultsFree/v1/matches?sport=football&league={league}
          League standings and recordsFree/v1/standings?sport=football&league={league}
          Clubs, crests and player directoryFree/v1/teams · /v1/players
          Match details and final scoreFree/v1/matches/{id}

          Player intelligence

          Player headshotsStarts at Solo/v1/leagues/{id}/top-scorers
          Goals, assists, appearances and minutesStarts at Solo/v1/players/{id}/club-form
          Shots on target, key passes and match ratingsStarts at Solo/v1/players/{id}/club-form

          Expected goals

          xG, xA and non-penalty xG leadersStarts at Solo/v1/leagues/{id}/xg-leaders

          Models and form

          Club form and head-to-head intelligenceStarts at Edge/v1/teams/{id}/form · /v1/teams/{id}/h2h-intelligence

          Odds and betting

          Advanced match statistics: possession, shots, cards and xGStarts at Edge/v1/matches/{id}/statistics
          Current multi-book match oddsStarts at Edge/v1/matches/{id}/odds
          Historical odds and closing linesStarts at Edge/v1/odds/historical · /v1/odds/closing-lines
          Line movement, trends and schedule contextStarts at Edge/v1/games/{id}/line-movement · /v1/teams/{id}/trends
          Odds divergence signalsStarts at Edge/v1/odds/divergences

          Play-by-play and live

          Soccer play-by-play: goals, cards, substitutions and match eventsStarts at Pro/v1/matches/{id}/events?sport=football
          Real-time WebSocket deliveryStarts at Prowss://api.bigballsdata.com/v1/ws

          Odds fields can be removed inside a successful response when the key lacks betting access. The rest of the response remains available while restricted fields are redacted.

          Founder pricing

          Start with Euro Championship. Add depth as the product grows.

          Current founder pricing comes from the shared billing manifest. Crossed-out figures are future prices, not what customers pay today.

          Free

          $0
          • ✓ One sport
          • ✓ Scores, schedules and standings
          • ✓ Teams, players and final box scores
          • ✓ Current season
          Get a key

          Solo

          $19per monthFuture price $39
          • ✓ Everything in Free
          • ✓ Euro Championship player and team season stats
          • ✓ Player form and team intelligence
          • ✓ Up to five seasons
          Choose Solo

          Trio

          $49per monthFuture price $99
          • ✓ Everything in Solo
          • ✓ Choose three sports
          • ✓ The same Euro Championship depth across your selected sports
          • ✓ Up to five seasons
          Choose Trio

          Edge

          $149per monthFuture price $299
          • ✓ Everything in Trio
          • ✓ All sports
          • ✓ Current and historical Euro Championship odds
          • ✓ All available history
          Choose Edge

          Pro

          $299per monthFuture price $999
          • ✓ Everything in Edge
          • ✓ Real-time WebSocket delivery
          • ✓ All available history
          Choose Pro

          Euro Championship API FAQ

          Answers before you build.

          What Euro Championship data is available today?

          44 archived matches from Euro 2024, with team names, kickoff times, final scores, and half-by-half linescores where recorded. Euro 2024 played 51 matches — this is a partial archive, not the full tournament record.

          Are odds, lineups, or standings available?

          Not yet. This is a results archive today — scores only. Odds, lineups, player stats, and a group-table endpoint are not loaded for this competition.

          Is Euro 2028 tracked yet?

          Not currently — this archive covers the completed Euro 2024 tournament. Coverage of future editions is a roadmap item, not a current claim.

          What does "no upstream quota cost" mean?

          Every endpoint listed here reads from our Postgres archive, not an upstream provider. Hitting them does not consume any upstream provider credits or vendor allowance.

          Is it on the free tier?

          Yes for the match routes: GET /v1/matches and GET /v1/matches/:id are free, 1,000 req/day (2,000 with GitHub connected). Head-to-head, GET /v1/teams/:id/h2h-intelligence, is on the Solo plan.

          How far back does the archive go?

          One tournament: Euro 2024, 14 June – 14 July 2024, all 24 teams — but only 44 of the 51 matches the tournament actually played (missing 7). There is no earlier Euro edition loaded.

          Can I get head-to-head history using this data?

          Yes. GET /v1/teams/:id/h2h-intelligence?opponent_id=<team-uuid> returns results between two teams across every competition they have met in — not scoped to Euro 2024 alone, so a Spain vs Germany query also pulls in any Nations League or World Cup meetings between them.

          Does this update as new editions are played?

          Not automatically today. This is a closed archive of the completed Euro 2024 tournament. Whether Euro 2028 gets added when it happens is undetermined — that is not a confirmed roadmap item, not a promise.

          What Euro Championship data can I get from the API?

          Fixtures, scores, teams, match details, head-to-head history, and available odds are exposed through the connected soccer routes. Richer statistics and event panels render only when this competition has a measured, publishable source; an absent panel is not silently replaced with another league's data. Canonical match and national-team identifiers let a product move from schedule to detail without joining on display names.

          Read the relevant docs →
          Is Euro Championship data live, and how quickly does it update?

          Freshness depends on the dataset rather than one page-wide timer. Live scores and player statistics can refresh during matches, while fixtures, rosters, absences, and settled historical rows use slower cadences. Read the source date and response metadata before deciding how often your application should poll.

          Read the relevant docs →
          How do I make my first Euro Championship request?

          Create an account and API key, then send it as a Bearer token. Start with /v1/matches?sport=football&league=Euro Championship or /v1/standings?sport=football&league=Euro Championship so a healthy response is useful even when no match is live. Keep the returned canonical IDs for the detail calls that follow.

          Read the relevant docs →
          How do I find player, club, and match IDs?

          Discover identifiers from list responses instead of guessing them from names. Euro Championship match rows provide the national-team or match identity needed by detail routes. Preserve those IDs in your own records because accents, abbreviations, transfers, and reused display names make name joins unsafe.

          Read the relevant docs →
          How much historical Euro Championship data is available?

          The exact season range depends on the dataset and your plan. Use the coverage response and season labels returned by each route before promising a date range to users. Founder plans expose current-season evaluation on Free, up to five seasons on Solo and Trio, and all available history on Edge and Pro.

          Read the relevant docs →
          How do Euro Championship seasons and match statuses work?

          Euro Championship is organized by edition or competition cycle rather than a permanent domestic table. Retain the served edition and match status instead of manufacturing a domestic-style season from the kickoff year. Read match status to distinguish scheduled, live, finished, postponed, suspended, or cancelled fixtures. A table or archive and a future fixture window can legitimately carry different source timestamps.

          Read the relevant docs →
          Can I get goals, assists, minutes, and expected goals?

          This page does not claim a dedicated Euro Championship expected-goals leaderboard today. Match or player statistics appear only when the competition-specific source provides them and the publication checks pass. Treat an absent panel or missing field as unavailable, never as a measured zero or as permission to substitute another competition.

          Read the relevant docs →
          Does the API include Euro Championship match events and play-by-play?

          Soccer match events include goals, cards, substitutions, and event timing at scale. They are the soccer equivalent of play-by-play and belong to the Pro capability tier. Use the canonical match ID from the schedule or match list to request the event timeline.

          Read the relevant docs →
          What does an empty result or missing field mean?

          An empty list can be a healthy response for a valid Euro Championship filter with no matching rows. A null field means the value was unavailable or redacted, and it should not be converted into zero. Check status, pagination, metadata, and the requested season before diagnosing a data gap.

          Read the relevant docs →
          How should I use Euro Championship injury and suspension data?

          A dedicated Euro Championship absence feed is not promised on this page today. Do not borrow an injury row from a domestic league or infer availability from a missing lineup. When competition-specific absences are added, they must carry their own source date and preserve the supplied injury, suspension, or other reason.

          Read the relevant docs →
          What are the rate limits, and how often should I poll?

          Your plan and response headers define the enforceable request limits. Poll live Euro Championship matches more frequently than schedules, rosters, or completed historical statistics. Back off on a 429 response instead of retrying at the same cadence.

          Read the relevant docs →
          Are Euro Championship statistics corrected after matches?

          Source corrections can change a completed match or player row after the final whistle. Keep canonical IDs so an updated value replaces the same record rather than creating a duplicate. Use the latest source date exposed by the response when auditability matters.

          Read the relevant docs →
          Can I use Euro Championship data in a commercial product?

          Commercial use depends on your plan and the applicable terms for the fields you use. API access does not itself grant redistribution, sublicensing, trademark, or media rights. Review the terms before shipping a public or customer-facing integration.

          Read the relevant docs →
          Which timezone and timestamp format does Euro Championship data use?

          Match kickoff records use UTC timestamps. Convert them for display at the edge of your application while retaining the original value for sorting and comparisons. Keep the served tournament edition alongside the timestamp because national-team cycles do not map cleanly to a domestic season.

          Read the relevant docs →
          How are postponed, suspended, and cancelled matches represented?

          Read the returned match status rather than inferring state from a blank score or an old kickoff time. Preserve status values your application does not yet recognize so future vocabulary changes do not become false finals. Wait for a terminal status before triggering irreversible settlement or notification logic.

          Read the relevant docs →

          69

          endpoints for Soccer

          The table above is a starting selection. This is the whole count, generated from the same registry the gateway enforces, so it cannot drift from what your key can actually call.

          42
          Free
          13
          Solo
          13
          Edge
          1
          Pro

          Every endpoint, with the plan it needs, as JSON: /league-endpoints.json. Request and response reference: /docs and /openapi.json.

          A count of endpoints that accept this league, not a measure of how much data sits behind them. Call /v1/coverage for that.