# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/uefa/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## 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/credits/uefa/get-competitions \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/uefa/get-match-player-stats \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/uefa/get-matches \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/uefa/get-player-rankings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/uefa/get-stat-definitions \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.