RadarFutebol API
The RadarFutebol API delivers in JSON the live football matches shown on the panel: score, match clock, stats for both teams and, on the Complete plan, odds, probabilities, xG, the Score de Lances pressure index, stoppage-time forecast and history. It is the same source as the website, recalculated every 5 seconds.
Base URL and format
Every route lives under the address below, answers GET only and returns UTF-8 JSON.
https://www.radarfutebol.com/api
OpenAPI 3.1: https://www.radarfutebol.com/openapi.json
Authentication
Each API subscription creates a token, shown on the Payments page of your account (you can also generate a new token there, which revokes the old one). Send the token in the Authorization header on every call:
Authorization: Bearer <token>
Accept: application/json
The token is valid for the subscribed period. Each endpoint requires the plan shown in the table below; a token from another plan gets 403.
Endpoints
| Endpoint | Plan | Returns |
|---|---|---|
| GET /eventos-live-basico | Basic | Live matches: match id, country, competition, teams, full-time and half-time score, current minute and stats for each team (possession, shots, corners, dangerous attacks, penalties and cards). |
| GET /eventos-live | Complete | Everything in the basic version, plus pre-match and live odds, probabilities, xG, 5 and 10 minute Score de Lances and stoppage-time forecast. |
| GET /eventos-passados/{data} | Complete | Matches finished on the given date in YYYY-MM-DD format, with competition, teams and final score. |
| GET /dados-evento/{id} | Complete | Timeline of one match. The {id} is the id field returned by the live match endpoints. |
Rate limits, caching and errors
- Basic: 60 requests per minute. Complete: 180 per minute. Above the limit the response is 429 with a Retry-After header in seconds.
- Live data changes every 5 seconds. Polling faster returns the same content.
- Every response has an ETag. Send it back in If-None-Match and, if nothing changed, the response is 304 with no body.
- Every response carries the RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and RateLimit-Policy headers (IETF standard), plus the legacy X-RateLimit-* headers.
- Versioning: the current contract is version 1, sent in the API-Version header. New fields do not change the version. A breaking change ships as a new version, selected with the API-Version request header and announced by e-mail to subscribers; anything being retired first answers with Deprecation and Sunset headers.
- 401 means a missing, invalid or expired token: stop the loop and renew the subscription. After 60 responses with 401 in 10 minutes, the IP gets 429 until the window closes.
Example
curl -H "Authorization: Bearer $RADARFUTEBOL_TOKEN" \
-H "Accept: application/json" \
https://www.radarfutebol.com/api/eventos-live-basico
Plans and subscription
The Basic and Complete plans, with monthly and yearly prices, are on the API page. You subscribe on the website itself and the token is issued right away.
See API plansTechnical question? Write to [email protected].