The Football API for Developers
One REST football API for fixtures, results, standings, player and match stats, odds, and xG — across 1,000+ competitions. JSON responses, every endpoint on every plan, and a 7-day free trial.
One endpoint, clean JSON
Every football API response uses the same predictable shape. Fetch matches, then join odds, stats, lineups, and player data by match ID.
GET /football/matches?competition_id=comp_3039
GET https://api.thestatsapi.com/api/football/matches
?competition_id=comp_3039
&per_page=10
Authorization: Bearer YOUR_API_KEY{
"data": [
{
"id": "mt_010249745",
"competition": "Premier League",
"status": "finished",
"utc_date": "2026-01-18T15:00:00Z",
"home_team": { "id": "tm_50", "name": "Manchester City", "score": 2 },
"away_team": { "id": "tm_42", "name": "Arsenal", "score": 1 },
"xg_available": true
}
],
"meta": { "page": 1, "per_page": 10, "total_pages": 38 }
}Call the football API from any language
No SDK required — it is a plain REST API. Copy a snippet and start fetching data.
const res = await fetch(
"https://api.thestatsapi.com/api/football/matches?competition_id=comp_3039&per_page=10",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data);Football API endpoints
Pull upcoming and historical football fixtures — kickoff times, venues, and team IDs — across more than 1,000 competitions from one endpoint.
Fetch final scores, goal events, and outcomes for completed matches across more than 1,000 competitions and decades of history.
Get live and historical league tables — points, goal difference, form, and rank — for any competition and season.
Fetch player statistics — goals, assists, minutes, cards, and shots — per season and per match for thousands of players.
Get detailed per-match statistics — possession, shots, passes, corners, cards, and xG — for every covered fixture.
Access expected goals (xG) — per match, per team, and per shot — to measure underlying performance beyond the scoreline.
Stream real-time football scores, the current match minute, and goal events for live matches across more than 1,000 competitions.
Fetch confirmed starting elevens, substitutes, formations, and player positions for each match.
Bet365, Pinnacle, Betfair and Kambi prices joined to matches by ID.
Global coverage
150 competitions by default and up to 1,196 on request — top European leagues, the Americas, Asia, cups, and women's football. Browse the leagues or the full coverage table.
Odds & xG included
Pre-match and live odds from Bet365, Pinnacle, Betfair Exchange, and Kambi, plus xG per match and per shot. See the Football Odds API.
What developers build with the football API
Stats dashboards & websites
Live tables, fixtures, results, and player cards from one API.
Betting & prediction models
Odds, xG, and historical results for backtesting and CLV analysis.
Fantasy football apps
Per-player goals, assists, minutes, and cards to drive scoring.
Sports media & content
Automate match previews, recaps, and data-led articles.
TheStatsAPI is a football API for developers that returns fixtures, results, standings, player and match stats, odds, and xG as JSON across 1,000+ competitions. It is a single REST API with flat pricing from $50/month, every endpoint included, and a 7-day free trial. Compare it in our best football API guide.
Frequently Asked Questions
What is a football API?
A football API is a REST service that returns football (soccer) data — fixtures, results, standings, player and team stats, odds, and xG — as JSON, so developers can build apps without scraping or maintaining their own data feeds.
Which football API is best for developers?
TheStatsAPI is built for developers: one REST API with fixtures, results, stats, odds, and xG across 1,000+ competitions, flat pricing from $50/month, and every endpoint included on every plan. See our best football API comparison for details.
Is there a free football API?
TheStatsAPI offers a 7-day free trial with full access to every endpoint and competition. After that, plans start at $50/month with no per-endpoint add-ons.
Does the football API include odds and xG?
Yes. Pre-match and live odds from Bet365, Pinnacle, Betfair Exchange, and Kambi are included, along with expected goals (xG) per match and per shot where available — all joined to fixtures by match ID.
What data format does the football API return?
All responses are JSON over a standard REST API. There is no SDK to install — call it from any language. We provide copy-paste examples in JavaScript, Python, PHP, Java, Go, Ruby, and C#.
How many leagues does the football API cover?
150 competitions are included by default and up to 1,196 are available on request, covering top European leagues, the Americas, Asia, cups, women’s football, and international tournaments.
Simple, Transparent Pricing
All stats data — fixtures, results, match & player stats, xG, and history.
Starter
For prototypes, side projects, and early products
Included in every plan:
- All football data endpoints included
- Pre-match & live odds endpoints
- Bet365, Pinnacle, Betfair Exchange & Kambi odds
- 1X2, Asian handicap, totals, BTTS, DNB & corners
- Fixtures, results, match stats, teams & players
- xG, player season stats & team stats
- 10 years of historical match data
- Build with AI
- 150 competitions by default, up to 1,196 on request
- 100,000 requests/month
- 120 requests/min
- Email & chat support
Growth
For production apps with steady traffic
Everything in Starter, plus:
- 500,000 requests/month
- 300 requests/min
- Priority support for production teams
Scale
For high-volume, production-grade usage
Everything in Growth, upgraded to:
- 5,000,000 requests/month
- 1,000 requests/min
- Dedicated support & SLA
Start building with the football API
7-day free trial. Every endpoint and competition included on every plan.