/compare · foot.io vs Sportmonks

foot.io vs Sportmonks

Sportmonks sells licensed football data in league-scoped plans, roughly €29 to €249 a month, with add-ons that stack on top. foot.io sells one flat key — $19 or $79 a month — with no gating between tiers: the cheapest paid key reads exactly the same rows as the most expensive one. Those rows are the ones we can defend a right to redistribute — 733,863 of the 1,177,209 matches we hold, earliest 1871, measured 10 August 2026. The pricing shapes differ because the underlying rights differ, and that is the honest heart of this comparison.

Written by foot.io. Sportmonks figures are from their public pricing pages, checked 28 Jul 2026; plan scopes change, so price your own basket there.
foot.io figures were measured against our production database, most recently on 10 Aug 2026.

The short version

read this bit if you read nothing else

League gating gets attacked a lot in comparison pages written by people who do not license data. We are not going to do that. Licensed coverage costs money per league, so charging per league is a coherent thing to do, and it buys the customer something real: contractual depth on the leagues they paid for. If you need one league covered completely and reliably next season, a plan with a contract behind it is a better instrument than our measured-but-uneven depth.

Our flat price is not a clever business model Sportmonks failed to think of. It is what is available to us given where our data comes from — much of it public, compiled or open, some of it cleared for sale source by source, and some of it withheld because it is not. That buys you breadth and history very cheaply. It does not buy you a guarantee, and we will not sell you one.

Sportmonks Choose Sportmonks when…

  • You need guaranteed depth on specific leagues — bought, contracted and supported, not measured after the fact.
  • You need in-play data. We poll fixtures every five minutes from one machine; that is not a livescore product.
  • You want predictions and odds as licensed products with a supplier standing behind them.
  • You need redistribution rights you can show a lawyer. For a commercial buyer this is the most important line on the page.
  • You need a company: support, SLAs, procurement, a roadmap that does not depend on one person's evenings.

foot.io Choose foot.io when…

  • Your work is cross-league and a plan matrix is the wrong shape — one key reads the whole served set, 763 competitions, no add-ons.
  • You need history, not this season. Earliest recorded match 11 Nov 1871.
  • You are backtesting: 6.2M pre-match odds quotes keyed on our match id — 49,929 odds matches join to a result every tier can read.
  • You want identifier translation between providers — free and never metered.
  • You are building an LLM agent and want MCP rather than a REST client you maintain yourself.
  • You want to read the coverage numbers before you buy, including the bad ones.

Side by side

capabilities · theirs checked 28 jul 2026 · ours measured 6 aug 2026
Capabilityfoot.ioSportmonks
Published price$0 free · $19/mo Indie · $79/mo Pro · Enterprise on requestRoughly €29–€249/mo depending on plan
Plan structureFlat. Tiers differ on request volume onlyScoped by league, with add-ons that stack on the base plan
League gatingNone between tiers — the cheapest paid key reads exactly the same rows as the most expensive one. The served set itself (763 of the 926 competitions we hold) is defined by licence, not by plan — see Redistribution rightsYes, by design: you buy the leagues you need
Depth guaranteeNone. We publish measured fill rates insteadContractual on purchased leagues — better than us
Redistribution rightsPartial, and enforced by a licence gate since 29 Jul 2026: every tier reads 733,863 of our 1,177,209 held matches (62.3%), 42.9% of held events, 32.9% of held lineups, measured 10 Aug 2026. Top-five-league depth, transfers, shot-level data and market values are withheld, not soldLicensed supplier — much stronger than us
Competitions926 held with at least one recorded match; 763 serve at least one match, identical at every paid tier (measured 10 Aug 2026)Large catalogue, available per plan and per add-on
Earliest match11 Nov 1871Modern era; check per-league season availability
Live data~5-minute poll, single self-hosted runnerIn-play products — better than us
Historical odds6,222,372 pre-match quotes over 130,550 matches, 21 competitions, 7 bookmakers, 2000–2026; 49,929 odds matches join to a result every tier can read (measured 10 Aug 2026). A research convenience, not a licensed feedLicensed odds and prediction products
Query modelPostgREST — filter, order and embed related rows in one requestREST with an includes syntax for related entities
Agent / MCP accessDeployed MCP server, 31 tools, every paid tierREST only; you write the tool layer
Cross-provider ID resolutionresolve_entity translates ids from Transfermarkt, FBref, Wikidata, Sofascore, API-Football and others. Free, never meteredTheir own ids
Coverage transparencyPer-competition, per-season fill rates on a public endpoint, gaps includedDocumented league and feature availability per plan
MaturityClosed beta, solo developer, no SLA on self-serve tiersEstablished company with support — ahead of us

