Free tier · no card · paid from $5/mo

Football API for Developers

One REST API for football (soccer) data: live scores, fixtures and results, standings, match statistics and bookmaker odds — including the corner, card and Asian-handicap markets other APIs leave out. Clean JSON, a free key in under a minute, paid plans from $5/mo.

60 requests / hour on the free tier · live in under a minute

GET /v1/fixtures?status=live
curl https://api.5dollarfootballapi.com/v1/fixtures?status=live
  -H "Authorization: Bearer fb_live_your_key"
{
  "success": 1,
  "data": [
    {
      "id": 197590518,
      "league": { "id": 1, "name": "Premier League" },
      "teams": {
        "home": { "id": 45, "name": "Arsenal" },
        "away": { "id": 51, "name": "Chelsea" }
      },
      "kickoff_utc": "2026-08-22T16:30:00+00:00",
      "status": "in_play",
      "goals":   { "home": 2, "away": 1, "half_home": 1, "half_away": 0 },
      "corners": { "home": 7, "away": 3, "half_home": 4, "half_away": 1 },
      "cards": {
        "home": { "yellow": 1, "red": 0 },
        "away": { "yellow": 2, "red": 0 }
      }
    }
  ]
}
Data types

Everything in the football API

Each data type has its own page with the endpoint, a sample response and what it covers.

Live Scores API

