KICKOFFAPI / COMPARE / API-FOOTBALL

KickoffAPI vs API-Football

API-Football is the most established football API on the market and a genuinely good product. This page sets the two side by side on the things that decide a long integration — requests per dollar, what the free key can actually reach, and where the data comes from — including the tier where API-Football wins.

AT A GLANCE

Side by side

FeatureKickoffAPIAPI-Football
Free tier100 req/day, real-time, full seasons100 req/day, seasons limited
At $19/month20,000 req/day7,500 req/day
At $39/month100,000 req/day150,000 req/day
Highest published plan500,000 req/day ($99)150,000 req/day ($39)
Own xG modelQueryable endpoint, versioned modelNot published
Data sourcingOwn reconciled store, origin on every rowNot published

Both products' figures taken from their public pricing pages, 24 September 2026. Product names are trademarks of their respective owners. If anything here is out of date, tell us and we will correct it.

THE ACTUAL RESPONSE

What you parse

The fastest way to judge an API is to read one response. This is a real, unedited KickoffAPI call — Liverpool v Bournemouth, Premier League, matchday one of 2025.

REAL RESPONSE — v2 fixtures200
$ curl -G "https://api.kickoffapi.com/api/v2/fixtures" \
    -d "league=39&season=2025&limit=1" -H "x-api-key: YOUR_KEY"

{
  "data": [{
    "id": "fx_j3AR8hjl9tRa",
    "date": "2025-08-15T20:00:00.000Z",
    "status": { "long": "Match Finished", "short": "FT" },
    "league": { "id": "lg_49706223160bbba4", "name": "Premier League" },
    "home":   { "id": "tm_8d1cf3beebe33484", "name": "Liverpool FC" },
    "away":   { "id": "tm_3b1b1f15d2ccae5e", "name": "AFC Bournemouth" },
    "score":  { "home": 4, "away": 2, "halftime": { "home": 1, "away": 0 } },
    "source": "owned"
  }],
  "meta": { "count": 1, "nextCursor": "1", "source": "owned" }
}

Three things worth noticing, because they are what you live with for the next two years:

Rate limiting is on the response too, not buried in a dashboard — x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset come back on every authenticated call, so your client can back off on its own. Live matches come from the same endpoint with ?live=all.

WHERE THE DATA COMES FROM

The question nobody asks until it matters

Most football APIs, including some very good ones, are a layer over a single upstream data supplier. That works until the day it does not — the supplier reprices, loses a licence, changes a schema, or goes down — and every product built on top inherits the problem at once.

KickoffAPI is built the other way round. We maintain our own reconciled store of football history, assembled from several independent sources and cross-checked against each other, and we use a commercial feed only to fill what we cannot yet own. That is why every row carries a source field: you can see, per record, which store produced it.

It is not a feature you will use on day one. It is the reason the integration you write this month still returns the same shape in two years, and for anything you intend to run as a business, that is worth more than a cheaper request.

WHICH ONE FOR YOU

The honest verdict

CHOOSE KICKOFFAPI IF

You are building something that has to keep working

You want a free tier you can genuinely prototype on — real-time and the full season range, not a sample. You want a queryable xG model and per-match projections without buying a second vendor. You need more than 150,000 requests a day. Or you would rather your product's data did not depend on one supplier's contract.

API-FOOTBALL MAY SUIT YOU BETTER IF

Your volume sits at the $39 mark

Their Mega plan is 150,000 requests a day for $39 against our 100,000 at the same price — if raw request count in that band is your binding constraint, they are the better buy and we would rather tell you than have you find out. They are also long-established with a large community, and if you are already integrated and content, there is no urgent reason to move.

FAQ

Frequently asked questions

Is KickoffAPI cheaper than API-Football?

At the entry tier, yes: both charge $19 a month and KickoffAPI includes 20,000 requests a day against API-Football's 7,500 — about 2.7× more. At $39 the comparison reverses: API-Football's Mega plan includes 150,000 requests a day and our Pro plan includes 100,000. Above that, our Ultra plan is 500,000 a day for $99, which their published tiers do not reach.

What is the difference between the free plans?

Both give 100 requests a day and neither asks for a card. The difference is what the key can reach: API-Football states that free plans are limited in terms of available seasons, while our free tier returns real-time scores across the full season range. You can verify that in about a minute without giving us anything.

What do I get beyond fixtures and scores?

A queryable xG model at /api/v2/xg with its version returned alongside the value, per-match projections at /api/v2/fixtures/{id}/projection, Elo-based ratings, form guides and season simulations. These are computed in house rather than resold, which is why they are on every plan rather than an add-on.

Can I migrate without rewriting everything?

Our v1 surface is deliberately api-football-shaped, so an existing integration can usually be pointed at KickoffAPI with a base URL and a key change. v2 is the native surface with the cursor envelope and prefixed ids shown above, and you can move to it later at your own pace.

Try it against your own use case

100 requests a day, real-time, no card. The fastest way to settle a comparison is to run both.