# SofaScore Live Sports Data

> SofaScore Live Sports Data is a paid API for AI agents from api.fadeandco.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-29).

Returns live sports match listings across all major sports, or detailed per-match data (score by period, incidents, odds, team stats) using a SofaScore event ID

## Facts

- Endpoint: GET https://api.fadeandco.workers.dev/api/dev/sofascore-live?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sofascore-live-sports-data-5a955ea4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_e24qrDwajFUtcWK9PYUKd

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sofascore-live-sports-data-5a955ea4
```

Example prompt: What football matches are live right now? Give me up to 20 results filtered to Premier League games — show teams, scores, and match status.

## When to prefer this

Use this endpoint when you need real-time live sports data — either a broad snapshot of all in-progress matches for a given sport, or deep per-match detail including incidents, odds, and team stats. It is particularly well-suited for AI agents monitoring live games, building sports dashboards, or providing betting intelligence. Prefer this over general sports APIs when SofaScore coverage (including esports, cricket, handball, futsal, MMA) and granular incident-level data are required.

## Known failure modes

- Invalid sport name returns an error or empty result
- Unknown or past event ID returns no match data
- SofaScore upstream API outage causes fetch failure
- Limit parameter out of range (below 1 or above 200) may be rejected
- Competition filter text with no matching events returns empty results list

## How this service works

Live sports from SofaScore. Without an event ID: every match in play for a sport (football, basketball, tennis, ice-hockey, baseball, cricket, esports...) with event ID, competition, teams, live score and status. With an event ID: score by period, venue, incidents (goals, cards, substitutions with minute), live and pre-match odds by market, and team statistics (possession, xG, shots...).

## Output

For a sport-wide request: a list of live matches with event ID, competition name, country, home/away team names and codes, current score by period, start time, and match status. For a single event ID: detailed breakdown including period scores, venue, chronological incidents (goals, cards, substitutions with minute), available odds by market, and team statistics such as possession, expected goals, and shots.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "event": {
       "type": "string",
       "description": "SofaScore event ID for one match's incidents, odds and statistics"
      },
      "limit": {
       "type": "string",
       "description": "Live list only: matches, 1 to 200 (default 50)"
      },
      "sport": {
       "type": "string",
       "description": "football, basketball, tennis, ice-hockey, baseball, american-football, volleyball, handball, cricket, rugby, esports, table-tennis, futsal, mma (default football)"
      },
      "competition": {
       "type": "string",
       "description": "Live list only: competition or country contains this text"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "live": 32,
  "sport": "football",
  "source": "https://api.sofascore1.com/api/v1/sport/football/events/live",
  "results": [
   {
    "id": 16541616,
    "url": "https://www.sofascore.com/brisbane-roar-perth-glory/Vibstuc",
    "away": {
     "code": "PGL",
     "name": "Perth Glory",
     "score": {
      "current": 0,
      "period1": 0
     }
    },
    "home": {
     "code": "BRR",
     "name": "Brisbane Roar",
     "score": {
      "current": 1,
      "period1": 1
     }
    },
    "round": 2,
    "start": "2026-10-23T09:00:00.000Z",
    "status": "1st half",
    "country": "Australia",
    "statusType": "inprogress",
    "competition": "A-League Men"
   },
   {
    "id": 17380449,
    "url": "https://www.sofascore.com/jsm-skikda-u20-cs-constantine-u20/Kidjsvwvk",
    "away": {
     "code": "JSU",
     "name": "JSM Skikda U20",
     "score": {
      "current": 1,
      "period1": 1
     }
    },
    "home": {
     "code": "CCU",
     "name": "CS Constantine U20",
     "score": {
      "current": 2,
      "period1": 2
     }
    },
    "round": null,
    "start": "2026-10-23T08:30:00.000Z",
    "status": "1st half",
    "country": "Algeria",
    "statusType": "inprogress",
    "competition": "U20 Algerian Ligue"
   }
  ],
  "checkedAt": "2026-10-23T09:35:24.541Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sofascore-live-sports-data-5a955ea4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.fadeandco.workers.dev](https://www.zero.xyz/host/api.fadeandco.workers.dev/llms.txt)
