Transfermarkt Scraper
Extract football player valuations, transfer history, club data, and market values from Transfermarkt. Powered by spider-browser .
Extract data in minutes
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.transfermarkt.com/spieler-statistik/wertvollstespieler/marktwertetop");
await page.content();
const data = await page.evaluate(`(() => {
const players = [];
document.querySelectorAll("#yw1 .items tbody tr").forEach(el => {
const name = el.querySelector(".hauptlink a")?.textContent?.trim();
const position = el.querySelector(".inline-table tr:last-child td")?.textContent?.trim();
const club = el.querySelector(".zentriert img.tiny_wappen")?.getAttribute("alt");
const value = el.querySelector(".rechts.hauptlink a")?.textContent?.trim();
const age = el.querySelector(".zentriert:nth-child(3)")?.textContent?.trim();
if (name) players.push({ name, position, club, value, age });
});
return JSON.stringify({ total: players.length, players: players.slice(0, 15) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Structured data endpoint
Extract structured JSON from transfermarkt.com with a single POST request. AI-configured selectors, cached for fast repeat calls.
/fetch/transfermarkt.com/ curl -X POST https://api.spider.cloud/fetch/transfermarkt.com/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"return_format": "json"}' import requests
resp = requests.post(
"https://api.spider.cloud/fetch/transfermarkt.com/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={"return_format": "json"},
)
print(resp.json()) const resp = await fetch("https://api.spider.cloud/fetch/transfermarkt.com/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data); Data you can extract
Live scores & stats
Extract real-time scores, player stats, and standings from transfermarkt.com.
Dynamic scoreboards
Full browser rendering for live-updating scoreboards and stat tables.
League coverage
Scrape across multiple leagues, seasons, and teams concurrently.
More Sports & Fitness scrapers
Extract live scores, game schedules, standings, and sports news from ESPN across all major leagues.
Extract NBA game scores, player stats, team standings, and league news from the official NBA site.
Extract NFL game scores, team schedules, player stats, and league news from the official NFL site.
Start scraping transfermarkt.com
Get your API key and start extracting data in minutes.