πŸš€ Transfermarkt Scraper Β· 2,500 Free Players/Month avatar

πŸš€ Transfermarkt Scraper Β· 2,500 Free Players/Month

Pricing

from $2.00 / 1,000 player scrapeds

Go to Apify Store
πŸš€ Transfermarkt Scraper Β· 2,500 Free Players/Month

πŸš€ Transfermarkt Scraper Β· 2,500 Free Players/Month

Transfermarkt Scraper gets you player data ⚑ fast, 🎯 100% accurate and πŸ” ridiculously detailed β€” profile, market value & history, transfers, season stats & injuries, by player, club squad or scouting filter. πŸ’° $2 per 1,000 players, no start fee. Scrape your first 2,500 players free every month πŸš€

Pricing

from $2.00 / 1,000 player scrapeds

Rating

0.0

(0)

Developer

Omkar Cloud

Omkar Cloud

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Share

Transfermarkt Scraper

Transfermarkt Scraper by Omkar Cloud gets you 🎯 accurate, πŸ” detailed Transfermarkt player data.

Transfermarkt is the reference for what a footballer is worth, and every run reads it live β€” so you get today's market value, contract, agent and career for a single player, a whole club squad, a name search or a scouting filter, one row per player, and can successfully complete your project.

$2 per 1,000 players. And with Apify's free plan you get $5 of credit every month, so your first 2,500 players each month are free.

This is an excellent Actor made by Omkar Cloud, which is Rated Excellent β€” 4.7 based on 30 reviews on Trustpilot.

πŸ‘‰ Try Transfermarkt Scraper free β€” your first 2,500 players are Free.

What can I get

  • ⚽ Any player, a whole squad, a name or a scouting filter β€” paste player ids or transfermarkt.com URLs, club ids to get every squad member, names to search, or filter by nationality, position, age, market value and contract year; mix them all in one run
  • πŸ’° Market value on every row β€” the current value with the date it was set, the previous one, the all-time peak and the change since the last re-rating
  • πŸͺͺ The full profile β€” name, photo, date and place of birth, height, preferred foot, main and side positions, shirt number, current club with joined date and captaincy, loan parent club, agent, outfitter, youth clubs and social links
  • πŸ“œ Contract facts buyers pay for β€” contract end, option type, last extension, retirement status, plus caps and international goals for the national side
  • πŸ“ˆ The whole career on demand β€” every market-value re-rating since 2004, every transfer with clubs, dates and fees, season stats per competition, injury history and every title won
  • 🧾 Source context on every row β€” the entry as typed, how the player was found (listed, club squad, search, scouting) and the club whose squad listed them

Why Transfermarkt Scraper

Most other Transfermarkt scrapers fail you in one of four ways:

  • πŸ”— URL-only β€” you must already know every player; no squad expansion, no name search, no scouting filters
  • 🧩 Low-detail data β€” a name and a value, not the contract, the agent, the value history and the career
  • πŸ’Έ A start fee on every run β€” three of the five biggest charge one, which punishes small runs
  • πŸͺ¦ Works today, breaks next month β€” nobody maintains it

Transfermarkt Scraper is read live on every run, priced honestly with no start fee, and actively maintained.

Input

FieldWhat it does
PlayersTransfermarkt player ids (28003) or transfermarkt.com player URLs, one row each
Clubs (whole squad)Club ids (418) or club URLs β€” every squad member becomes a row, tagged with source_club_id
Player NamesNames to search, like Haaland β€” every hit becomes a row
Squad SeasonSeason for the club squads, 2025 or 25/26. Empty = the current squad
Scouting searchNationality, position, min/max age, min/max market value, contract end years, competition, free agents only β€” Transfermarkt caps this at 250 matches
Include Full Career HistoryAdds market value history, transfers, season stats, injuries and titles (add-on, $4 per 1,000 in total)
Stats Season / CompetitionOptional scope for the season stats
Max PlayersCost control for the whole run β€” 1,000 players = $2

Example: A Full Transfermarkt Player

