UEFA Nations League data API

The world's easiest
UEFA Nations League API for developers ballers.

A Postgres-backed UEFA Nations League results archive: 98 archived matches from the 2024/25 cycle 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.

Verified match event replay
England crestEngland
3–0
Czech Republic crestCzech Republic
GOAL 57'BeforeAfter
Recorded eventHarry Kane57'

57' · England

Harry Kane headshotHarry Kane scoresLewis Hall headshotAssisted by Lewis Hall

Real match event from the API. No win-probability field is inferred.

156
UEFA Nations League matches
Measured from production coverage
1
Seasons
2026–2026
54
Teams represented
2026
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
England3–0Czech Republic
  1. 84′SubstitutionVladimír Coufal headshotVladimír CoufalSubstitution 5Czechia· On:Ondrej Kricfalusi
  2. 82′SubstitutionHarry Kane headshotHarry KaneSubstitution 5England· On:Dominic Calvert-Lewin headshotDominic Calvert-Lewin
  3. 67′Yellow cardMartin Vitík headshotMartin VitíkYellow CardCzechia
  4. 57′Goal3–0Harry Kane headshotHarry KaneNormal GoalEngland· Assist:Lewis Hall headshotLewis Hall

What developers can build

Five UEFA Nations League 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 UEFA NATIONS LEAGUE SEASON
Fantasy XI
JA
FWDPlayer data pendingUNL
—
CM
FWDPlayer data pending
—
BR
FWDPlayer data pendingUNL
—
PN
MIDPlayer data pendingUNL
—
JS
MIDPlayer data pending
—
TM
MIDPlayer data pendingUNL
—
JG
FLEXPlayer data pendingUNL
—
SEASON POINTS—
SHARE OF TOTAL7 SLOTS
CMC 15.9%NACUA 15.2%MCBRIDE 12.1%
How to build a UEFA Nations League 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 UEFA Nations League betting model→
10 TO 11 BOOKS PER GAME
9:41
LATEST SERVED UEFA NATIONS LEAGUE MATCH
Czech Republic at England
SOLDIER FIELD
CRCzech Republic
20
EEngland
10
Q4 · 8:41 REMAININGNYG BALL · 1ST & 1043 YARDS OUT
CURRENT DRIVENYG →
CRBALL ON CHI 43CHI END ZONE
MATCH EVENT SNAPSHOT22 EVENTS
100Q1Q4
How to build a UEFA Nations League live match center→
E 3 · CR 0
9:41
CURRENT SEASON · PLAYER COMPARISON
Receiver scouting
JJ
Player oneUNL · ATTACKER
CL
Player twoUNL · ATTACKER
crossover1,8091,7491,0481,077202020222025
PERCENTILE, EACH SEASON
JEFFERSONLAMB80th2025 · 94th100th
How to build a UEFA Nations League 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 UEFA Nations League fixture alert app→
2020 TO 2025 FINISHED GAMES

Standings

2026 UEFA Nations League standings.

The full 54-team table, aligned for phone and desktop. Source as of Oct 7, 2026, 5:20 AM UTC.

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

#ClubPWDLGDPtsElo
1SSwitzerland4400+10121622
2SSpain4400+7121785
3PPortugal4400+5121671
4SSlovakia4310+710—
5FFrance4310+5101786
6SSweden4310+4101570
7MMontenegro4310+310—
8EEngland4301+1191682
9AAlbania4301+59—
10IIceland4220+68—
11AAustria4220+481641
12NINorthern Ireland4220+48—
13BABosnia and Herzegovina4220+381525
14NNetherlands4220+281748
15GGreece4220+28—
16FFinland4211+77—
17IItaly4211+37—
18BBelarus4211+37—
19CCyprus4211+27—
20SSlovenia4211+27—
21MMalta3210+27—
22HHungary4211+17—
23BBelgium4202+161664
24EEstonia4130+16—
25DDenmark420206—
26RORep. Of Ireland4121+25—
27GGermany4121+151757
28AAzerbaijan3120+15—
29KKosovo4121-15—
30PPoland4112+34—
31LLithuania3111+14—
32FIFaroe Islands404004—
33AArmenia4112-14—
34BBulgaria4112-24—
35SScotland4112-241511
36UUkraine4112-34—
37MMoldova4112-54—
38NNorway4103-231682
39WWales4103-33—
40LLuxembourg4103-53—
41CCroatia4103-1031686
42GGibraltar202002—
43KKazakhstan4022-22—
44GGeorgia4022-22—
45IIsrael4022-52—
46AAndorra3012-21—
47LLiechtenstein2011-21—
48LLatvia4013-41—
49SSerbia4004-50—
50CRCzech Republic4004-801559
51TTurkey4004-901664
52RRomania4004-100—
53FMFYR Macedonia4004-100—
54SMSan Marino4004-150—

