# UEFA — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Track detailed player performance across UEFA competitions like Champions League, Europa League, and Conference League with seasonal rankings and match-by-match statistics. Search players, compare their stats, and analyze individual performance metrics to stay informed on top European football talent.

**Category:** Sports | **Website:** [uefa.com/](https://uefa.com/) | **Docs:** [parse.bot/marketplace/a0d9a34d-70be-45b8-b4ae-a3e0eb9b639f/uefa-com-api](https://parse.bot/marketplace/a0d9a34d-70be-45b8-b4ae-a3e0eb9b639f/uefa-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-uefa-com-api-a0d9a34d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_competitions

Returns a static mapping of supported UEFA competition abbreviations to their numeric IDs and full names. Use these IDs as the competition_id parameter in other endpoints.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-uefa-com-api-a0d9a34d/get_competitions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_match_player_stats

Fetch detailed per-match performance statistics for every player who participated in a specific match. Returns an array of entries each containing playerId, teamId, and a statistics array with all recorded name/value pairs. Use match IDs obtained from get_matches.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `match_id` | string | Yes | Unique match ID obtainable from get_matches results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-uefa-com-api-a0d9a34d/get_match_player_stats \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"match_id":"<string>"}'
```

### get_matches

List matches for a competition within a date range. Returns detailed match data including home/away teams, scores, kick-off times, stadium, referees, and player events. Match IDs from this endpoint feed into get_match_player_stats.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `competition_id` | string | No | Competition ID. Use 1 for UCL, 14 for UEL, 2019 for UECL. |
| `from_date` | string | Yes | Start date in ISO format YYYY-MM-DD. |
| `season_year` | string | No | Season year as the ending year of the season (e.g. '2026' for 2025/26). |
| `to_date` | string | Yes | End date in ISO format YYYY-MM-DD. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-uefa-com-api-a0d9a34d/get_matches \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"competition_id":"<string>","from_date":"<string>","season_year":"<string>","to_date":"<string>"}'
```

### get_player_rankings

Fetch aggregated player performance data for a competition and season sorted descending by the first stat listed. Each entry includes full player details, team details, and the requested statistics. Supports pagination via limit and offset. The stats parameter controls which statistics appear in each player entry.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `competition_id` | string | No | Competition ID. Use 1 for UCL, 14 for UEL, 2019 for UECL. |
| `limit` | integer | No | Max results per page (max 100). |
| `offset` | integer | No | Pagination offset (number of records to skip). |
| `season_year` | string | No | Season year as the ending year of the season (e.g. '2026' for 2025/26). |
| `stats` | string | No | Comma-separated list of statistic names to include. Available names retrievable from get_stat_definitions. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-uefa-com-api-a0d9a34d/get_player_rankings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"competition_id":"<string>","limit":"<integer>","offset":"<integer>","season_year":"<string>","stats":"<string>"}'
```

### get_stat_definitions

Retrieve the full catalog of available statistic names with descriptions, groupings, aggregation types, and translations. Use the name field from results as values in the stats parameter of get_player_rankings.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-uefa-com-api-a0d9a34d/get_stat_definitions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```
