transfermarkt.com APItransfermarkt.com ↗
Access Transfermarkt data via API: player profiles, transfer history, market value timelines, club squads, performance stats, and referee info across 10 endpoints.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/2409cb57-5fc7-4e67-b750-07a9a68d7c70/get_top_market_values' \ -H 'X-API-Key: $PARSE_API_KEY'
Get the top 500 most valuable football players in the world. Fetches all 20 pages (25 players per page) to collect all 500 players. Returns player name, position, age, nationality, club, market value, and profile URL for each player.
No input parameters required.
{
"type": "object",
"fields": {
"players": "array of player objects with rank, name, player_id, position, age, nationality, club_id, club, market_value, market_value_euros, portrait_url, profile_url",
"total_players": "integer total count of players returned (up to 500)"
},
"sample": {
"data": {
"players": [
{
"age": 18,
"club": "FC Barcelona",
"name": "Lamine Yamal",
"rank": 1,
"club_id": "131",
"position": "Right Winger",
"player_id": "937958",
"nationality": [
"Spain"
],
"profile_url": "https://www.transfermarkt.com/lamine-yamal/profil/spieler/937958",
"market_value": "€200.00m",
"portrait_url": "https://img.a.transfermarkt.technology/portrait/small/937958-1773173768.jpg?lm=1",
"market_value_euros": 200000000
}
],
"total_players": 500
},
"status": "success"
}
}About the transfermarkt.com API
The Transfermarkt API exposes 10 endpoints covering football player profiles, transfer histories, market value timelines, club squads, performance stats, and referee data. The get_player_page_data endpoint consolidates profile, transfers, market value history, and current-season performance into a single call. Player IDs are consistent across endpoints, so data from search_players can feed directly into get_player_transfers, get_player_market_value_history, or get_player_stats.
Player Data
get_player_profile returns a structured object for any player by numeric player_id, including current position, age, and a market_value object with current, previous, highest, and delta sub-fields. Club assignments with shirtNumber, debut, and assignment type are also included. get_player_market_value_history returns a chronological history array where each entry carries value, currency, date, age, and club_id — useful for charting a player's valuation over a career. get_player_stats returns per-competition performance for the current season: gamesPlayed, goalsScored, assists, yellowCards, redCards, and minutesPlayed.
Transfer History
get_player_transfers returns a transfers array where each record includes transfer_id, date, season, age_at_transfer, origin and destination club objects, fee, and market_value_at_transfer. A fee_sum field at the top level aggregates total transfer fees across the player's career. The endpoint also exposes a total_transfers count.
Club and Squad Data
get_club_info returns squad-level aggregates for a club: squad.size, squad.average_age, squad.average_market_value, squad.total_market_value, and squad.top18_market_value. get_club_squad complements this by returning the full players array with per-player market_value, contract_until, shirt_number, portrait_url, and profile_url. Both endpoints take a numeric club_id.
Top Market Values and Search
get_top_market_values returns up to 500 players ranked by market value, with rank, player_id, position, nationality, club, market_value, and market_value_euros for each. No inputs are required. search_players accepts a query string and optional page integer, returning paginated results with total_hits and total_pages so pagination can be handled programmatically. get_referee_info covers personal details and competition-level stats including total_yellow_cards, total_red_cards, and total_penalty_kicks.
- Build a player valuation tracker using
get_player_market_value_historyto chart value changes over time - Aggregate club squad depth and total market value across leagues using
get_club_infoandget_club_squad - Power a transfer news feed by polling
get_player_transfersfor recent transfer records and fees - Rank the top 500 most valuable players globally with
get_top_market_valuesfor fantasy or scouting tools - Compare a player's current-season stats across competitions using
get_player_statsperformance data - Look up referee card and penalty statistics per competition with
get_referee_infofor match analysis - Resolve player names to structured IDs via
search_playersbefore fetching full profiles or transfers
| 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 Transfermarkt have an official developer API?+
What does `get_player_page_data` return compared to calling individual endpoints?+
get_player_page_data consolidates the response from the profile, transfer history, market value history, and current-season performance endpoints into a single call for a given player_id. It is useful when you need all four data types at once and want to avoid multiple round trips. The shape mirrors the individual endpoints: a profile object, a transfers object with fee_sum, a market_value_history object, and a performance array.Are historical season stats available, or only current-season performance?+
get_player_stats returns performance data for the current season only. Career totals are included in the career_totals field, but per-season breakdowns for previous seasons are not currently exposed. You can fork the API on Parse and revise it to add a historical season stats endpoint.Does the API cover women's football or youth leagues?+
What are the known limitations of `get_player_stats`?+
season_stats and career_totals fields in the response may return empty arrays or objects for some players, as noted in the endpoint description. When that happens, performance_data is the reliable field containing per-competition stats. Players with very limited or no recorded appearances may return minimal data.