The free key reads yesterday again: our one-month trial of today on the free key has finished. Read the changelog
Documentation

Football data API documentation

Results, fixtures, live scores, standings and Betfair exchange prices for 1,693,122 matches across 1,381 competitions in 171 countries, with national teams back to 1872.

Every match carries what most feeds leave out: the half-time score, the score after 90 minutes and after extra time, stoppage time, league positions on the day, the ground and its weather at kickoff, how far the away side travelled, and the exchange price at kickoff and at half-time. Results settle as matches finish, and the live feed polls every five seconds while matches are in play.

People build prediction models, backtests, betting tools, fantasy and tipping sites, club and league pages, and assistants that answer football questions. Every sample on these pages is a live row from the archive, so an example never drifts from what the API returns.

75endpoints
1,693,122matches
171countries
1,381competitions

Start here

1Get a free key Sign in with Google and the key is made for you, then kept in this browser for every docs page. Get a free key
2Make the first call Yesterday's settled results, every league, one call. Run it below or copy the code. Run it here
3Read the answer Every answer is data plus meta: the rows, then paging, limits and when the data was built. Getting started
curl "https://api.footballsoccerapi.com/v1/results/yesterday?limit=1" \
  -H "X-API-Key: $FSAPI_KEY"
Get a key
GET

The key you paste here is kept in this browser under footballsoccerapi.com.api_key and fills in on every docs page. A key made at sign-up or rotated in your account lands here by itself.

Every subject 6

What the data covers, how the records link, and the jobs people do with each part, every one with its calls.

Matches and results

Every settled match with its score at half-time, after 90 minutes and after extra time, stoppage time, ground, weather and travel. Filter by league, season, club, date or result, or take a whole season as one file.

Read the guide
Fixtures and live

What is coming, what has moved, and what is in play, with live prices, polled every five seconds while a match is on.

Read the guide
Odds and markets

Betfair exchange prices at kickoff and at half-time, the volume matched, and a backtest that runs your rules at those prices net of commission, settled on 90 minutes as the exchange settles them.

Read the guide
Teams and form

A club's last results with home and away split, goals by half, streaks, meetings with any opponent, and how far it travels.

Read the guide
Standings

The table on any date in any season, rebuilt from the results, so a model can see exactly what was known before kickoff.

Read the guide
Players and lineups

Starting elevens, formations, absences and each player's seasons, for the leagues that publish them.

Read the guide

Guides 14

The things worth knowing once rather than per endpoint: how authentication, paging, limits, errors, scores and dates work, what is in the archive, and how to pull the whole surface as a spec.

Every endpoint 75

Every group, every endpoint linked, its plan on the right. Nothing in the API is more than one click from here.

Reference & discovery 13

The lookups every integration starts from: countries with their league and match counts, all competitions, every club with its ground and coordinates, and the enums the API uses.

Matches & results 19

Search and retrieve individual football matches: the full row with score, half-time score, league positions at kickoff, travel distance, venue, and the exchange market recorded at kickoff.

Team form & stats 11

Club-level analysis across ten seasons: recent form with a home and away split, goals and clean sheets, current and longest runs, head-to-head history and how the market has priced them.

Players 2

Season totals for every player we hold match figures for: appearances, starts, minutes, goals, assists, shots, passes, tackles, cards, saves and the average rating, one row a competition, season and club.

Standings 2

League tables computed from the same match rows, as they stood on any date in any season, plus the position of every club at every kickoff.

Odds & markets 9

Exchange match-odds prices: kickoff and half-time snapshots, implied probability, overround, matched volume, price bands and backtesting over the whole archive.

League & global stats 7

Aggregates across leagues and seasons: goals per game, scoreline distribution, home advantage, half-time conversion, kickoff time effects and how league position tracks the result.

Fixtures & live 6

What has not been played yet and what is being played now: the day's card, upcoming fixtures, rescheduled kickoffs, in-play scores and current prices.

Platform 2

Your own usage against your plan limits, and the health and freshness of the service.

Push & assistant 2

Get data pushed to you instead of polling for it: webhooks on kickoff, goals, red cards, lineups and results, and the same registry exposed as assistant tools over MCP.

For assistants and agents

Four ways in, all generated from the same registry as these pages, so none of them can fall behind the API.

MCP server

Connect Claude, ChatGPT, Cursor or Claude Code directly. Send your key as Authorization: Bearer or X-API-Key.

https://footballsoccerapi.com/mcp
Agent skill

One file that teaches an agent the key, the calls for common questions, the limits and the errors. Save it as a skill in Claude or Claude Code.

https://footballsoccerapi.com/skill.md
The manual

The whole API in one Markdown file: every guide, endpoint, parameter and field. Hand it to a model that writes code against the API.

https://footballsoccerapi.com/documentation/manual.md
llms.txt

The short map for crawlers and assistants that look for it at the root of the site.

https://footballsoccerapi.com/llms.txt

Plans in short

Every refusal names the plan it needs. Going over a limit is a wait, never a bill.

FFree key $0

Yesterday, as one whole day. 60 calls a minute, 50 a day.

AArchive $49 a month

Every settled match up to yesterday, with prices, form, standings and player figures. 120 a minute, 250,000 a month.

LLive $99 a month

Everything in Archive, plus today, live scores, fixtures ahead and webhooks. 180 a minute, 600,000 a month.

Compare the plans

What is new

The full changelog

The rest

Questions people ask

How far back does the data go?

National teams go back to 1872, and each club competition as far as its seasons are held. Historical data shows the coverage of every field by season.

Can the free key read today's matches?

No. The free key reads yesterday, as one whole day. Today, live scores and the fixtures ahead are on Live. See the plans.

Is the score after 90 minutes or after extra time?

home_goals and away_goals are the final score, after extra time where it was played, never with shootout kicks. The 90-minute score, the extra-time goals and the shootout each have their own fields. Scores and results.

Where do the prices come from?

Betfair exchange prices at kickoff and at half-time, with the volume matched, settled on 90 minutes as the exchange settles them. Live odds explains what each price means.

What happens if I go over my limit?

You get a 429 with the seconds until it resets. There is no overage charge and no automatic upgrade. Rate limits.

Can I use it with Claude or ChatGPT?

Yes. Add the MCP server with your key and the assistant can search matches, read form and pull prices itself. The MCP server.

Are times in UTC?

Every time is UTC, and each match also carries its local date and time. Timezones and dates.

F Free key A Archive L Live Every refusal names the plan it needs, never a bare 403. See the plans.