UEFA Nations League API: Fixtures, Standings, Lineups & Match Stats for Developers

Build with the UEFA Nations League API: fixtures, results, standings, lineups, and match stats. Real endpoints and copy-paste code from GOAL API.

GOAL API

4 min read
UEFA Nations League API: fixtures, standings, lineups and match stats for developers, from GOAL API

The UEFA Nations League turned international breaks from friendlies into competitive football, and that made it worth building around — trackers, bracket tools, prediction games, and tournament dashboards. This guide shows you exactly what UEFA Nations League data you can pull from GOAL API, with real endpoints and copy-paste requests.

Everything here reflects what GOAL API actually holds for the competition today — no overclaiming. For the live data spec and current match counts, the UEFA Nations League coverage page is the source of truth; this post is the how-to that builds on it.

Free tier, no credit card — get a key and make your first request in a couple of minutes: goal-api.com/signup

What Data Is Actually Available

Not every league has every data type — it depends on what the upstream sources publish. For the UEFA Nations League (2021–2026 editions), here's what GOAL API holds:

Data type Available?
Fixtures & results Yes
League standings Yes
Match lineups Yes
Match statistics Yes
Goals, cards & substitutions Yes
Top scorers Not available for this league
Pre-match odds Not available for this league
Match predictions Not available for this league

UEFA Nations League data in GOAL API: fixtures and results, standings, lineups, match statistics, and goals, cards and substitutions available; top scorers, pre-match odds and predictions not for this league

Being upfront about what isn't there matters: some competing Nations League API pages advertise xG and predictions for this competition. Check the coverage page before you design a feature around any data type — it reports what is actually held today, league by league.

Quick Start: Your First Request

The UEFA Nations League uses league ID cmr77dw4800fgrx06rwmig2h8 (find any competition's ID with GET /leagues?search=). Here's the fastest path to data:

Shell
curl "https://api.goal-api.com/v1/leagues/cmr77dw4800fgrx06rwmig2h8/fixtures" \
  -H "Authorization: Bearer YOUR_API_KEY"

Authentication

GOAL API authenticates with an Authorization: Bearer header — grab your key from the dashboard after signing up. Full auth details are in the documentation.

JavaScript
// JavaScript
const res = await fetch(
  'https://api.goal-api.com/v1/leagues/cmr77dw4800fgrx06rwmig2h8/fixtures',
  { headers: { Authorization: `Bearer ${process.env.GOAL_API_KEY}` } }
);
const data = await res.json();

Fixtures & Results

Fixtures and results are the backbone of any Nations League tool — the full schedule across League A, B, C, and D, plus finished-match scores.

Shell
# All Nations League fixtures (league ID cmr77dw4800fgrx06rwmig2h8)
curl "https://api.goal-api.com/v1/leagues/cmr77dw4800fgrx06rwmig2h8/fixtures" \
  -H "Authorization: Bearer YOUR_API_KEY"

Results come 50 per page: follow pagination.hasMore and pass ?offset= for the next page. Each fixture carries the two teams, kickoff time in UTC, status, and — for finished matches — the score. Filter client-side by matchday or date to build a schedule view.

Standings (League A / B / C / D)

The Nations League splits nations into tiers (League A down to D), each with its own groups. GOAL API returns the standings rows for the competition so you can render a table per group. The generic pattern — find the competition, pull the table, render it — is covered step by step in the fixtures & standings page tutorial; here you already know the ID is cmr77dw4800fgrx06rwmig2h8.

Shell
curl "https://api.goal-api.com/v1/leagues/cmr77dw4800fgrx06rwmig2h8/standings" \
  -H "Authorization: Bearer YOUR_API_KEY"

Lineups & Formations

Lineups are available for the vast majority of matches. Pull the starting XI, formation, and bench for a given fixture — the same data you'd use to render a formation pitch, as shown in the build a match page tutorial.

Shell
# Lineups for a specific fixture
curl "https://api.goal-api.com/v1/fixtures/{fixtureId}/lineups" \
  -H "Authorization: Bearer YOUR_API_KEY"

Match Statistics, Goals & Cards

For finished and in-progress matches, event data covers goals, cards, and substitutions, plus match statistics like possession and shots. This is what powers a match timeline or a live event feed.

Shell
# Match events: goals
curl "https://api.goal-api.com/v1/fixtures/{fixtureId}/events" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Cards and substitutions
curl "https://api.goal-api.com/v1/fixtures/{fixtureId}/cards" \
  -H "Authorization: Bearer YOUR_API_KEY"
curl "https://api.goal-api.com/v1/fixtures/{fixtureId}/substitutions" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Match statistics
curl "https://api.goal-api.com/v1/fixtures/{fixtureId}/statistics" \
  -H "Authorization: Bearer YOUR_API_KEY"

Handling the Group & Knockout Structure

The Nations League runs a group phase (within each tier) followed by promotion/relegation play-offs and a Finals knockout. Practically, that means:

  • Group phase → render one mini-table per group from the standings rows.
  • Knockout / Finals → there's no single table; build it from the fixtures and their results.

Because the structure varies across editions, read the standings response shape rather than hard-coding groups. Other international competitions follow similar patterns — browse the all leagues coverage to see what else you can slot into the same code.

What This League Does NOT Include

Worth repeating plainly so you don't build a feature on data that isn't there for this competition:

  • Top scorers — not available for the Nations League specifically (available for many domestic leagues; check the coverage page per competition).
  • Pre-match odds — not available for this competition.
  • Match predictions — not available for this competition.

If your product needs those, design around a competition that has them, or treat them as optional. The coverage page tells you, per league, before you write any code.

Endpoints You'll Use

Endpoint Returns
/v1/leagues/cmr77dw4800fgrx06rwmig2h8/fixtures All Nations League fixtures & results
/v1/leagues/cmr77dw4800fgrx06rwmig2h8/standings Standings rows (per group/tier)
/v1/fixtures/{id}/lineups Starting XI, formation, bench
/v1/fixtures/{id}/events Goals (scorer, assist, minute)
/v1/fixtures/{id}/cards Yellow and red cards
/v1/fixtures/{id}/substitutions Substitutions
/v1/fixtures/{id}/statistics Possession, shots, match stats

Auth on every request: Authorization: Bearer YOUR_API_KEY. Full reference in the documentation.

What to Build Next

A Nations League matchday tracker — fixtures for the current matchday with live-updating scores. During international breaks this is high-traffic.

A group-stage table widget — one embeddable table per group, refreshed after each matchday.

A Finals bracket — render the knockout from fixtures and results.

Size your plan correctly pricing per match guide shows how to size for those spikes without overpaying.

Start building free → | No credit card | Nations League data on the free tier

Keep reading

UEFA Nations League API: Fixtures, Standings, Lineups & Match Stats for Developers | GOAL API