Plans
Three plans, one progression: evaluate with Developer, analyse and integrate with Starter, then scale long-history training and backtesting with Pro.
The three plans
| Plan | Competitions | Verified history | Purpose | Status |
|---|---|---|---|---|
| Developer | 1 selected | Up to 7 rolling days | Free server-side integrations using the same endpoints and authentication. | Available |
| Starter v1 | Up to 20 selected | Up to 90 rolling days | Historical analysis and backtesting over up to 90 rolling days, integrations, output comparison, existing-model enrichment, and grouped requests. | Available |
| Pro | Coming soon | Coming soon | Planned long-history datasets for training, calibration, model comparison, and backtesting. | Coming later; no quota or date announced. |
Developer limits
Developer uses the same endpoints, authentication, and general response structure as Starter. Its limits are 2 requests per minute, 30 units per hour, 50 units per day, 100 rows per day, 1 concurrent request, up to 5 matches per grouped request, 1 selected competition change per month, and 1 active key.
Availability: Developer is an active free plan.
Developer request patterns
Developer uses the same bearer authentication, match identifiers, endpoints, and general response structure as Starter. Upgrading does not require a major integration rewrite.
Authorization: Bearer fs_developer_example_not_a_real_key
# Future list for the selected competition
GET /v1/leagues/PL/matches
# Verified history (maximum seven days)
GET /v1/leagues/PL/matches?start=2026-07-09&end=2026-07-16
# Detailed match payload
GET /v1/matches/123456
# Bulk request: at most five identifiers
POST /v1/matches/bulk
{"match_ids":[123456,123457,123458,123459,123460]}
- A non-selected competition returns
competition_not_selected. - A historical window above seven days is rejected by the plan entitlement.
- Rate-limit responses use HTTP
429; clients should respect the retry metadata.
Fields that require Starter
Developer includes match metadata, probabilities, the published pick, confidence, essential markets, historical results, simple flags, permitted summaries, and the exact ELO difference in detailed analytical payloads when available. A field documented for match detail is not necessarily present in list responses.
Some advanced fields are present in the schema but reserved for Starter. A null value paired with
starter_required is an entitlement boundary, not an accidental data error.
{
"ratings": {
"elo_home": null,
"elo_away": null,
"elo_difference": 70.55
},
"availability": {
"ratings.elo_home": "starter_required",
"ratings.elo_away": "starter_required"
}
}
Where Starter stops and Pro begins
Starter is aimed at developers who want to integrate Foresportia analytics into a product, compare outputs, rank upcoming matches, backtest up to 90 rolling days, or enrich an existing model. It is not positioned as a training corpus for building an AI from scratch. See Use Core Analytics with your model.
The upcoming Pro offer is positioned for building and training a football AI with planned long-history, machine-learning-ready datasets, verified pre-match snapshots, calibration, and backtesting.
Developer and Starter are available. Pro remains a future offer with no public launch date.