Home/Developers

Football forecast API overview: a JSON match data feed

What the feed returns, how keys, versions and limits work, and how caching keeps requests low. The full integration guide comes with your account.

{
  "match": {
    "home": "Brentford",
    "away": "Liverpool",
    "probabilities": {
      "home_win": 0.4237,
      "draw": 0.2537,
      "away_win": 0.3226
    }
  }
}
JSON over HTTPSone record per match
A key per accountsent in a request header
Versionedchanges never break a version
Cache-friendlyETag and short cache lifetimes

A match

What one match looks like

The same record serves the next matches of a competition and a single match found by team names or by id. The values below are an illustration.

{
  "api_version": "v1",
  "match": {
    "fixture_id": "2026-10-17:Brentford:Liverpool",
    "competition": "premier_league",
    "date": "2026-10-17",
    "kickoff_utc": "2026-10-17T14:00:00Z",
    "status": "scheduled",
    "home": "Brentford",
    "away": "Liverpool",
    "probabilities": { "home_win": 0.4237, "draw": 0.2537, "away_win": 0.3226 },
    "goals": { "expected_home": 1.602, "expected_away": 1.373, "over_2_5": 0.5712, "btts": 0.6018 },
    "confidence": "high",
    "made_at": "2026-10-17T06:30:02Z",
    "insights": {
      "verdict": "Closely matched.",
      "form": { "home": { "results": "D L W W L", "points": 7 }, "away": { "results": "W W D W L", "points": 10 } },
      "output": {
        "home": { "unit": "xG", "scored": 1.4, "conceded": 1.3, "scored_rank": 9, "conceded_rank": 12, "of": 20 },
        "away": { "unit": "xG", "scored": 2.0, "conceded": 0.9, "scored_rank": 2, "conceded_rank": 1, "of": 20 }
      }
    },
    "notes": { "provisional": null, "newly_promoted": { "home": false, "away": false }, "less_certain": false },
    "absences": { "home": [ { "player": "A. Player", "status": "out" } ], "away": [] },
    "advance": null
  },
  "disclaimer": "PitchTensor forecasts are model-based analysis ... not predictions ..."
}

The fields

probabilities are the chances of a home win, a draw and an away win, and add up to 1. goals holds the goals expected from each side, the chance of over 2.5 goals and of both teams scoring. confidence says how much recent data both clubs have, and made_at is when the forecast was produced.

insights carries the verdict, the last five results of both clubs and what each scores and concedes per match, ranked against its league. notes flags provisional matches, newly promoted clubs and less certain forecasts. absences lists key players who are out, suspended or doubtful, for information. advance is the chance of going through a two-leg tie, empty otherwise.

Each of those blocks can be switched on or off for your account, and a block that is off is simply left out of the record. The disclaimer comes with every answer.

Keys, versions and limits

Built to be simple to run

A key per account

Requests carry the account's key. Keep it on your server; the card route never exposes it to visitors.

Versioned

The version is part of every address. A change that could break a client gets a new version.

A daily allowance

Each plan has a daily request allowance. The answers tell you when it is used up, and it resets at 00:00 UTC.

Caching built in

Answers carry an ETag, so an unchanged answer costs almost nothing. Probabilities change once a day, so polling every 30 to 60 minutes is enough.

Errors

Errors in plain words

CodeWhat it means
401The key is missing or wrong.
404No upcoming match for that request: it is not a next match yet, or it has been played.
409A team name fits several clubs; the answer lists them so you can choose.
429The daily allowance is used up. It resets at 00:00 UTC.

The card

Prefer not to build your own?

The ready-made forecast card goes on a page with one iframe, and uses the same account and allowance.

See the widget

Get the full integration guide

The guide for your developers (every call, parameter and example) comes with your account, together with a free 14-day pilot if you want one.

Get in touch

Talk to PitchTensor

Leave your email and PitchTensor will contact you with the integration guide and answer your questions. No commitment.

Thanks. PitchTensor will contact you soon.

// your email is used only to contact you about PitchTensor. No spam!