# SofaScore (`superapis/sofascore`) Actor

SofaScore API (sofascore.com): Real-Time Scores, Results & Match Stats. Get detailed sports data including live scores, fixtures, results, and stats from SofaScore across football (soccer), tennis, basketball, hockey and more.

- **URL**: https://apify.com/superapis/sofascore.md
- **Developed by:** [SuperAPIs](https://apify.com/superapis) (community)
- **Categories:** Developer tools, Other
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 api requests

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

**SofaScore API** gives you real-time and historical sports data from [SofaScore](https://www.sofascore.com) through a plain HTTP JSON API - live scores, fixtures, results, match details, lineups, statistics, incidents, odds, standings, players, teams, tournaments and search. Football, tennis, basketball, ice hockey, volleyball, handball, baseball, American football, MMA and more are all covered through a single `sport_slug` parameter.

### What makes it different

**It answers instantly.** This Actor runs in Standby mode, so it behaves like a normal REST API instead of a scraper you start and wait for. You send a `GET` request, you get JSON back in the same response - no runs to poll, no datasets to fetch.

**You pay per call, not per row.** One request to `/v1/match/list` returns every match for that day, and it is billed as a single request. Scrapers that charge per result would bill you thousands of units for the same data.

**60+ endpoints, all documented.** Every endpoint is a plain `GET` with query parameters and a full OpenAPI schema, visible in the API tab. No input schemas to learn, no wrapper objects to unpack.

### Versioning

Endpoints are versioned in the path. Everything today lives under `/v1/`, and it will keep working exactly as it does now - new versions ship alongside it under their own prefix, never by changing what `/v1/` returns.

### Pricing

**$1.00 per 1,000 API requests.** A request is a request, no matter how much data comes back in it.

That distinction is worth more than it sounds. One call to `/v1/match/list` returns every football match scheduled that day, across every league and cup in the world, more than 1,600 of them. One call to `/v1/match/live` returned 156 matches in play at the moment this was written. One call to `/v1/team/players` returns an entire squad. Each of those is billed as **one** request, a tenth of a cent.

An Actor priced per result would bill that same `/v1/match/list` call as 1,600 units. Here it costs $0.001.

So the more each endpoint gives you, the cheaper your data gets and the endpoints are built to give you a lot. There is no per-row charge, no minimum, and no charge at all for failures: validation errors, missing parameters and upstream problems are never billed.

*Note: as with every Standby Actor on Apify, your run also consumes Apify platform usage while it is awake, billed to your own account at your plan's rate. This Actor is deliberately kept small, and its run shuts down automatically after 5 minutes without requests.*

### Notes and support

Found a bug or need an endpoint that is not covered yet? Open an issue in the **Issues** tab.

# Actor input Schema

## Actor input object example

```json
{}
```

# Actor output Schema

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("superapis/sofascore").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("superapis/sofascore").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call superapis/sofascore --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,superapis/sofascore"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/2O2KPLF9UmNfuOUUF/builds/krSk2UiFSb0mOK0aQ/openapi.json
