Transfermarkt API
Read-only live access to Transfermarkt player search, profiles, top market values, transfer histories, and market value histories.
Endpoint health
Loading verification…
Connect your agent
Connect through MCP so your agent can find this API, read its docs, and call its endpoints.
Add the server from your terminal.
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcpIn Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.
Then ask your agent to use the Transfermarkt API for your task.
Call it over HTTP
Get an API keySign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.
curl --request GET --get 'https://api.agent-data.dev/transfermarkt-com/v1/top-market-values' \
--header "Authorization: Bearer $AGENT_DATA_API_KEY"Endpoints
Inputs and response fields for every endpoint in this API.
GETTop market values/v1/top-market-values
Get top market values
Input
No input parameters.
Response
playersobject[]players[].idintegerplayers[].namestringplayers[].profile_urlstringplayers[].market_value?string | nulltotal_playersintegerFields marked ? are optional.
GETSearch players/v1/search-players
Search football players
Input
queryRequiredQuery · stringSearch keyword — player name or partial name
Example: Kylian Mbappe
pageOptionalQuery · integer, min: 1, max: 100, default: 11-based result page
Example: 1
Response
pageintegerquerystringplayersobject[]players[].idintegerplayers[].namestringplayers[].profile_urlstringplayers[].market_value?string | nulltotal_hitsintegertotal_pagesintegerFields marked ? are optional.
GETPlayer profile by player id/v1/player-profile/{player_id}
Get player profile
Input
player_idRequiredPath · integer, min: 1Transfermarkt player ID
Example: 342229
Response
idintegerageinteger | nullnamestringheightstring | nullpositionstring | nullfull_namestring | nullprofile_urlstringmarket_valuestring | nullportrait_urlstring | nulldate_of_birthunknown | nullcontract_untilstring | nullpreferred_footstring | nullGETPlayer transfers by player id/v1/player-transfers/{player_id}
Get player transfers
Input
player_idRequiredPath · integer, min: 1Transfermarkt player ID
Example: 342229
Response
fee_sumobject | nullplayer_idintegertransfersobject[]transfers[].idstringtotal_transfersintegerGETPlayer market value history by player id/v1/player-market-value-history/{player_id}
Get player market value history
Input
player_idRequiredPath · integer, min: 1Transfermarkt player ID
Example: 342229
Response
historyobject[]history[].ageintegerhistory[].clubIdstringhistory[].playerIdstringhistory[].seasonIdintegerhistory[].marketValueobjectclub_idsstring[]player_idintegercurrent_valueinteger | nulltotal_entriesintegerDon’t see the endpoint you need?
Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.
An account is required to submit an extension. Prepare your request, then sign in to build.