Discover/Transfermarkt API
live

Transfermarkt APItransfermarkt.it

Access Serie A team market values, squad rosters, and player career stats from Transfermarkt. Goals, assists, cards, minutes, and more across seasons.

Endpoint health
verified 3d ago
get_team_market_values
get_serie_a_players
get_player_career_stats
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Transfermarkt API?

This API exposes three endpoints covering Serie A data from Transfermarkt, including team market valuations by season, full squad player listings, and per-player career statistics broken down by season and competition. The get_player_career_stats endpoint returns up to a full career's worth of matches played, goals, assists, yellow and red cards, and minutes — all keyed to a Transfermarkt numeric player ID discoverable via get_serie_a_players.

Try it
Ending season year (e.g., 2025 for 2025/26 season)
Starting season year (e.g., 2024 for 2024/25 season)
api.parse.bot/scraper/a2a79966-9580-40ab-9d74-b3a9c82996ee/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a2a79966-9580-40ab-9d74-b3a9c82996ee/get_team_market_values?end_year=2025&start_year=2025' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace transfermarkt-it-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Transfermarkt Serie A: team valuations and player career statistics."""
from parse_apis.transfermarkt_api import Transfermarkt, PlayerNotFound

client = Transfermarkt()

# List current season team market values
for team in client.leagues.teams(start_year=2025, end_year=2025, limit=5):
    print(team.name, team.market_value)

# Find a player from the current roster
player = client.leagues.players(season="2025", max_teams=1, limit=1).first()
if player:
    print(player.name, player.id, player.slug)

    # Drill into career statistics
    try:
        detail = player.career_stats()
        for stat in detail.career_stats[:3]:
            print(stat.season, stat.competition, stat.matches, stat.goals, stat.assists)
    except PlayerNotFound as exc:
        print(f"Player not found: {exc}")

print("exercised: leagues.teams / leagues.players / player.career_stats")
All endpoints · 3 totalmissing one? ·

Retrieve market values for all teams in Serie A for a specified season range. Returns team names, IDs, and market values as formatted on Transfermarkt (e.g., '741,85 mln €'). Each season year in the range produces one page fetch, so wide ranges are slow.

Input
ParamTypeDescription
end_yearintegerEnding season year (e.g., 2025 for 2025/26 season)
start_yearintegerStarting season year (e.g., 2024 for 2024/25 season)
Response
{
  "type": "object",
  "fields": {
    "items": "array of objects each containing season, team_id, team_name, and market_value"
  },
  "sample": {
    "data": {
      "items": [
        {
          "season": "2025/2026",
          "team_id": "46",
          "team_name": "Inter",
          "market_value": "646,70 mln €"
        },
        {
          "season": "2025/2026",
          "team_id": "506",
          "team_name": "Juventus FC",
          "market_value": "499,70 mln €"
        }
      ]
    },
    "status": "success"
  }
}

About the Transfermarkt API

Team Market Values and Squad Rosters

The get_team_market_values endpoint accepts a start_year and end_year to retrieve Serie A team valuations across multiple seasons. Each result contains team_id, team_name, season, and market_value as Transfermarkt formats it (e.g., '741,85 mln €'). Note that each season year in the requested range triggers a separate fetch, so wide ranges — say, 2015 to 2025 — will be noticeably slow. Request narrow ranges when latency matters.

The get_serie_a_players endpoint lists all players across Serie A team rosters for a given season. Each record includes player_id, player_slug, name, profile_url, and team_url. Because the endpoint iterates through each team's roster page, response time scales with the number of teams processed. The optional max_teams parameter (e.g., 1–3) lets you retrieve a partial result set quickly, which is useful when you only need a few squads or are looking up a specific club.

Player Career Statistics