{
"source_input": "28003",
"source_kind": "player",
"source_club_id": null,
"id": 28003,
"name": "Lionel Messi",
"full_name": "Lionel AndrΓ©s Messi Cuccitini",
"link": "https://www.transfermarkt.com/lionel-messi/profil/spieler/28003",
"image": "https://img.a.transfermarkt.technology/portrait/big/28003-1771694720.jpg",
"date_of_birth": "1987-06-24",
"age": 39,
"place_of_birth": "Rosario",
"nationalities": [
{ "id": 9, "name": "Argentina", "code": "ARG" },
{ "id": 157, "name": "Spain", "code": "ESP" }
],
"height_m": 1.7,
"preferred_foot": "left",
"position": { "id": 12, "name": "Right Winger", "short_name": "RW", "group": "Striker" },
"shirt_number": 10,
"current_club": {
"id": 69261,
"name": "Inter Miami CF",
"link": "https://www.transfermarkt.com/inter-miami-cf/startseite/verein/69261",
"country": { "id": 184, "name": "United States", "code": "USA" },
"is_captain": true,
"joined": "2023-07-15"
},
"national_team": { "id": 3437, "name": "Argentina", "is_current": true },
"caps": 207,
"international_goals": 125,
"contract_until": "2028-12-31",
"last_contract_extension": "2025-10-23",
"status": "active",
"market_value": {
"current": { "amount": 15000000, "currency": "EUR", "updated_at": "2026-06-02" },
"previous": { "amount": 15000000, "currency": "EUR", "updated_at": "2025-12-11" },
"highest": { "amount": 180000000, "currency": "EUR", "updated_at": "2018-05-30" },
"change": { "direction": "unchanged", "amount": 0, "percent": 0.0 }
},
"agent": { "id": 1207, "name": "Relatives", "is_verified": false },
"outfitter": "adidas",
"youth_clubs": "Grandoli FC (1992-1995), Newell's Old Boys (1995-2000)",
"market_value_history": [
{ "date": "2004-12-20", "value": { "amount": 3000000, "currency": "EUR" }, "age": 17, "club": { "name": "FC Barcelona B" } },
{ "date": "2018-05-30", "value": { "amount": 180000000, "currency": "EUR" }, "age": 30, "club": { "name": "FC Barcelona" } }
],
"transfers": [
{
"id": 3845482,
"date": "2023-07-15",
"season": { "id": 2023, "name": "23/24" },
"from_club": { "id": 583, "name": "Paris SG" },
"to_club": { "id": 69261, "name": "Inter Miami CF" },
"market_value": { "amount": 35000000, "currency": "EUR" },
"fee": { "amount": null, "currency": null, "type": "free" }
}
],
"total_transfer_fees": { "amount": 255000000, "currency": "EUR" },
"season_stats_totals": { "appearances": 1120, "goals": 891, "assists": 402, "minutes_played": 92345 },
"total_titles": 44
}

Trimmed for readability β€” market_value_history, transfers, season_stats, injuries and titles carry the full career when Include Full Career History is on.

Get Started with 2,500 Free Players

  1. Open Transfermarkt Scraper β€” the form comes pre-filled with Lionel Messi.
  2. Add your own players, clubs, names or scouting filters and click Start.
  3. Download the results as JSON, CSV or Excel 😎.

Pricing

$2 per 1,000 players. No start fee. You pay for the rows you get, nothing else.

What you scrapePrice
Player row β€” profile, market value, contract, agent, caps$0.002 each β€” $2 per 1,000
Same row with the full career history$0.004 each β€” $4 per 1,000
Actor start$0 β€” most competitors charge one

Apify's free plan gives you $5 of credit every month, so 2,500 players are free every month (1,250 with the full career history). A player reached twice in one run β€” listed and also in a squad β€” is scraped and billed only once.

Run It from Code

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('omkar-cloud/transfermarkt-scraper').call({
clubs: ['418'], // Real Madrid's whole squad
includeCareerHistory: true, // market values, transfers, stats, injuries, titles
maxResults: 30,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("omkar-cloud/transfermarkt-scraper").call(run_input={
"nationality": "Brazil", # scouting search
"position": "Centre-Forward",
"maxAge": 23,
"minMarketValue": 10000000,
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["market_value"]["current"]["amount"])

FAQ

Which players can I scrape? Any player on Transfermarkt β€” by id, by URL, by club squad, by name search, or by scouting filter. Retired players work too; their row carries status: "retired".

What does a run cost? $2 per 1,000 players, $4 per 1,000 with the full career history, and no start fee. Set Max Players to cap any run.

How fresh is the data? It is read live from Transfermarkt on every run. Market values are exactly what the site shows at that moment.

Can I scrape a whole league? Yes. Put the league's clubs in Clubs to get every squad, or use the scouting search with a Competition filter.

Do I need proxies or a Transfermarkt account? No. The Actor handles everything.

What if a player has no data for a block? The row is still pushed, with that block null. You are charged the same either way.

πŸ’¬ Have Questions? We Have Answers.

You're a developer β€” we know how hard completing a project can be. So we offer full support: just message us and we'll reply βœ… with a solution within 1 working day.

Message Us on WhatsApp

Ask Us on Email

You are important to us β€” just message us and we will solve your problem βœ… within 1 working day. 🩷 Pinky Promise πŸ€™!