# Fantasy Football API for Soccer Fixtures and Results

Squads, lineups, per-player match statistics with started and played flags, injuries and incidents for fantasy soccer scoring.

Canonical URL: https://stats-api.com/use-cases/fantasy-football

Fantasy soccer data use case

Build fantasy soccer scoring on squads, confirmed lineups, per-player match statistics with started and played flags, injuries and minute-stamped incidents — plus the competition and fixture layer underneath them.

[Start building →](https://stats-api.com/auth?mode=signup) [Explore endpoints](https://stats-api.com/docs)

Why Stats API

## Football inputs for your scoring rules.

Use squads, lineups, player match and season statistics, injury observations and match incidents where populated. These documented endpoints complement the competition, season, team and fixture records behind a league calendar; individual fields and competitions can have gaps.

Resolve the squad, read confirmed lineups where observed, then join per-player statistics by match and player ID. Apply your scoring rules to supported fields and keep missing observations separate from genuine zeros.

Season totals are published where the source supplied them: the season statistics endpoint returns appearances, minutes, goals, assists and more for a requested season, separated by team after a transfer, and its support_status says whether the numbers are available, were not observed, or were confirmed empty. Per-match rows remain the way to build your own windows, such as the last five matches, because your scoring rules — not ours — decide what counts.

Once a match has been played, the per-player statistics say who started and who played: started is true or false, and played is true, false or null when it cannot be told. Count null as unknown, never as a player who stayed on the bench.

Availability data deserves care. Injuries and suspensions are reported as observed at the last sync rather than continuously, so surface the observation time next to a doubtful flag instead of presenting it as certain. A lineup published an hour before kickoff is the authoritative answer to "is this player starting"; anything earlier is a forecast.

**01**

### Squads and player records

Team rosters and player profiles, keyed by identifiers that stay stable across seasons.

**02**

### Confirmed lineups

Starting eleven, substitutes, formation and shirt numbers once a team sheet is published.

**03**

### Per-player match statistics

Goals, assists, cards, minutes, shots, passing and duels where observed for an appearance.

**04**

### Availability signals

Injuries and suspensions with the observation time attached, so a stale flag reads as stale.

**05**

### Incident timelines

Minute-stamped goals, cards and substitutions for live scoring and match narration.

**06**

### League calendar foundation

Filter fixtures and results by team, competition, season, status and UTC date.

Fantasy soccer scope

## Scoring inputs with explicit coverage.

Squads, lineups, player match and season statistics, injury observations and incidents have documented endpoints. Season summaries preserve team splits after transfers. Your application defines fantasy points and handles fields that are not observed.

**Useful today**

Player scoring supported

Squads and players **✓** Team rosters and player records with identifiers stable across seasons.

Confirmed lineups **✓** Starting eleven, bench, formation and shirt numbers once the team sheet lands.

Per-player statistics **✓** Minutes, started and played flags, goals, assists, cards, shots, passing and duels where observed per appearance.

Season summaries **✓** Provider aggregates for a requested season, separated by team after transfers; missing values stay null.

Injuries and suspensions **✓** Availability with the observation time attached, so a stale flag reads as stale.

Incident timelines **✓** Minute-stamped goals, cards and substitutions in provider order, each with a sequence number, for scoring and narration.

Competition calendars **✓** Fixtures and results by competition, season, team, status and UTC date.

**Compute or source elsewhere**

Not published today

Fantasy points **—** No opinionated scoring model — the raw events are yours to weight.

Heat maps **—** Positional data is not published.

Push notifications **—** In-play endpoints are polled on a schedule, not streamed.

Fantasy soccer workflow

## Resolve a squad, then score the appearances.

Resolve the league to a stable ID, list the team squad, then read per-player match statistics for each fixture. Player identifiers stay constant across seasons, so a scoring table keeps joining after a transfer window.

[Review supported match fields →](https://stats-api.com/docs/endpoints/matches)

1 · Find a competition ID

```bash
curl --silent --show-error \
  "https://stats-api.com/api/v1/football/competitions?q=Premier%20League" \
  -H "Authorization: Bearer ${STATS_API_KEY}" \
  -H "Accept: application/json"
```

2 · Fetch its completed matches

```bash
curl --silent --show-error \
  "https://stats-api.com/api/v1/football/matches?competition_id=${COMPETITION_ID}&status=finished" \
  -H "Authorization: Bearer ${STATS_API_KEY}" \
  -H "Accept: application/json"
```

Fantasy soccer building blocks

## Start from a real dataset and documented fields.

These pages show an enabled league, the exact match contract, current limits, and the stable-ID strategy behind durable joins.

Example dataset

### [Premier League API](https://stats-api.com/football-api/premier-league)

Inspect the exact historical season, team count, match count, and unavailable fields.

Endpoint reference

### [Match endpoint guide](https://stats-api.com/docs/endpoints/matches)

Use only the documented competition, season, team, status, and date filters.

Engineering guide

### [Keep football IDs stable](https://stats-api.com/blog/stable-football-ids-provider-replacement)

Learn why fantasy URLs and joins should not depend on upstream provider identifiers.

Build with football data

## One key. One contract. A clearer path to production.

[View pricing →](https://stats-api.com/pricing)

---

Markdown version of https://stats-api.com/use-cases/fantasy-football. Site index: https://stats-api.com/llms.txt · Full documentation and OpenAPI contract: https://stats-api.com/llms-full.txt · AI usage policy: https://stats-api.com/ai.txt
