How we check

Every fact here comes from public pages. This is where they come from, what "verified" means, and how to tell us when we're wrong.

Where the facts come from

We read each provider's own public pages. No accounts, no private information, no paid access. Facts are grouped, and each group has its own sources and check date: prices, free plan, league coverage and data types.

For example, football-data.org:

Every provider page lists its sources the same way, under Sources.

What "verified" means

In tables, ? (or "Not confirmed") means we couldn't find it on public pages. It doesn't mean "no". – means the vendor says it isn't offered.

Today: prices checked on the vendor's page for 8 of 17 providers, free plans for 8, league coverage for 2. Data types are from our first research for all 17.

A script flags when a vendor's source page changes. A person re-checks it before anything changes here, and every change goes in the changelog.

Two sources: how sure we are

Each group of facts also says who backs it up. There are three levels:

The vendor's own page is always required. What counts as independent:

Today, across 17 providers × 4 groups: 0 of 68 confirmed by vendor + 1 independent source, 57 of 68 vendor page only, 11 of 68 not confirmed.

Each provider page shows the level next to each group's check date. The API and MCP server include it as confidence for each fact group.

Daily reachability checks

Once a day we request one public address per provider and record whether it answered and how fast. For most providers that's a public page (a status page, docs or homepage), so it shows the site is reachable, not that the API works. The 3 with a keyless API or open-data endpoint get no separate reachability request: the live API check below already calls them.

That's at most one request per provider per day for this check, plus each site's robots.txt at most once a week. We don't follow redirects, and a repeat run on the same day sends nothing.

Exactly what we check, and what we don't

Daily live API checks

For 7 providers we also make one real API call a day and check that the answer contains real football data, not just a 200. Four of them need a key: we use free-plan keys only. The other three are keyless.

What it proves: that day, the free tier (or keyless endpoint) answered one request with real data for a competition it covers.

What it doesn't: paid-plan coverage, other leagues or endpoints, data freshness or accuracy, uptime, or the speed you'd get. It's one call from Cloudflare's network once a day, not monitoring.

The other 10 providers only get the page reachability check above: a real test would need a trial or a paid plan, and we don't use either.

API-Football's free plan currently shows an end date of 2027-10-19 on its account status. Results: provider pages ("Live API check: OK today"), checks.json (liveApi) and the MCP provider_health tool. Endpoints and fields

Spotted an error?

Email hello@footballapis.com with the page and what's wrong. We re-check it on the vendor's page, fix it and log it in the changelog.