# Transfermarkt (Germany) — 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.

> Access data from transfermarkt.de.

**Category:** Sports | **Website:** [transfermarkt.de/](https://transfermarkt.de/) | **Docs:** [parse.bot/marketplace/199a3492-723b-468c-9182-31ef41b9ede2/transfermarkt-de-api](https://parse.bot/marketplace/199a3492-723b-468c-9182-31ef41b9ede2/transfermarkt-de-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-transfermarkt-de-api-199a3492/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_club_squad

Get all players in a club's squad for a given season. Returns each player's name, shirt number, position, age, nationalities, and market value. Positions and market values are in German locale format. If season is omitted, returns the current season's squad.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `club_id` | string | Yes | Transfermarkt club ID (numeric string, e.g. '27' for FC Bayern München, '131' for FC Barcelona). |
| `season` | string | No | Season start year as 4-digit string (e.g. '2024' for the 2024/25 season). Omitting returns the current season. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_club_squad \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"club_id":"<string>","season":"<string>"}'
```

### get_competition_penalty_takers

Get penalty taker statistics for a competition, grouped by club. Returns each penalty taker's name, position, club, total penalties taken, scored, missed, and success rate. Data is in German locale format.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `competition_id` | string | Yes | Transfermarkt competition ID: 'IT1' for Serie A, 'L1' for Bundesliga, 'GB1' for Premier League, 'ES1' for La Liga, 'FR1' for Ligue 1, 'GR1' for Greek Super League. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_competition_penalty_takers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"competition_id":"<string>"}'
```

### get_competition_transfers

Get all transfers for a competition in a given season. Returns each transfer with player name, player ID, source and destination club names, transfer fee, transfer date, and the player's consultant agency name where available. Without a season parameter, returns the current season's transfers. Results are ordered by fee descending.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `competition_id` | string | Yes | Transfermarkt competition ID: 'GB1' for Premier League, 'L1' for Bundesliga, 'IT1' for Serie A, 'ES1' for La Liga, 'FR1' for Ligue 1, 'GR1' for Greek Super League. |
| `season` | string | No | Season start year as 4-digit string (e.g. '2024' for the 2024/25 season). Omitting returns the current season's transfers. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_competition_transfers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"competition_id":"<string>","season":"<string>"}'
```

### get_manager_profile

Get detailed manager/coach profile by Transfermarkt manager ID. Returns biographical information (name, date of birth, age, birthplace, nationality), current club and role, contract details, coaching license, average tenure, agent, and full coaching history with each club managed including role, tenure dates, total games, wins, draws, losses, average goals for/against per game, win percentage, and points per game. Also includes career-level totals for games, wins, draws, losses, total goals for/against, and overall win percentage.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `manager_id` | string | Yes | Transfermarkt manager ID (numeric string, e.g. '118' for Jürgen Klopp). Obtainable from the search endpoint's managers array. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_manager_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"manager_id":"<string>"}'
```

### get_most_viewed_players

Get the top 10 most viewed players on Transfermarkt currently. Returns full profile details for each player including market value, physical attributes, position, and current club assignments. No parameters required — returns a snapshot of trending players.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_most_viewed_players \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_player_profile

Get detailed player info by Transfermarkt player ID. Returns a single player object with market value history, physical attributes (height, preferred foot), position details, contract information, and current club assignments.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `player_id` | string | Yes | Transfermarkt player ID (numeric string, e.g. '28003' for Messi, '576024' for Julián Alvarez). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_player_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"player_id":"<string>"}'
```

### get_player_transfers

Get the full transfer history of a player by Transfermarkt player ID. Returns all completed transfers with dates, source and destination clubs (by ID and competition), transfer fees, and the most recent transfer highlighted separately.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `player_id` | string | Yes | Transfermarkt player ID (numeric string, e.g. '28003' for Messi). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/get_player_transfers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"player_id":"<string>"}'
```

### search

Search for players, clubs, and managers by name on Transfermarkt. Returns matching players (with Transfermarkt IDs and names), clubs (with IDs and names), and managers/coaches (with IDs and names). Results are ranked by relevance. Use player IDs with get_player_profile or get_player_transfers; use club IDs with get_club_squad; use manager IDs with get_manager_profile.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword — a player name, club name, or manager name to search for. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-transfermarkt-de-api-199a3492/search \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
