FBref Scraper
Extract detailed football (soccer) statistics, player performance data, and league tables from FBref. Powered by spider-browser .
Extract data in minutes
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://fbref.com/en/comps/9/stats/Premier-League-Stats");
await page.content();
const data = await page.evaluate(`(() => {
const players = [];
document.querySelectorAll("#stats_standard tbody tr:not(.thead)").forEach(el => {
const name = el.querySelector("td[data-stat='player'] a")?.textContent?.trim();
const team = el.querySelector("td[data-stat='team'] a")?.textContent?.trim();
const goals = el.querySelector("td[data-stat='goals']")?.textContent?.trim();
const assists = el.querySelector("td[data-stat='assists']")?.textContent?.trim();
const xg = el.querySelector("td[data-stat='xg']")?.textContent?.trim();
const minutes = el.querySelector("td[data-stat='minutes']")?.textContent?.trim();
if (name) players.push({ name, team, goals, assists, xg, minutes });
});
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 fbref.com with a single POST request. AI-configured selectors, cached for fast repeat calls.
curl -X POST https://api.spider.cloud/fetch/fbref.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/fbref.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/fbref.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 fbref.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 fbref.com
Get your API key and start extracting data in minutes.