The Football Stats API Built for Speed

Get instant access to football match data, player stats, and fixtures across 80 competitions, with up to 1,196 available on request. Start building in minutes with a fast, easy to use, and reliable API.

80
Competitions
up to 1,196 on request
See full coverage
84,000+
Players
10
Years of Data
100+
Countries
Fast & Reliable
Worldwide Coverage
Verified Data
Whats_Live

All the Football Data
You Need

Production-ready endpoints powering apps right now. Every feature is live on all plans.

Player Statistics

Season and career stats for 84,000+ players including goals, assists, appearances, minutes, cards, shots & more.

Match Statistics & Events

Live and finalized match stats: shots, xG, possession, passes, cards, goals, and minute-by-minute events.

Match Schedules & Results

Complete fixture lists and historical match results from all covered competitions.

Competition Data

80 competitions across 100+ countries — up to 1,196 available on request.

Complete Team Squads

Full squad information with player details, positions, and contract information.

Pre-Match Odds

Pre-match odds from major bookmakers across all covered competitions.

Historical Odds

Archive of pre-match odds across bookmakers for backtesting and modelling.

Live Match Odds

Realtime in-play odds endpoint for matches where live_odds_available is true.

Live Match Stats

Realtime scores, status, and match stats for supported live fixtures.

Advanced Analytics

Expected goals (xG), non-penalty xG (npxG), xA, and deep underlying metrics for every covered match.

1,196competitions on request
100+countries
10years of history
/coverageView full coverage
On_The_Roadmap

We Ship Fast

Here's what's next. We're building in public. These endpoints are actively in development.

Soon

Extended Live Feeds

Broader live coverage, deeper in-play event feeds, and richer live match context.

Soon

Player Heatmaps

Positional heatmap data showing player movement and touch density across the pitch.

Soon

Lineups

Confirmed pre-match and actual starting lineups with formation and substitution data.

Interactive_Demo

See It In Action

Try our API live. Watch how easy it is to fetch comprehensive match data.

api-request.js
GET /football/matches/mt_010249745/stats
fetch('https://api.thestatsapi.com/api/football/matches/mt_010249745/stats', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
})
.then(res => res.json())
.then(data => console.log(data));
Click to try it!
response.json
Waiting for request...

Hit "Run API Call" to see the response

API_Reference

Explore Our Endpoints

19 endpoints across 5 categories. All returning clean, paginated JSON.

🏆Competitions

3 endpoints available

Base: /api/football/*
GET/api/football/competitions

Get all football competitions with optional filtering

searchpageper_page+3 more
GET/api/football/competitions/{competition_id}

Get details of a specific competition

competition_id*
GET/api/football/competitions/{competition_id}/seasons

List all seasons for a competition, newest first. The season flagged is_current matches the competition detail’s current_season_id.

competition_id*
Try it live
Start a free trial to test endpoints interactively
Get API Key
19
Endpoints
JSON
Paginated
Pricing_Plans

Simple, Transparent Pricing

Every plan includes stats, odds, xG, history, and every documented endpoint.

Starter

$50/month

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
  • 80 competitions by default, up to 1,196 on request
  • 100,000 requests/month
  • 120 requests/min
  • Email & chat support
Most Popular

Growth

$129/month

For production apps with steady traffic

Everything in Starter, plus:

  • 500,000 requests/month
  • 300 requests/min
  • Priority support for production teams

Scale

$379/month

For high-volume, production-grade usage

Everything in Growth, upgraded to:

  • 5,000,000 requests/month
  • 1,000 requests/min
  • Dedicated support & SLA
Cancel anytime
7-day free trial on all plans
Use_Cases

What You Can Build

From hobby projects to production apps. Here's what developers are building with TheStatsAPI.

Fantasy Football Apps

Build dynamic leagues powered by real player stats, season averages, and match-by-match scoring data.

GET/football/playersGET/football/matches

Match Day Dashboards

Power scoreboards with realtime odds, live match stats, possession, goal events, and form tables.

GET/football/matchesGET/football/teams

Betting Analytics Tools

Run prediction models on 10 years of historical data, xG stats, head-to-head records, and team form.

GET/football/matchesGET/football/teamsGET/football/players

Sports News Platforms

Enrich editorial content with team form, player profiles, competition data, and match reports.

GET/football/competitionsGET/football/players
AI Builder

Not sure where to start? We'll get you there fast.

Describe what you want to build and our AI generates a ready-to-use prompt for your favourite AI coding tool. No API knowledge needed. Just your idea.

New to APIs? Get up and running without needing to know the technical details.

Experienced dev? Skip the boilerplate and go straight to building.

1
Describe your idea
2
Answer a few questions
3
Use with any AI tool
Support_FAQ

Frequently Asked Questions

Everything you need to know about TheStatsAPI

Sign up for a 7-day free trial. You'll get instant access to your API key and all endpoints. You can test every endpoint using our interactive API Tester or grab copy-paste snippets in cURL, JavaScript, and Python.
We cover competitions, teams, players, and matches across 80 competitions by default, with up to 1,196 available on request. Each match can include live and finalized stats like possession, shots, cards, goals, xG, and more. We also provide live realtime and pre-match betting odds from Bet365, Pinnacle, Betfair Exchange, and Kambi across markets including 1X2, Asian handicap, over/under, BTTS, draw no bet, and corners - with opening and closing lines included. Player and team stats are available per season with full historical depth.
Live realtime odds and match stats are available during eligible matches. Finalized match statistics, events, player data, and xG are verified after full time and typically settle within 1-2 hours of the final whistle.
All responses are in JSON format via a standard REST API. There's no SDK needed. Just make HTTP requests from any language or framework. We provide code snippets you can copy straight into your project or AI code editor.
Yes, we have historical data going back 10 years for major leagues. The depth varies by competition, and all plans include full access to historical data.
Absolutely. All paid plans (Starter, Growth, and Scale) allow commercial usage. For high-volume commercial applications, we recommend our Scale plan which includes higher rate limits and priority support.
Requests beyond your monthly limit will return a 429 status code. You can upgrade your plan at any time to increase your limits. Changes take effect immediately.
We cover 80 competitions across 100+ countries by default, from top-tier leagues like the Premier League, La Liga, and Bundesliga to lower divisions and international tournaments. We can extend coverage up to 1,196 competitions on request.
We offer three plans (Starter, Growth, and Scale) each with a 7-day free trial. All plans include access to every endpoint and all features. Plans differ by monthly request limits and rate limits to match your usage needs.

Still have questions?

Our support team is here to help you get started.

Email Support

Avg. response 1-2 hours

Get_Started

Ready to Power Your Sports App?

Start your 7-day free trial. All endpoints included on every plan.

Cancel anytime
7-day free trial
Setup in 5 minutes