Transfermarkt Scraper
Pricing
from $3.00 / 1,000 results
Transfermarkt Scraper
Scrape Transfermarkt, the world's largest football player and club database. Search players, clubs, and competitions; get market values, transfer history, injuries, and squad data.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(11)
Developer
Crawler Bros
Maintained by CommunityActor stats
11
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape Transfermarkt — the world's most comprehensive football player and club database — without writing a single line of code. Search players, clubs, and competitions; retrieve transfer history, market value timelines, injury records, and squad data.
What data do you get?
| Record type | Key fields |
|---|---|
| Player | Name, nationality, position, age, height, foot, club, market value, profile URL, image |
| Player (full) | All above + transfer history, market value history, injury log |
| Club | Name, country, league, squad size, avg age, total market value, stadium |
| Competition | Name, country, competition URL |
Input
| Field | Type | Description |
|---|---|---|
mode | select | What to fetch (see Modes below) |
query | string | Player/club/competition name to search |
playerId | string | Transfermarkt numeric player ID (e.g. 28003 for Messi) |
clubId | string | Transfermarkt numeric club ID (e.g. 131 for Manchester City) |
competitionId | string | Competition ID (e.g. GB1 for Premier League, L1 for Bundesliga) |
minMarketValueEur | integer | Filter out players with market value below this (in EUR) |
nationality | string | Substring match on player nationality (e.g. Argentina) |
position | select | Position filter (Goalkeeper, Centre-Back, etc.) |
maxItems | integer | Max records to return (default 50, max 1000) |
Modes
| Mode | Description |
|---|---|
searchPlayers (default) | Search players by name |
byPlayerId | Full player profile including transfers, market value history, injuries |
searchClubs | Search clubs by name |
byClubId | Club profile + current squad |
searchCompetitions | Search competitions/leagues by name |
byCompetitionId | All clubs in a competition |
Sample Input
{"mode": "searchPlayers","query": "Messi","maxItems": 10}
Sample Output
{"playerId": "28003","name": "Lionel Messi","nationality": ["Argentina"],"position": "Right Winger","age": 37,"currentClub": "Inter Miami CF","marketValue": "€15.00m","marketValueNumeric": 15000000,"profileUrl": "https://www.transfermarkt.com/lionel-messi/profil/spieler/28003","recordType": "player","siteName": "Transfermarkt","scrapedAt": "2026-05-10T12:00:00+00:00"}
Filters
- minMarketValueEur — only players with market value ≥ this EUR amount
- nationality — substring match (e.g.
FrancematchesFrance,Ivory Coastwould need exact) - position — exact match from dropdown
FAQs
Do I need a Transfermarkt account? No. All data is fetched from the public Transfermarkt API without authentication.
What are valid competition IDs?
Common ones: GB1 (Premier League), L1 (Bundesliga), ES1 (La Liga), IT1 (Serie A), FR1 (Ligue 1), CL (Champions League).
How often is Transfermarkt data updated? Market values are updated roughly 2x per year (January and summer transfer window). Transfer data is updated in real-time.
What is the rate limit? Requests are spaced to respect the API — typically 1-2 requests per second.
Can I get all transfers for a player?
Yes — use mode=byPlayerId with the player's numeric ID.