Football API
Football APIs from vitorxp.com.
Football endpoints using the same account-wide API quota as the rest of vitorxp.com.
Base URL
/api/v1
Status
Live
Automatic sync
45s
Football only: scores, matches, leagues, teams, status and times with automatic sync. The quota is account-wide, not per app.
- Auth
- x-api-key
- Quota
- 150/day · 25k/month
- Response
- JSON
Endpoints
GET /api/v1/football/quota
GET /api/v1/football/now
GET /api/v1/football/live
GET /api/v1/football/today
GET /api/v1/football/upcoming
GET /api/v1/football/matches?date=YYYY-MM-DD&league=bra.1
GET /api/v1/football/match/:id
GET /api/v1/football/leagues
GET /api/v1/football/sources/status
Premium
Football Realtime Premium
Live
Realtime, SSE stream and manual sync are Premium features. Monthly usage has no cap; contact me if you need more than 100k/day.
- Auth
- x-api-key
- Quota
- 100k/day · unlimited monthly
- Response
- SSE / JSON
Endpoints
GET /api/v1/football/stream
POST /api/v1/football/sync
Automatic sync
The backend refreshes data on a fixed interval. No npm run sync needed.
curl -H "x-api-key: vx_your_key" https://vitorxp.com/api/v1/football/now
curl -H "x-api-key: vx_your_key" https://vitorxp.com/api/v1/football/stream
Examples
Use these endpoints from your backend, app or bot.
{
"ok": true,
"service": "vitorxp-football-api",
"scope": "football-only",
"mode": "live",
"count": 1,
"matches": [
{
"id": "espn-json-bra-serie-a-401",
"sport": { "id": "football", "name": "Football" },
"status": "LIVE",
"minute": 67,
"home": { "name": "Time A", "goals": 2 },
"away": { "name": "Time B", "goals": 1 }
}
]
}