The get_player_career_stats endpoint takes a required player_id — a Transfermarkt numeric ID such as '406625' for Lautaro Martínez — and returns a data object containing player_id and a career_stats array. Each element in career_stats aggregates performance for one season/competition/club combination, covering matches played, goals, assists, yellow cards, red cards, and minutes played. The optional player_slug parameter (e.g., 'lautaro-martinez') is accepted but not used in the current implementation, so only player_id is needed.

Coverage Scope

All three endpoints are scoped to Serie A on the transfermarkt.it domain. Team market values and player rosters are season-dependent via the season or start_year/end_year inputs. Career stats cover a player's full history across all competitions and clubs Transfermarkt tracks, not just Serie A appearances. Data freshness reflects the current state of Transfermarkt's public pages at the time of each request.

Reliability & maintenanceVerified

The Transfermarkt API is a managed, monitored endpoint for transfermarkt.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when transfermarkt.it changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official transfermarkt.it API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track how Serie A club market values have shifted over multiple transfer windows using get_team_market_values with multi-year ranges.
  • Build a Serie A player database by collecting player_id, name, and profile_url from get_serie_a_players for a given season.
  • Compare goal and assist tallies across seasons for a specific player using the career_stats array from get_player_career_stats.
  • Analyze disciplinary trends by extracting yellow and red card counts from career statistics grouped by competition.
  • Identify playing time patterns by inspecting minutes played per season across different clubs in a player's career.
  • Audit squad value changes between seasons for financial or fantasy sports models using formatted market value strings.
  • Cross-reference a player's Transfermarkt ID from roster data with career stats to build per-club performance profiles.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Transfermarkt have an official developer API?+
Transfermarkt does not publish an official public developer API. There is no documented REST or GraphQL API offered to third-party developers on their site.
What does `get_player_career_stats` return, and how granular is it?+
It returns a career_stats array where each entry corresponds to one season/competition/club combination. Fields include matches played, goals, assists, yellow cards, red cards, and minutes played. The data spans a player's full career history across all competitions Transfermarkt tracks, not just Serie A.
Does `get_team_market_values` return individual player valuations within a squad?+
No. The endpoint returns one aggregate market_value per team per season, along with team_id, team_name, and season. Individual player market value data is not currently exposed. You can fork this API on Parse and revise it to add an endpoint that fetches per-player valuations from squad pages.
Is player transfer history — fees, clubs, and dates — available through these endpoints?+
Not currently. The API covers team-level market valuations, squad rosters, and career performance statistics. Transfer history records are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting Transfermarkt's transfer history pages.
Why are responses slow when requesting multiple seasons or many teams?+
get_team_market_values performs one fetch per season year in the requested range, so a 10-year span requires 10 sequential fetches. get_serie_a_players iterates through each team's roster page; with 20 Serie A clubs, that is at least 20 fetches. Use narrow year ranges and the max_teams parameter to reduce latency when you only need partial data.
Page content last updated . Spec covers 3 endpoints from transfermarkt.it.
Related APIs in SportsSee all →
transfermarkt.de API
Access data from transfermarkt.de.
transfermarkt.com API
Search Transfermarkt for football players and retrieve detailed player profiles, transfer histories, market value timelines, performance stats, and club squad/club information.
soccerstats.com API
Access comprehensive soccer statistics including live league tables, match details, team performance metrics, and form rankings across multiple football leagues. Search for specific teams and analyze their season statistics, head-to-head records, and competitive standings to stay informed on the latest soccer data.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
futbin.com API
Search and retrieve FIFA Ultimate Team player data including market prices, detailed statistics, and performance metrics. Analyze market trends and compare player values across the full EA FC player catalog.
footystats.org API
Get live football scores, team performance metrics, league standings, and head-to-head match statistics all in one place. Search teams and leagues to access detailed player stats, comprehensive analytics, and in-depth performance data across football competitions worldwide.
theanalyst.com API
Access current Premier League team and player performance data, including team-level attacking/defensive/possession metrics, player xG rankings, and computed team ratings with attack/defense components.
uefa.com API
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.