A note on the price row: those are different currencies and, more importantly, different things. €29 of Sportmonks is a defined, licensed, supported scope. $19 of foot.io is everything we can defend a right to re-serve, unguaranteed, from a beta. Compare the fit, not the number.

What we are not good at

the part most comparison pages leave out

We cannot sell you licensed depth in the leagues you are most likely to want it. Since 29 Jul 2026 a licence gate enforces our redistribution rights on every tier, and clearances have kept landing: as of 10 August 2026 we re-serve full match depth — result plus events plus lineups — for 37,998 matches across 164 competitions. But read where those are: MLS, Argentina's Primera Nacional, Spain's Primera División RFEF, Austria's Regionalliga, Japan's J2/J3 League. In the Premier League, Serie A, La Liga, the Bundesliga, Ligue 1 and the Champions League, the events and lineups we hold come from sources we have no right to re-serve, so we sell none of them. Sportmonks can sell you those. We cannot, and no amount of paying us changes it. Player market values and injury records remain off the API surface entirely — in no tier, at any price — and transfers and shot-level data, xG included, pass the gate for zero rows. If your buyer asks where the data comes from and expects a licence in the answer, buy from a licensed supplier.

Depth is uneven and we publish it that way. Roughly half of played current-season matches carry events, roughly a third carry lineups — 40,775 and 26,123 of 79,698, measured on 6 August 2026. Across the whole database, events we can defend a right to re-serve are 42.9% of what we hold and lineups 32.9% (measured 10 August 2026). The leagues you would expect are much better than that on raw coverage and much worse on rights. A Sportmonks plan tells you what you are getting before you start. We tell you what we have and let you check it.

Live is not our product. Five-minute polling from a single self-hosted runner. Do not build an in-play feature on it.

We are one person in closed beta. No support rota, no SLA on self-serve tiers, checkout not yet open. That is a genuine risk to a commercial buyer and it belongs in your decision.

What we are good at

measured 6 aug 2026, production database
1,177,209
matches held, earliest 11 Nov 1871 · every tier reads 733,863
926
competitions held · 763 serve at least one match, no tier gating
6.22M
pre-match odds quotes, 130,550 matches
31
MCP tools, every paid tier

No plan matrix. If your question spans thirty leagues and four decades, a per-league plan is the wrong shape and you will end up buying add-ons to answer one question. Our cheapest paid key reads exactly the same rows as the most expensive one; tiers differ only in how many requests you may make. What the rows are is set by our licence gate, identically for everyone.

History that per-league licensing rarely reaches. Licensed feeds are excellent at the modern era and thin before it, because that is what the rights cover. Our spine is compiled and open historical data — exactly the part nobody licenses. If you need 1889 as well as 2026, that asymmetry is the whole argument.

Identifier translation as a free primitive. resolve_entity takes a Transfermarkt id, an FBref id, a Wikidata QID, a Sofascore id or a plain name, and returns our canonical entity with every other provider identifier we hold, plus the match method and a confidence score. It serves identifiers and names only — never stats — so it is never billed and never counts against a quota. 304,915 of our 305,434 players carry at least one external identifier (measured 6 Aug 2026). Use it to bolt our history onto a licensed feed you already buy.

Coverage you can audit before you commit. Per-competition, per-season fill rates are public and unauthenticated, and the erratum logs corrections when we get something wrong.

Check it yourself

no key required · this is the query that would catch us lying

Pick the leagues your product actually needs and read the fill rates season by season before you talk to us. If a number on this page disagrees with what the endpoint returns, the endpoint is right and we owe you a correction.

# per-season lineup / event / player-stat coverage for one competition. # no foot.io key needed. FOOTIO_ANON is the public project key printed in # the quickstart at https://foot.io/docs#quickstart — copy it from there. export FOOTIO_ANON=... curl -s "https://amidfjrgsztslrpeaiec.supabase.co/rest/v1/competition_season_coverage\ ?competition_name=eq.Eredivisie&order=season_name.desc&limit=10\ &select=season_name,played_count,pct_lineups,pct_events,pct_player_stats" \ -H "apikey: $FOOTIO_ANON"

Two footnotes on that query. It returns fill rates of what we hold; the licence gate then decides how much of that any key reads (see the redistribution row above). And filtering by name works here only because exactly one competition is called Eredivisie — 17 are called Premier League, so for ambiguous names filter on competition_id instead.

Sportmonks details are summarised from their publicly published pricing and documentation as checked on 28 Jul 2026; plan scopes and add-on structures change and this page will lag them. We have tried to state their advantages as plainly as our own. If anything here is wrong or out of date — theirs or ours — email hello@foot.io and we will correct it and log the change in our public erratum.
Join the closed beta waitlist → See pricing