uefa.com APIuefa.com ↗
Access UEFA Champions League, Europa League, and Conference League player stats, match data, and seasonal rankings via 5 structured endpoints.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/23f00bd9-dcc1-4cac-90a0-b4a57ec8b416/get_competitions' \ -H 'X-API-Key: $PARSE_API_KEY'
Get supported competitions and their IDs. Returns a static mapping of competition abbreviations to their IDs and full names.
No input parameters required.
{
"type": "object",
"fields": {
"UCL": "object containing id and name for UEFA Champions League",
"UEL": "object containing id and name for UEFA Europa League",
"UECL": "object containing id and name for UEFA Europa Conference League"
},
"sample": {
"data": {
"UCL": {
"id": "1",
"name": "UEFA Champions League"
},
"UEL": {
"id": "14",
"name": "UEFA Europa League"
},
"UECL": {
"id": "2019",
"name": "UEFA Europa Conference League"
}
},
"status": "success"
}
}About the uefa.com API
The UEFA.com API provides 5 endpoints covering player performance statistics, match results, and competition metadata across the three main UEFA club competitions. Use get_player_rankings to pull aggregated seasonal stats with pagination and per-stat filtering, or get_match_player_stats to retrieve granular per-player numbers for a specific match. Response fields include player details, team assignments, stadium info, scores, and a full library of named statistics queryable through get_stat_definitions.
Competition and Discovery Endpoints
get_competitions returns a static mapping of the three supported competitions — UEFA Champions League (ID: 1), UEFA Europa League (ID: 14), and UEFA Europa Conference League (ID: 2019) — along with their abbreviations and full names. These IDs are the input accepted by get_player_rankings and get_matches via the competition_id parameter. get_stat_definitions complements this by returning every available statistic name, its description, grouping, aggregation type, and translations — making it the right starting point before constructing any filtered rankings query.
Player Rankings
get_player_rankings returns an array of player objects sorted in descending order by the requested stats. Each object includes player details, a playerId, a teamId, team details, and a statistics array. You can scope results to a competition and season using competition_id and season_year (e.g., '2026' for the 2025/26 season), filter to specific metrics by passing a comma-separated list of stat names via the stats parameter (names sourced from get_stat_definitions), and paginate using limit (max 100) and offset.
Match Data and Per-Match Player Stats
get_matches accepts a required date range (from_date and to_date in YYYY-MM-DD format) and optional competition_id and season_year filters. Each match object in the response contains homeTeam, awayTeam, score, kickOffTime, stadium, and a unique id. That id feeds directly into get_match_player_stats, which returns a data array where each entry holds a playerId, teamId, and a statistics array of name/value pairs representing that player's performance in the match.
- Rank Champions League players by goals or assists across an entire season using get_player_rankings with stat filters
- Build a match report tool that pulls per-player stats for any UCL or UEL fixture via get_match_player_stats
- Discover all available performance metrics and their groupings using get_stat_definitions before querying rankings
- Retrieve a week's worth of Europa League matches with stadium and score data via get_matches date range filtering
- Compare a player's seasonal aggregated stats across the Europa and Conference Leagues by switching competition_id
- Paginate through full-season player rankings to build a database of top performers across all three UEFA competitions
- Identify match IDs for a specific date window to feed into per-match player analysis pipelines
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does UEFA have an official developer API?+
What does get_stat_definitions return and why does it matter for get_player_rankings?+
name, description, group, aggregationType, actors, and translations field. The name values are the exact strings you pass to the stats parameter in get_player_rankings. Without checking get_stat_definitions first, you would have to guess valid stat names.How far back does historical season data go?+
season_year parameter, but the range of seasons actually available depends on what the source exposes. There is no documented guarantee of how many past seasons are covered, and very old seasons may not be present. You can fork this API on Parse and revise it to probe or document the full historical range.Can I retrieve team-level statistics rather than player-level stats?+
Does get_matches return future scheduled fixtures or only completed matches?+
kickOffTime and score, but score fields for unplayed matches will reflect their pre-match state. Verify by querying a future date range against a known competition_id.