Every football data API sells you the same promise: endpoints full of matches, players, and stats. The differences that actually hurt you show up three months in: a licence that forbids the product you built, a "historical archive" that starts in 2022, xG that turns out to be somebody's model instead of Opta's, or a live feed priced like one when you only needed yesterday's games.
Before you compare vendors, ask these five questions. They are the five we answer on every sales call, so we will answer them here too.
1. What does the licence let me do?
This is the question that ends projects. Two buckets matter: what you can build (commercial licence for production apps, dashboards, models, published research) and what you can redistribute (raw rows to third parties, which almost every vendor restricts).
On Dribble: commercial use is permitted on API Elite ($49/mo) and Flite ($149/mo). Personal and research use is permitted on all paid plans, including Lite ($19/mo). Raw-data redistribution is never included by default on any plan and requires a separately signed order form and data-licence addendum (our Terms, sections 6 and 8). Publishing your analysis and derived outputs, without raw rows, is fine on the plan that matches your use.
If your product earns revenue, read the licence line before the pricing line. The cheapest API with the wrong licence is the most expensive one.
2. How deep is the data?
There are three levels of football data. Level one is results: scores, fixtures, standings. Level two is aggregates: shots, possession, xG per team per match. Level three is events: every on-ball action with XY coordinates and qualifiers, from which you can compute anything.
Dribble operates at level three on the back end and serves all three through the API. The datasets: 90,582 players, about 210,000 player-match rows per season, about 12,000 team-match rows per season, 41,017 matches, 179,554 transfers, 72,299 managers, 180,774 referees, across 8 datasets, 31 competitions, and 6 completed seasons (2020/21 through 2025/26). The event data is sourced from Opta under licence, including pre-shot expected goals (Opta qualifier 321) and XY coordinates on every action.
Level-one data is a commodity and you should not pay level-three prices for it. We published an honest head-to-head with API-Football, the default choice for breadth and live scores, so you can see which level your product actually needs: API-Football vs Dribble.
3. What is actually covered, and how fresh?
Thirty-two competitions are ingested daily: the Premier League, the rest of Europe's top five leagues, the domestic cups, the Champions League, the Europa League, the Conference League, MLS, the Brasileirão, the Saudi League, the Turkish Süper Lig, the Eredivisie, Belgium's top flight, and more (full list on our pricing page, audited October 2026). Everything else in the Opta feed is available on custom one-time tiers, per competition per 10-season batch, delivered 1 to 3 days after payment with a quote and signed contract.
Freshness: Dribble is post-match, not live. API Elite refreshes daily after matches complete; Lite refreshes on a 72-hour cycle; trial keys last 3 days. If your product needs live scores, in-play incidents, or pre-kickoff lineups, say so early and buy from a live-feed vendor. We would rather lose you in this paragraph than in month three.
4. Can I see the schema before I pay?
Any vendor that will not show you the data before you pay is hiding something. Our subscriber workspace includes authenticated sample CSVs (player match stats and match events) with the full schema, and API trial keys are free for 3 days. The Downloads route starts at $9.99 a month if you want to poke the CSV format directly.
Check three things in the sample: that season parameters are explicit (our player-match and team-match endpoints require the season, e.g. "2025/2026"), that nulls are documented rather than silently zero-filled (ours are; our null-semantics guide says which is which), and that xG is Opta's pre-shot qualifier, not a house model.
5. What does it cost when I scale?
Price the year-two architecture, not the demo. Dribble's API: Lite $19/mo (1,000 calls/day, personal and research use), Elite $49/mo (5,000 calls/day, commercial licence, daily post-match refresh), Flite $149/mo (50,000 calls/day, white-label licence, webhooks, SLA). Rate limits reset at midnight UTC; keys are short-lived by design and managed from the subscriber dashboard. If you need a competition we do not ingest daily, the API Ultra custom tier adds it to your key in 1 to 3 days at $499 per competition per 10-season batch.
The routes compared
| Route | Entry price | What you get | Licence |
|---|---|---|---|
| API Lite | $19/mo | 8 datasets, 1,000 calls/day, JSON and CSV, 72-hour refresh | Personal and research |
| API Elite | $49/mo | 5,000 calls/day, daily post-match refresh | Commercial, for production apps |
| API Flite | $149/mo | 50,000 calls/day, webhooks, SLA, full biographical data | White-label commercial |
| BigQuery | From $49/mo | 57M+ event rows with Opta XY, queried with SQL from your own GCP project | Starter personal and academic; Pro and Max commercial |
| Downloads | $49 one-time | Legacy Archive: 10 CSV datasets, 6 completed seasons, files stay yours | Personal, research, and editorial |
The short version
If you need live scores and a thousand competitions, you want a breadth API. If you need Opta-sourced event data and xG for analysis, modeling, or a data product, that is what Dribble is. If you need six-figure enterprise contracts with a named account manager, we are not that either, and we will happily tell you so on a call.
Free sample: the API, in CSV form
See exactly what the data looks like before you touch an endpoint. The free sample CSV includes real 2026/27 player-match rows with xG and the full schema documentation.
Try the API for 3 days, free. Lite starts at $19/mo for personal and research use; Elite at $49/mo carries the commercial licence for production apps. See Plans and Pricing
Frequently Asked
What is the difference between the API, BigQuery, and Downloads? The API serves datasets per call for apps and scripts. BigQuery gives you the full dataset as tables you query with SQL from your own Google Cloud project. Downloads are CSV files (the Legacy Archive: 6 completed seasons, $49 one-time) that you keep forever.
Which plans allow commercial use? API Elite ($49/mo) and Flite ($149/mo), and BigQuery Pro ($149/mo) and Max ($499/mo). Commercial means building and selling apps, dashboards, models, and published research. Personal and research use is permitted on all paid plans.
Can I redistribute the raw data? No plan includes raw-data redistribution by default. It requires a separately signed order form and data-licence addendum (Terms, sections 6 and 8). Publishing your analysis and derived outputs, without raw rows, is covered by your plan's licence.
Is the xG really Opta's? Yes. The data is sourced from Opta under licence, and the expected goals values are Opta's pre-shot xG (qualifier 321). Post-shot xG is not yet live in our pipeline.
How fresh is the data? Post-match, never live. API Elite refreshes daily after matches; Lite refreshes on a 72-hour cycle; BigQuery Pro refreshes weekly and Max takes daily snapshots.
Can I test before I subscribe? Yes. API trial keys are free for 3 days, and the subscriber workspace includes sample CSVs (player match stats and match events) with the full schema.
What happens at scale? Rate limits reset at midnight UTC and are shared across the keys on your account. Flite raises the ceiling to 50,000 calls/day, and beyond endpoint scale the same data is available in BigQuery, where Google charges $5/TB after a 1TB monthly free tier.