72.1M 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_bkxx0dfq/schedule?date=2026-10-15&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Search for the Edge of SpaceThe filmmaker sheds light on studies that astronomers make regarding the immense scales of distance and time of the universe. | 1h | ||
| 01:00 | Confucius Was a FoodieCelebrity Chef Christine Cushing eats, cooks and explores her way through traditional Chinese cuisines as they are found in North America. | 45m | ||
| 01:45 | The Antonov DreamA look at the Antonov An-225, a relic of the Cold War era aircraft made in Ukraine that still flies challenging missions in modern times. It is the... | 50m | ||
| 02:35 | At Home With DidiayerDidiayer gears up for a second round of her diverse lifestyle series. However, this time, she hits the open road with a few travelling companions -... | 25m | ||
| 03:00 | Warriors For WildlifeFollowing a group of international recruits as they tackle one of the toughest training courses on the planet while trying to become the next gener... | 1h | ||
| 04:00 | The Royal Roads of the IncasDocumenting the rise of the greatest empire of the Americas, exploring who were they, where did they come from and how they unified over 200 ethnic... | 1h | ||
| 05:00 | Drone WarsThe world's best drone builders and pilots must design and create the ultimate flying machines to be able to conquer ever-changing obstacles and wi... | 1h | ||
| 06:00 | Best Ever Food Review ShowHost William 'Sonny' Sonbuchner is from the US but calls Vietnam home. He enjoys travelling to different parts of the world in order to hunt down a... | 30m |
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_bkxx0dfq/schedule?date=2026-10-15&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_bkxx0dfq/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_bkxx0dfq/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_bkxx0dfq/schedule?date=2026-10-15&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_bkxx0dfq/schedule?date=2026-10-15&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_bkxx0dfq/schedule", params={"date": "2026-10-15", "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_bkxx0dfq/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_ctnqaar4", "channel": "ch_bkxx0dfq", "start": "2026-10-14T22:00:00Z", "stop": "2026-10-14T23:00:00Z", "title": "Search for the Edge of Space", "sub_title": null, "description": "The filmmaker sheds light on studies that astronomers make regarding the imme...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 8, "date": "2026-10-15", "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 155 countries.