API Access

Build on FDVS data directly.

A real REST API covering the same fixtures, ratings, consensus and results shown across the platform — for anyone building their own tool, dashboard, or automation on top of it.

Available endpoints

GET

/v1/fixtures

Today's, tomorrow's, or weekend fixtures — consensus, kickoff time, and league, for any tracked competition. ?date=today|tomorrow|weekend&league=

GET

/v1/teams/:id/ratings

The full six-axis breakdown for a specific club — the same numbers behind that team's own analysis page.

GET

/v1/fixtures/:id/analysis

The complete match analysis for one fixture — odds comparison and market ratings, all in one response.

GET

/v1/results

Settled results for any date range. ?from=YYYY-MM-DD&to=YYYY-MM-DD

GET

/v1/rankings/club

The current Club Rankings leaderboard. Use /v1/rankings/power for momentum-weighted Power Rankings instead.

GET

/v1/prime-picks

Today's live Prime Picks — fixture, market and odds for each, without the locked written analysis.

A sample request

Request

GET https://www.fdvs.org/v1/teams/1/ratings
Authorization: Bearer YOUR_API_KEY

Response

{
  "team_id": 1,
  "name": "Arsenal",
  "league": "Premier League",
  "country": "England",
  "matches_used": 8,
  "ratings": {
    "attack": 82.5,
    "defense": 75.3,
    "form": 68.1,
    "xg": 79.9,
    "set_pieces": 60,
    "discipline": 71.2
  }
}

A real response from this exact endpoint, using a real tracked team.

Authentication & rate limits

Auth methodAPI key, sent as a Bearer token in the Authorization header
Rate limit120 requests per minute, per key — enforced in real time, not advisory
Response formatJSON only
AvailabilityPro plan, one API key per account

Common questions

Where do I get an API key?

Once you're on Pro, generate a key from your account settings. Every request needs it in the Authorization header — requests without a valid key are rejected before hitting any endpoint.

What happens if I go over the rate limit?

Requests beyond 120 per minute return a real 429 rate-limit error rather than being queued or silently dropped — the response tells you exactly when the limit resets so you can back off and retry cleanly.

Can I get historical data, or only current fixtures?

The results endpoint accepts a real date range and returns settled fixtures for any period currently tracked — not limited to today's board.

Does the API include the locked Prime Pick analysis?

No — the Prime Picks endpoint returns the same public fixture, market and odds shown on the Prime Picks page. The written analysis itself is only available after unlocking that specific pick, the same as on the site.

Is there a sandbox or test mode?

Not currently — every request hits live data. Since all the underlying data is already free to view on the site itself, there's been less need for a separate sandbox than a typical payments API would require.

What happens if my plan changes after I generate a key?

The key stops working immediately once your account is no longer on Pro — every request re-checks your current plan, not just the plan you had when the key was created.

Build with real data.

API access is included with Pro — no separate add-on.

Start Pro →
Why an API, not just exports

Why API access is a different feature from data exports, not a bigger version of it

One gives you a fixed copy to keep; the other gives you a live feed to build against — different tools for genuinely different jobs.

Data Exports gives you a fixed snapshot to keep — a match report as it stood at one moment. The API gives you the same underlying data as a live, queryable feed, meant to be pulled automatically rather than downloaded manually.

Who the API is actually for

If you're building your own tool — a personal dashboard, a script that checks specific fixtures automatically — the API is built for that. Most people using FDVS will never need it, and that's completely fine.

Why the rate limit exists at all

120 requests per minute is generous for almost any reasonable use case. The limit exists to keep the API stable for everyone using it.

Why JSON only, no other formats

JSON is the practical default for a REST API — nearly every programming language and tool can parse it without additional setup.

Why Prime Pick's written case still stays locked via the API

The API mirrors the site's own access rules rather than creating a separate set of them — the written analysis is unlocked the same way regardless of whether you're viewing it on the page or querying it through the API.

Why this is included with Pro, not a separate paid add-on

Pro already includes the raw source-level detail and exportable reports — the API is the same underlying access, just queryable rather than manually exported.