The 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.
250 req/day free (500 with GitHub). No credit card.
Euro Championship · 44 matches · Euro 2024 · DB-backed reads
- 44
- matches archived
- a partial Euro 2024 archive — the tournament played 51 matches total
- 24
- teams
- the full Euro 2024 field, 14 Jun – 14 Jul 2024
- 100%
- matches with a recorded linescore
- half-by-half score on every match in the archive
Stats included
Every soccer stat field the API returns today — 82 in total, grouped by how they are produced. Each group carries its own freshness, because a sport is rarely uniformly current.
Season player stats
Post-gameWritten after the game ends — not a live in-game feed. Last ingested 2026-09-15.
- Endpoint
- /v1/players/:id/stats
- Last updated
- 2026-09-15
Fields (42)
- Shooting
- Dribbles Attempted, Shots on Target, Shots, Npxg, XG, XG Buildup, XG Chain
- Scoring
- Match Rating, Goals, Npg
- Passing
- Assists, Pass Accuracy, Key Passes, Passes, Xa
- Possession
- Dribbled Past, Dribbles Completed
- Defending
- Duels, Duels Won, Blocks, Interceptions, Tackles
- Goalkeeping
- Goals Conceded, Saves
- Discipline
- Red Cards, Yellow Cards, Second Yellow (red), Fouls Committed, Fouls Drawn, Penalties Conceded, Penalties Missed, Penalties Saved, Penalties Scored, Penalties Won
- Appearances
- Appearances, Starts, Minutes Played, Unused Substitute, Substituted On, Substituted Off, Games, Minutes
Team stats (per game)
Post-gameWritten after the game ends — not a live in-game feed. Last ingested 2026-09-16.
- Endpoint
- /v1/matches/:id/statistics
- Last updated
- 2026-09-16
Fields (40)
- Shooting
- Shot %, Shots on Target, Total Shots
- Scoring
- Final Score Ft Away, Final Score Ft Home, Final Score, Tournament Topscorers
- Passing
- Accurate Crosses, Accurate Long Balls, Accurate Passes, Cross Accuracy %, Long-Ball Accuracy %, Pass Accuracy %, Total Crosses, Total Long Balls, Total Passes
- Possession
- Momentum, Possession %, Team Form, Team Match Stats, Won Corners
- Defending
- Blocked Shots, Effective Clearances, Effective Tackles, Interceptions (defensive), Tackle %, Total Clearance, Total Tackles
- Goalkeeping
- Saves (goalkeeper)
- Discipline
- Fouls Committed, Offsides, Penalty Goals, Penalty Shots, Red Cards, Yellow Cards
- Appearances
- Average Positions, Best Players, Away Lineup, Home Lineup, Player Match Stats
Not included
- Not shown here — team_per_game_advanced: advanced team stats that no route currently serves.
- Not shown here — injuries: injury reports — reference data with its own endpoint.
Missing a stat?
We build what people actually ask for. If a field you need is not on this page, tell us — requests are how we decide what to add next.
What you can build
Tournament archive
Browse the archived Euro 2024 matches by date, with final scores.
Head-to-head tool
Pull head-to-head history for any pairing across all competitions, not just this one.
Half-by-half scoreboard
Render first-half / second-half linescores from the stored archive.
Knockout-stage research
Cross-check results without burning any upstream credits.
Backtest scaffold
Iterate on the results archive without hitting an upstream provider on every page render.
Endpoints
On the gateway at api.bigballsdata.com. Authenticate with the bearer token from /dashboard/keys.
| Method | Path | Returns | Plan |
|---|---|---|---|
| GET | /v1/matches?sport=football&league=Euro Championship | Euro 2024 results (44 matches, paginated, DB-backed) | Free |
| GET | /v1/matches/:id | Single match by UUID: final score and linescore | Free |
| GET | /v1/teams/:id/h2h-intelligence | Head-to-head history between two teams, across every competition they have met in | Solo |
Start on the free tier
100 requests per minute and 250 per day, free — the highest per-minute burst of any free sports API we checked. Burst is what matters when something asks several questions in a row and waits on each answer.
- Every sport and league we cover — the paid tiers add history depth and premium fields, not more leagues.
- Calls are counted one for one — no credit weighting, no markets-times-regions arithmetic.
- Link GitHub and the daily cap goes to 500.
- No credit card.
Or ask your AI tool directly
Connect your account to Claude, ChatGPT, Cursor, Perplexity or any other MCP-compatible tool and ask for soccer data in conversation — scores, standings, player stats and Elo ratings, with no API key to paste and no code to write. Your plan and limits carry over exactly as they do here.
Connect your AI tool →Integrate in a few lines
import { BigBallSportsClient } from '@bigballsdata/sdk';
const client = new BigBallSportsClient(process.env.BBS_API_KEY!);
// Every archived Euro 2024 result. This reads straight from the Postgres
// archive, not a live provider call — no upstream quota cost.
const matches = await client.matches.list({
sport: 'football',
league: 'Euro Championship',
limit: 20,
});
for (const m of matches.data) {
console.log(m.home.name, 'vs', m.away.name, '-', m.status, m.score);
}44 archived Euro 2024 matches. Zero quota cost.
This partial Euro 2024 archive sits in the same Postgres archive as every other sport and competition on the API — same schema, same key, no separate international-football vendor to wire up for backtesting or research.
- Reads straight from our database, not a live provider call — no upstream credits burned, however many requests you send.
- The same canonical match envelope as every other sport, so Euro Championship code ports straight to the Premier League, NFL, or NBA endpoints.
- Head-to-head lookups span every competition the two teams have met in, not just this one.
No dedicated Euro Championship plan — this is free tier, same as everything else: 250 req/day (500 with GitHub connected), no credit card.
Frequently asked
- 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. Every endpoint listed here is free, 250 req/day (500 with GitHub connected).
- 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.
Related APIs
Other APIs you can build with: