73.8M listings
Every country's schedule under one key, one shape and one set of ids.
GET /v1/now
What every channel in a country is showing this minute, with the next programme after it.
MIT, no lock-in
Every lab tool reads only the public API with your own key, so it runs on the free key.
Working normally
Checked every minute from outside our own servers.
The full schedule in Europe/Zurich time, what is on now and next, and the same data in your app with one call. Search any past day on the Archive plan.
All times Europe/Zurich. The same day from the API: GET /v1/channels/ch_bcfnmgc4/schedule?date=2026-10-14&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | World Snooker Tour: Wuhan Open: FinaleIl World Snooker Tour fa tappa in Cina, nel distretto di Qiaokou, dove va in scena il Wuhan Open, quest'anno in calendario dal 23 al 29 agosto. | 1h 30m | ||
| 01:30 | Mondiale Endurance: 6 ore di Spa-Francorchamps: GaraDal Circuito di Spa-Francorchamps, Stavelot, Belgio. | 1h 30m | ||
| 03:00 | World Snooker Tour: Wuhan Open: FinaleIl World Snooker Tour fa tappa in Cina, nel distretto di Qiaokou, dove va in scena il Wuhan Open, quest'anno in calendario dal 23 al 29 agosto. | 2h | ||
| 05:00 | UCI Class 1: Donne: Eneco Tour: PrologoTutte le azioni del'UCI Women's Class 1. | 2h | ||
| 07:00 | World Snooker Tour: Wuhan Open: FinaleIl World Snooker Tour fa tappa in Cina, nel distretto di Qiaokou, dove va in scena il Wuhan Open, quest'anno in calendario dal 23 al 29 agosto. | 1h 30m | ||
| 08:30 | Mondiale Endurance: 6 ore di Spa-Francorchamps: GaraDal Circuito di Spa-Francorchamps, Stavelot, Belgio. | 2h 5m | ||
| 10:35 | UCI Class 1: Donne: Eneco Tour donne: 1a tappaTutte le azioni del'UCI Women's Class 1. | 1h 40m | ||
| 12:15 | AtleticaSegui il meglio delle gare di atletica. | 1h 15m | ||
| 13:30 | UCI WorldTour: Uomini: Il LombardiaTutte le gare del UCI WorldTour, il ciclismo su strada maschile d'élite. | 50m | ||
| 14:20 | UCI Class 1: Donne: Eneco Tour donne: 1a tappaTutte le azioni del'UCI Women's Class 1. | 1h 40m | ||
| 16:00 | UCI ProSeries: Uomini: Giro del Veneto - Verona - Vicenza (176 km)Tutte le gare del UCI ProSeries, il ciclismo su strada maschile alle spalle dell'UCI World Tour. | 45m | ||
| 16:45 | Mondiali di ciclismo su pista 2026: 1a giornataDa Shanghai, Cina. | 1h 30m | ||
| 18:15 | UCI Class 1: Donne: Eneco Tour donne: 1a tappaTutte le azioni del'UCI Women's Class 1. | 45m | ||
| 19:00 | ArrampicataL'IFSC cambia nome e si prepara alla stagione 2026. Al via l'era della World Climbing Series, con direzione Los Angeles 2028. | Guiyang: Speed staffetta: Finale | 1h | |
| 20:00 | World Snooker Championship 2026Il torneo internazionale più antico e prestigioso di Snooker per 17 giorni vede sfidarsi i migliori giocatori del mondo nella splendida cornice del... | 1h 30m | ||
| 21:30 | Spirit of YachtingGli eventi più emozionanti nel mondo della vela raccontati in questo magazine attraverso le storie umane dietro la gara e svelando la passione e la... | 30m | ||
| 22:00 | Mondiale Endurance: 6 ore di Spa-Francorchamps: GaraDal Circuito di Spa-Francorchamps, Stavelot, Belgio. | 2h |
Copy, add your key, run. The free key reads yesterday and today on every channel, 500 calls a day.
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_bcfnmgc4/schedule?date=2026-10-14&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_bcfnmgc4/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_bcfnmgc4/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_bcfnmgc4/schedule?date=2026-10-14&tz=Europe/Zurich"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("TVG_KEY")], ]); foreach (json_decode(curl_exec($ch), true)["data"] as $slot) { echo $slot["start"], " ", $slot["title"], "\n"; }
const r = await fetch("https://api.tvguideapi.com/v1/channels/ch_bcfnmgc4/schedule?date=2026-10-14&tz=Europe/Zurich", { headers: { Authorization: `Bearer ${process.env.TVG_KEY}` }, }); const { data } = await r.json(); data.forEach(s => console.log(s.start, s.title, s.flags.live ? "LIVE" : ""));
import os, requests r = requests.get( "https://api.tvguideapi.com/v1/channels/ch_bcfnmgc4/schedule", params={"date": "2026-10-14", "tz": "Europe/Zurich"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_bcfnmgc4/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_zpkd4cv3", "channel": "ch_bcfnmgc4", "start": "2026-10-13T22:00:00Z", "stop": "2026-10-13T23:30:00Z", "title": "World Snooker Tour: Wuhan Open: Finale", "sub_title": null, "description": "Il World Snooker Tour fa tappa in Cina, nel distretto di Qiaokou, dove va in ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 17, "date": "2026-10-14", "tz": "Europe/Zurich" } }
What was on, on any date we hold: for research, catch-up, clip finding or proving a broadcast. Any window up to 31 days with /v1/channels/{id}/history on the Archive plan.
| Time | Monday 13 October 2025 | Category |
|---|---|---|
| Nothing held for that day. Try another date. | ||
8 calls cover a channel from its details to its past. Each one opens in the documentation with Try it.
A free key in a minute, with Google. No card. Yesterday and today on every channel in 150 countries.