# Premier League API for fixtures and results

Query Premier League 2025/26 teams, fixtures, rounds, and full-time results through a stable football JSON API.

Canonical URL: https://stats-api.com/football-api/premier-league

Domestic league API

Query Premier League 2025/26 teams, fixtures, rounds, and full-time results through a stable football JSON API. This is a historical CC0 beta dataset, not a live or guaranteed-fresh feed.

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

Dataset snapshot **Premier League**

OpenFootball · CC0 / Public Domain

Competition **Premier League**

Region **England**

Dataset timezone **Europe/London**

Availability **Historical beta**

League-first workflow

## One competition. A complete starting layer.

Build an English top-flight schedule, results archive, research workflow, or football agent without coupling your product to the source file format.

Discover the competition first, retain its Stats API ID, list its seasons, and then filter the match collection. Customer requests are served from normalized Stats API storage rather than forwarded to OpenFootball.

**Available now**

2025/26

Competition **✓** Name, country, type, and stable Stats API identifier

Season **✓** 2025/26 label plus team and match counts

Teams **✓** Normalized team names and stable team identifiers

Matches **✓** Kickoff time, round, participants, status, and full-time score when present

**Beyond this historical dataset**

Check the current coverage API

Match events **—** Available through timeline endpoints where covered; not guaranteed for this historical slice

Players & lineups **—** Dedicated endpoints are available; verify season and match coverage separately

Match statistics **—** Nullable xG and player match statistics where covered; shot maps and heat maps unavailable

Odds **—** Prematch and live observations where collected; inspect availability and timestamps

Two-request discovery

## Find the IDs, then query the matches.

Search by the human name once. Store the returned competition and season IDs in your application, then use those stable identifiers for match collection.

[Read the match endpoint guide →](https://stats-api.com/docs/endpoints/matches)

1 · Find Premier League

```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 · Filter the match collection

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

Covered competitions

## Explore another *football API.*

Every page below represents a real enabled dataset with the same stable competition, season, team, and match contract.

Spain

### [La Liga API](https://stats-api.com/football-api/la-liga)

2025/26 · 380 matches

Germany

### [Bundesliga API](https://stats-api.com/football-api/bundesliga)

2025/26 · 306 matches

Italy

### [Serie A API](https://stats-api.com/football-api/serie-a)

2025/26 · 380 matches

France

### [Ligue 1 API](https://stats-api.com/football-api/ligue-1)

2025/26 · 306 matches

International

### [World Cup API](https://stats-api.com/football-api/world-cup)

2026 · 104 matches

Freshness boundary

## Historical data, described honestly.

A successful importer run proves when Stats API retrieved and processed the configured artifact. It does not prove when the upstream football facts were last changed.

Use `GET /api/v1/coverage/summary` to inspect the observed ingestion time, artifact retrieval time, and `freshness_guaranteed=false` before presenting time-sensitive results.

Build with Premier League data

## Start with the contract that exists today.

[Explore the API →](https://stats-api.com/docs)

---

Markdown version of https://stats-api.com/football-api/premier-league. 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