Poll real-time football scores, in-play status, goals, corners and cards across thousands of competitions (full coverage...

GET /v1/fixtures?status=live

Fixtures API

Fixtures and results by date, league or season, with goals, corners and cards on every row. From $5/mo.

GET /v1/fixtures?start_time=1783814400

Standings API

League tables by season — plus corner and card league tables you will not find on other cheap APIs. From $5/mo.

GET /v1/standings?league=39&type=total

Statistics API

Live match statistics: attacks, dangerous attacks, shots on/off target and possession — full-time and first-half. From $...

GET /v1/fixtures/{id}/statistics

Football Odds API

One endpoint for European 1X2, Asian handicap, goal line, corner and card odds — pre-match and in-play, with opening, cu...

GET /v1/fixtures/{id}/odds

Corner Stats API

The corner data other APIs skip: full-time and half-time corner counts, corner-line odds, timestamped corner events, and...

GET /v1/fixtures/{id}/odds?market=corner

Asian Handicap Odds API

Asian handicap lines with opening, closing and in-play values — for goals and corners. From $5/mo.

GET /v1/fixtures/{id}/odds?market=asian

Goal Line Odds API

Over/under goal lines with opening, closing and in-play values across thousands of competitions (full coverage on Ultra)...

GET /v1/fixtures/{id}/odds?market=goalline

Cards API

Yellow and red cards per fixture, plus card league tables ranking teams by bookings. From $5/mo.

GET /v1/standings?league=39&type=card
Any language

Call the football API from anything with an HTTP client

Plain REST and JSON — no SDK required. Send your key as a Bearer header and read the response. Official clients exist for Python and Node.js if you want typed errors, retries and pagination handled for you.

curl "https://api.5dollarfootballapi.com/v1/fixtures?status=live" \
  -H "Authorization: Bearer fb_live_your_key"
import requests

r = requests.get(
    "https://api.5dollarfootballapi.com/v1/fixtures",
    params={"status": "live"},
    headers={"Authorization": "Bearer fb_live_your_key"},
)
for m in r.json()["data"]:
    print(m["teams"]["home"]["name"], m["goals"]["home"], "-", m["goals"]["away"], m["teams"]["away"]["name"])
const res = await fetch("https://api.5dollarfootballapi.com/v1/fixtures?status=live", {
  headers: { Authorization: "Bearer fb_live_your_key" },
});
const { data } = await res.json();
for (const m of data) {
  console.log(m.teams.home.name, m.goals.home, "-", m.goals.away, m.teams.away.name);
}
$ctx = stream_context_create(['http' => [
    'header' => 'Authorization: Bearer fb_live_your_key',
]]);
$json = file_get_contents('https://api.5dollarfootballapi.com/v1/fixtures?status=live', false, $ctx);

foreach (json_decode($json, true)['data'] as $m) {
    echo "{$m['teams']['home']['name']} {$m['goals']['home']}-{$m['goals']['away']} {$m['teams']['away']['name']}\n";
}

Every endpoint

15 endpoints, all returning paginated JSON. Each links to its reference with parameters and a sample response.

List fixtures GET /v1/fixtures
Get a fixture GET /v1/fixtures/{id}
Fixture odds GET /v1/fixtures/{id}/odds
List bookmakers GET /v1/bookmakers
Odds movement history GET /v1/fixtures/{id}/odds/history
Fixture events GET /v1/fixtures/{id}/events
Fixture statistics GET /v1/fixtures/{id}/statistics
Standings GET /v1/standings
List countries GET /v1/countries
List leagues GET /v1/leagues
Get a league GET /v1/leagues/{id}
League fixtures GET /v1/leagues/{id}/fixtures
Get a team GET /v1/teams/{id}
Team fixtures GET /v1/teams/{id}/fixtures
Account status GET /v1/status

What's on every fixture

  • Goals, corners and cards — full-time and half-time
  • Live in-play statistics: attacks, shots, possession
  • Odds with opening, closing and in-play values — never deleted
  • Corner-line, Asian-corner and card-line markets no other cheap API carries
  • Team, league and country names in 21 languages via ?lang=
  • Transparent X-RateLimit-* headers on every response

Plans at a glance

  • Free — $0 · 60 requests / hour · top-5 leagues, no odds
  • Pro — $5/mo · 10 requests / min · 137 competitions with full bet365 odds
  • Ultra — $25/mo · 40 requests / min · all leagues, 19 bookmakers, history to 2014
Full pricing →
Coverage

The competitions behind the API

Free covers the five big European leagues. Pro adds the top flight in 84 countries, 34 second divisions and the continental cups. Ultra covers all 1,600+ leagues and cups.

Use cases

What developers build with the football API

01

Live score apps & match centres

Poll one endpoint for every in-play match, then pull events, statistics and odds per fixture.

02

Betting & prediction models

Results and odds back to 2014 — opening, closing and in-play lines, with tick-level history on Ultra — for building and backtesting models.

03

Fantasy & stats products

Season tables, team form and per-match statistics, plus corner and card league tables for the markets fantasy sites usually skip.

04

Media, dashboards & widgets

League fixture lists, tables and team names in 21 languages, ready to render on a site or in an internal dashboard.

Frequently asked questions

A football API is a web service that returns football (soccer) data as JSON over HTTP — fixtures, live scores, standings, match statistics and bookmaker odds — so you can build apps, models and dashboards without scraping. You authenticate with a key, call an endpoint such as /v1/fixtures, and get structured data back.

It depends on the coverage, odds depth, history and price you need. We keep an honest comparison of the main providers, us included. The short version: we bundle the odds, corner and card data others price separately, from $5/mo.

Compare the best football APIs

Yes. A free key covers the five big European leagues with live scores, fixtures and standings at 60 requests / hour, no card required. Odds and the wider league list start at $5/mo.

Free football API

JSON, every time, with a top-level success flag. Fixture rows carry goals, corners and cards for full time and half time; the odds endpoint returns 1X2, Asian handicap, goal line, corner and card markets with opening, closing and in-play values. Team, league and country names are available in 21 languages via ?lang=.

The free tier covers the five big European leagues. Pro ($5/mo) covers 137 competitions — the top flight in 84 countries, 34 second divisions and the continental cups. Ultra ($25/mo) covers all 1,600+ leagues and cups.

Full league list with ids

A different business model, not different data. We run on thin margins and make it work on volume — pricing for every developer, not a handful of premium accounts. That is also why there are no add-ons or per-league packs: one flat price keeps the model simple. The price is not a teaser or an introductory rate; it is how the business is built.

European 1X2, Asian handicap, goal line (over/under), corner line, corner Asian handicap, card lines and both teams to score (BTTS) — pre-match and in-play, with opening, current and live values. Bet365 comes with every paid plan, and 18 more bookmakers are available on Ultra.

See what every bookmaker carries, per market

Yes, and no credit required: build the data into commercial websites, apps, models and internal tools, display scores, statistics and odds to your end users, and cache responses to serve them faster. The one hard line is reselling or redistributing the raw data itself as a competing data feed — that is not allowed.

The full usage terms, in plain English

Start building for free

Get a working API key in under a minute. No credit card, no sales call.