Events
Sports events on TV by sport, league and day, in every country or only those on air where you are.
Paid plansLive data
GEThttps://api.tvguideapi.com/v1/events
Try itRuns the real call with your key
200 OK
Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
| sport | query | string | optional | A sport: football, cricket, basketball, rugby, tennis... | football |
| league | query | string | optional | A league id. | chinese-professional-baseball-league |
| date | query | date | optional | The day, YYYY-MM-DD. Defaults to today. | 2026-10-07 |
| country | query | string | optional | Only events on air in this country. | TH |
Request
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/events"
$ch = curl_init("https://api.tvguideapi.com/v1/events");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("TVG_KEY")],
]);
$answer = json_decode(curl_exec($ch), true);
const r = await fetch("https://api.tvguideapi.com/v1/events", {
headers: { Authorization: `Bearer ${process.env.TVG_KEY}` },
});
const { data, meta } = await r.json();
import os, requests
r = requests.get(
"https://api.tvguideapi.com/v1/events",
headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"},
)
data = r.json()["data"]
Sample response
{
"data": [
{
"id": "ev_d2bh99ey",
"sport": "football",
"league": {
"id": "chinese-professional-baseball-league",
"name": "Premier League"
},
"home": "Arsenal",
"away": "Chelsea",
"start": "2026-10-18T16:30:00Z",
"venue": {
"name": "Emirates Stadium",
"country": "GB"
},
"round": "Matchweek 8",
"live_on": 3
}
],
"meta": {
"count": 12,
"next": "c_8f21a0",
"took_ms": 41
}
}