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 UTC 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 UTC. The same day from the API: GET /v1/channels/ch_zccyfvrh/schedule?date=2026-10-12&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | Nazi's Diplomats: Dancing......with the Devil: In Nazi occupied France - Otto Abetz and Fernand de Brinon pushed Franco-German collaboration. A regime operated through terror ... | 1h 15m | ||
| 00:15 | WWII in Colour: Road to VictoryDunkirk: Germany prepares to capture the entire British army trapped at the port at Dunkirk, but Churchill and his commanders devise a daring strat... | 1h 5m | ||
| 01:20 | WWII in Colour: Road to VictoryBattle of the Atlantic: In September 1939 a German U-boat fires its first torpedo, setting in motion the longest continuous battle of the war. (Par... | 1h 5m | ||
| 02:25 | WWII in Colour: Road to Victory...Victory: The Invasion of North Atlantic: With Britain alone, Churchill realises maintaining control of the oil supply line through the Suez Cana... | 1h 10m | ||
| 03:35 | WWII in Colour: Road to VictoryBattle of Kursk: In the aftermath of his defeat at Stalingrad, Hitler knows he must deliver a knockout blow to regain the initiative against his ne... | 1h 5m | ||
| 04:40 | WWII in Colour: Road to VictoryThe Invasion of Italy: After victory in North Africa, Britain and the United States prepare for their first assault on Axis-controlled Europe. (Par... | 1h 10m | ||
| 05:50 | Nazi's Diplomats: Dancing......with the Devil: In Nazi occupied France - Otto Abetz and Fernand de Brinon pushed Franco-German collaboration. A regime operated through terror ... | 1h 10m | ||
| 07:00 | Women of World War II......More Untold Stories: We dig deeper into the archives with rare archival footage and powerful interviews that bring their legacy to life in Women... | 1h 15m | ||
| 08:15 | Weathered: Earth's ExtremesClimate Crossroads: Maiya May returns to Florida to learn how climate change is impacting ocean currents. She then goes to Georgia to learn about a... | 45m | ||
| 09:00 | TeleshoppingTeleshopping | 4h | ||
| 13:00 | TeleshoppingTeleshopping | 2h | ||
| 15:00 | Victorian Britain on FilmVictorian Britain on Film offers audiences a unique window into a bygone era. Most of these films have been transformed by colourising them for the... | 1h 30m | ||
| 16:30 | Agatha Christie's EnglandAgatha Christie's England explores the real-life magical places which inspired her stories, from the sleepy seaside chocolate box villages she live... | 1h 5m | ||
| 17:35 | The Anti-Soviet FightersThe resistance of a handful of Lithuanian, Latvian and Estonian partisans against the Soviet Union's stranglehold on their territory at the end of ... | 1h 10m | ||
| 18:45 | Nazi Ratlines in Franco's Madrid: Madrid, 1944European fascists arrive in Madrid, and protected by the Franco regime, they weave a secret web known as ratlines in order to escape the Allied for... | 1h 15m | ||
| 20:00 | Victorian Britain on FilmVictorian Britain on Film offers audiences a unique window into a bygone era. Most of these films have been transformed by colourising them for the... | 1h 30m | ||
| 21:30 | Agatha Christie's EnglandAgatha Christie's England explores the real-life magical places which inspired her stories, from the sleepy seaside chocolate box villages she live... | 1h | ||
| 22:30 | The Anti-Soviet FightersThe resistance of a handful of Lithuanian, Latvian and Estonian partisans against the Soviet Union's stranglehold on their territory at the end of ... | 1h 15m | ||
| 23:45 | Nazi Ratlines in Franco's Madrid: Madrid, 1944European fascists arrive in Madrid, and protected by the Franco regime, they weave a secret web known as ratlines in order to escape the Allied for... | 1h 15m |
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_zccyfvrh/schedule?date=2026-10-12&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zccyfvrh/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zccyfvrh/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_zccyfvrh/schedule?date=2026-10-12&tz=UTC"); 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_zccyfvrh/schedule?date=2026-10-12&tz=UTC", { 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_zccyfvrh/schedule", params={"date": "2026-10-12", "tz": "UTC"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_zccyfvrh/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_0xm34f23", "channel": "ch_zccyfvrh", "start": "2026-10-11T23:00:00Z", "stop": "2026-10-12T00:15:00Z", "title": "Nazi's Diplomats: Dancing...", "sub_title": null, "description": "...with the Devil: In Nazi occupied France - Otto Abetz and Fernand de Brinon...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 19, "date": "2026-10-12", "tz": "UTC" } }
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.