Team strength

The UEFA Nations League Elo leaderboard.

A continuously recalculated rating across 16 clubs. Last computed Sep 28, 2026, 12:48 AM UTC.

  1. 1FFrance1786
  2. 2SSpain1785
  3. 3GGermany1757
  4. 4NNetherlands1748
  5. 5CCroatia1686
  6. 6EEngland1682
  7. 7NNorway1682
  8. 8PPortugal1671

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 UEFA Nations League absence feed is not currently verified, so this panel reports that gap instead of borrowing domestic-league records.

      Next up

      The next UEFA Nations League matches on the schedule.

      12 Nov 2026 – 13 Nov 2026

      AArmeniavsCCyprus

      Nov 12, 2026, 5:00 PM UTC

      TTurkeyvsBBelgium

      Nov 12, 2026, 5:00 PM UTC

      EEnglandvsCCroatia

      Nov 12, 2026, 7:45 PM UTC

      IItalyvsFFrance

      Nov 12, 2026, 7:45 PM UTC

      SMSan MarinovsBBelarus

      Nov 12, 2026, 7:45 PM UTC

      AAlbaniavsFFinland

      Nov 12, 2026, 7:45 PM UTC

      From response to product

      The same match, rendered and raw.

      Resize the views to inspect how one real UEFA Nations League match response maps into a match-center interface.

      Match centerfinished

      England

      3
      vs

      Czech Republic

      0
      Kickoff
      2026-10-06 18:45
      Odds attached
      Yes
      GET /v1/matches/06f875ab-d8cf-4abe-8a69-29e4beb29157
      {
        "data": {
          "id": "06f875ab-d8cf-4abe-8a69-29e4beb29157",
          "sport": "football",
          "league": "UEFA Nations League",
          "home": {
            "id": "b9156c53-f28e-4a33-b9a7-04e00d921ba2",
            "name": "England",
            "short_name": "ENG",
            "logo_url": "https://api.bigballsdata.com/v1/assets/MmNlJjZ5_6150zQGA9b79Bj4rnFzjEYwUBGa7hbFC-nLByEvZ92GIgJRQzYfBMxwiqPjPNpduDcEUFixQvAgb9B-iwM"
          },
          "away": {
            "id": "497fae16-b01d-4442-9af3-caae3d0b4a2a",
            "name": "Czech Republic",
            "short_name": "CZE",
            "logo_url": "https://api.bigballsdata.com/v1/assets/cqWGDmUPZKgUXpnjUkVQXO3W2QWC0dQCsUrcwPG6fqEsUJuifI7FJ5s0VHxTHRlLZeCOVfRWOayRX7uIz8qlrvL0Bvg"
          },
          "kickoff_utc": "2026-10-06T18:45:00.000Z",
          "status": "finished",
          "score": {
            "home": 3,
            "away": 0
          },
          "linescore": {
            "away": [
              0
            ],
            "home": [
              3
            ]
          },
          "attendance": null,
          "broadcast": null,
          "round": "League A - 4",
          "has_odds": true
        }
      }

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

      Embeddable UEFA Nations League widgets

      Publish useful league views before writing an integration.

      These lightweight iframe pages require no visitor API key. The page fetches through the server and keeps the credential out of the browser.

      Standings

      <iframe src="https://bigballsdata.com/embed/uefa-nations-league/standings" title="UEFA Nations League Standings" width="100%" height="620" loading="lazy" style="border:0"></iframe>
      Open the tokenless widget

      Real API example

      One request. A traversable UEFA Nations League 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=UEFA Nations League"
      {
        "data": {
          "id": "06f875ab-d8cf-4abe-8a69-29e4beb29157",
          "sport": "football",
          "league": "UEFA Nations League",
          "home": {
            "id": "b9156c53-f28e-4a33-b9a7-04e00d921ba2",
            "name": "England",
            "short_name": "ENG",
            "logo_url": "https://api.bigballsdata.com/v1/assets/MmNlJjZ5_6150zQGA9b79Bj4rnFzjEYwUBGa7hbFC-nLByEvZ92GIgJRQzYfBMxwiqPjPNpduDcEUFixQvAgb9B-iwM"
          },
          "away": {
            "id": "497fae16-b01d-4442-9af3-caae3d0b4a2a",
            "name": "Czech Republic",
            "short_name": "CZE",
            "logo_url": "https://api.bigballsdata.com/v1/assets/cqWGDmUPZKgUXpnjUkVQXO3W2QWC0dQCsUrcwPG6fqEsUJuifI7FJ5s0VHxTHRlLZeCOVfRWOayRX7uIz8qlrvL0Bvg"
          },
          "kickoff_utc": "2026-10-06T18:45:00.000Z",
          "status": "finished",
          "score": {
            "home": 3,
            "away": 0
          },
          "linescore": {
            "away": [
              0
            ],
            "home": [
              3
            ]
          },
          "attendance": null,
          "broadcast": null,
          "round": "League A - 4",
          "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 UEFA Nations League league key and let it traverse fixtures, standings, players, events and odds through the same API identity.

      MCP · bigballsdataConnected · 6 tools

      You

      Build a UEFA Nations League match center with the table, current leaders and market context.

      list_matches · league=UEFA Nations League

      get_standings · season=current

      get_player_stats · leaders=true

      get_match_odds · books=all

      Agent

      UEFA Nations League context resolved. I joined the same match, club and player identities across four tools.

      Generated product cards

      Match center

      England 3–0 Czech Republic

      Player leaders
      League table
      SSwitzerland12 pts
      SSpain12 pts

      Data freshness

      How fresh is UEFA Nations League data, exactly?

      This page checked its served sources Nov 3, 2026, 8:45 AM UTC. Cadences remain category-specific.

      • Real-time

        Live scores

        Every 15 seconds

        Source as of: Oct 6, 2026, 6:45 PM UTC

      • Real-time

        Odds

        Every 60 seconds

        Source as of: Nov 3, 2026, 8:45 AM UTC

      • Real-time

        Standings

        After final whistle

        Source as of: Oct 7, 2026, 5:20 AM UTC

      • Real-time

        Player stats

        Every 15 seconds

        Source as of: Nov 3, 2026, 8:45 AM 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, 8:45 AM UTC

      • Static

        Historical stats

        Static

        Source as of: 2026

      Choose the right plan

      What does your UEFA Nations League 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 UEFA Nations League. 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
      • ✓ UEFA Nations League 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 UEFA Nations League depth across your selected sports
      • ✓ Up to five seasons
      Choose Trio

      Edge

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

      Pro

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

      UEFA Nations League API FAQ

      Answers before you build.

      What UEFA Nations League data is available today?

      98 archived matches from the 2024/25 cycle, with team names, kickoff times, final scores, and half-by-half linescores where recorded. This is not the full cycle — see "Which editions does the archive cover?" below for what is and is not included.

      Are odds, lineups, or standings available?

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

      Is a live 2026 edition tracked?

      Yes. The 2026/27 cycle is loaded and updating: 156 fixtures alongside the 98-match 2024/25 archive. Scores and head-to-head history are DB-backed reads with no upstream quota cost.

      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.

      Which editions does the archive cover?

      Two cycles, and they are not alike. The 2026/27 cycle holds the COMPLETE GROUP PHASE: 156 fixtures, all four divisions, six matchdays each with no gaps (League A, B and C carry 8 fixtures per matchday, League D 2), 2026-09-24 to 2026-11-17 — with scores filling in as matches finish (27 finished as of 2026-09-27) and no odds attached yet. The 2027 knockout rounds are not scheduled yet and so are not listed. The 2024/25 cycle is an archive, and only part of it — the full cycle runs four divisions (League A, B, C, D — 54 teams, roughly 188 matches across all of them), and our 98 matches are not an even slice of that. League A (the top division) is the best-covered: its group phase (September–November 2024), knockout quarterfinals (March 2025), and Finals (June 2025) are all present, though even League A's group phase has a few gaps. League B's group phase is only partially archived. Of League C's four groups, exactly one (Sweden, Azerbaijan, Slovakia, Estonia) is archived — the other three are not. League D (the lowest division — teams like San Marino, Gibraltar, and Andorra) has no matches archived at all. In short: this is a partial, top-heavy cross-section of the 2024/25 cycle, not the full four-division competition.

      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 the Nations League alone, so a Portugal vs Spain query also pulls in any Euro or World Cup meetings between them.

      Does this update as new editions are played?

      Yes, for the 2026/27 cycle — it is loaded and updating. The complete 156-fixture group phase (2026-09-24 to 2026-11-17) is in the API, and finished matches carry scores. The 2024/25 cycle remains a closed archive beside it. Odds are not yet attached to 2026/27 fixtures. Cycles beyond 2026/27 are undetermined — not a confirmed roadmap item, not a promise.

      What UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League request?

      Create an account and API key, then send it as a Bearer token. Start with /v1/matches?sport=football&league=UEFA Nations League or /v1/standings?sport=football&league=UEFA Nations League 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. UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League seasons and match statuses work?

      UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League injury and suspension data?

      A dedicated UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League 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 UEFA Nations League 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.