NEW AI Studio is now available Try it now
Sports & Fitness

SofaScore Scraper

Extract live scores, match statistics, player ratings, and event lineups from SofaScore. Powered by spider-browser .

Get Started Documentation
sofascore.com target
99.5% success rate
~4ms latency
Quick Start

Extract data in minutes

sofascore-scraper.ts
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.sofascore.com/football");

const data = await page.extractFields({
  homeTeam: "[class*='event'] [class*='home'] [class*='teamName']",
  awayTeam: "[class*='event'] [class*='away'] [class*='teamName']",
  homeScore: "[class*='event'] [class*='home'] [class*='score']",
  awayScore: "[class*='event'] [class*='away'] [class*='score']",
  matchTime: "[class*='event'] [class*='time']",
  tournament: "[class*='tournament'] [class*='name']",
});

console.log(data);
await spider.close();
✓ ready to run | spider-browser | TypeScript
Fetch API

Structured data endpoint

Extract structured JSON from sofascore.com with a single POST request. AI-configured selectors, cached for fast repeat calls.

POST /fetch/sofascore.com/
Home teamAway teamScoreMatch timePlayer ratingLeague
curl
curl -X POST https://api.spider.cloud/fetch/sofascore.com/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/sofascore.com/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/sofascore.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);
Extraction

Data you can extract

Home teamAway teamScoreMatch timePlayer ratingLeagueStatistics
Data

Live scores & stats

Extract real-time scores, player stats, and standings from sofascore.com.

Rendering

Dynamic scoreboards

Full browser rendering for live-updating scoreboards and stat tables.

Scale

League coverage

Scrape across multiple leagues, seasons, and teams concurrently.

Related

More Sports & Fitness scrapers

Start scraping sofascore.com

Get your API key and start extracting data in minutes.