Domestic league API

La Liga API for
fixtures and results.

Query La Liga 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.

CompetitionLa Liga
RegionSpain
Dataset timezoneEurope/Madrid
AvailabilityHistorical beta
League-first workflow

One competition.
A complete starting layer.

Build a Spanish top-flight schedule, results archive, research workflow, or football agent with normalized competition, season, team, and match resources.

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
CompetitionName, country, type, and stable Stats API identifier
Season2025/26 label plus team and match counts
TeamsNormalized team names and stable team identifiers
MatchesKickoff time, round, participants, status, and full-time score when present
Requires a licensed provider
Not sold today
Live incidentsGoals, cards, substitutions, and an in-play clock
Players & lineupsSquads, starters, benches, injuries, and suspensions
Advanced statisticsxG, shot maps, player statistics, and heat maps
OddsLicensed pre-match and in-play bookmaker markets
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 →
1 · Find La Liga
curl --silent --show-error \
  "https://stats-api.com/api/v1/football/competitions?q=La%20Liga" \
  -H "Authorization: Bearer ${STATS_API_KEY}" \
  -H "Accept: application/json"
2 · Filter the match collection
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"
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 La Liga data

Start with the contract
that exists today.

Explore the API