FreeAPI.watch

football-data.org

European football fixtures, standings, scorers, and results for the major competitions, maintained as an independent project. The most reliable free option since ESPN closed its public API.

Status
🟢 Online · 1194 ms
30-day uptime
95.94%
Free tier
Free tier: 12 competitions, 10 calls/minute, free key
Auth
API key
Last 30 days

Free alternatives (live ranking)

Compare football-data.org with…

Paid alternatives

Official docs ↗

Frequently Asked Questions

Does football-data.org require an API key?

Yes, football-data.org requires a free API key. You can sign up via https://www.football-data.org/documentation/quickstart.

What is football-data.org's free tier?

Free tier: 12 competitions, 10 calls/minute, free key

Is football-data.org currently online?

We check football-data.org every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.

Implementation notes

When to use football-data.org

football-data.org is the most credible free football API: real fixtures, live scores, standings, squads, and scorer tables for twelve competitions including the Premier League, La Liga, Serie A, Bundesliga, Ligue 1, the Champions League, and the World Cup. A free key arrives instantly and the data is properly maintained rather than crowd-sourced, which puts it well ahead of TheSportsDB anywhere correctness matters. Use it for league table widgets, fixture calendars, fantasy tools, and Slack or Discord bots that post results. The free tier is genuinely usable — ten requests a minute is ample for a cached dashboard — and the paid tiers scale sensibly if the project grows into something. Where it stops is real time: minute-by-minute in-play data, deep historical seasons, and the long tail of smaller leagues all sit behind paid plans, and the free tier's competition whitelist is narrower than the endpoint surface makes it look.

Common pitfalls

Quick start (bash)

curl -s -H 'X-Auth-Token: YOUR_KEY' 'https://api.football-data.org/v4/competitions/PL/standings' | jq '.standings[0].table[0:3] | .[] | {position, team: .team.shortName, points}'
# restricted competitions return 403, not 404 - and check your remaining budget:
curl -sD - -o /dev/null -H 'X-Auth-Token: YOUR_KEY' 'https://api.football-data.org/v4/competitions/PL/matches' | grep -i x-requests-available

Embed this badge

Add a live status badge to your README, docs, or website.

football-data.org status badge

Markdown

[![football-data.org Status](https://api.freeapi.watch/badge/football-data.svg)](https://freeapi.watch/football-data)

HTML

<a href="https://freeapi.watch/football-data"><img src="https://api.freeapi.watch/badge/football-data.svg" alt="football-data.org Status"/></a>