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 America/Toronto time, what is on now and next, and the same data in your app with one call.
All times America/Toronto. The same day from the API: GET /v1/channels/ch_zma0ag03/schedule?date=2026-10-13&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Plastic: the Real Sea Monster On nowThe levels of plastic in ocean hasn't increased in years, leaving innumerable tons unaccounted for. | 1h 2m | ||
| 01:02 | Swimming With LegendsFred Buyle travels the world to tag or photo-identify immense and mysterious marine creatures. | 2h 4m | ||
| 03:06 | Mysteries of the Great LakesThe geography, ecology, science, and history of the Great Lakes region. | 55m | ||
| 04:01 | Angkor: Lost Empire of CambodiaAt the height of its power between the 9th and 15th centuries, Angkor was a resplendent city, considered the most extensive urban complex of the pr... | 48m | ||
| 04:49 | Last DevilsTasmanian Devils are the world's largest carnivorous marsupials and they are only found in Tasmania. | 1h 2m | ||
| 05:51 | Top Dive SitesAnilao, Philippines is renowned for its reefs; the Philippines are part of the Coral Triangle. | Top Dive Sites | 34m | |
| 06:25 | Top Dive SitesSeychelles' waters contain over 1,000 fish species, making it an ideal choice for diving. | Top Dive Sites | 31m | |
| 06:56 | Top Dive SitesBrazil's Pernambuco state is home to the national marine park with gardens of colored corals. | Top Dive Sites | 34m | |
| 07:30 | Top Dive SitesMillion colors and species fill the Red Sea's waters and this makes it a great diving destination. | Top Dive Sites | 31m | |
| 08:01 | Top Dive SitesRiviera Maya is located on the Caribbean coast of Mexico, where there are many diving points. | Top Dive Sites | 33m | |
| 08:34 | Top Dive SitesIn the south of Spain, nearer to Africa than Europe, El Hiero is home to a number of odd species. | Top Dive Sites | 30m | |
| 09:04 | The End of the Big CatsLeopards are at risk of going extinct. | The End of the Big Cats | 1h 8m | |
| 10:12 | The End of the Big CatsDuring this century, cheetahs are at risk of disappearing forever. | The End of the Big Cats | 1h 6m | |
| 11:18 | The End of the Big CatsA look at what must be done to save the big cats from extinction. | The End of the Big Cats | 1h 9m | |
| 12:27 | A Volcano OdysseyTracing 65 million years of evolution at a volcanic hotspot in the Indian Ocean. | 1h 40m | ||
| 14:07 | When Shark Meets CrocReports of clashes between the two are many but researchers are determined to find out the truth. | 1h 2m | ||
| 15:09 | Africa: The SerengetiAnimals travel more than 500 miles across the Serengeti plains in Tanzania and Kenya. | 49m | ||
| 15:58 | Hurricane the AnatomyMany hurricanes begin as harmless breezes from Northern Africa that gain energy from warm seawater. | S1 E1, Predicting the Unpredictable | 59m | |
| 16:57 | Hurricane the AnatomyThe natural world has evolved through millions of years to deal with the strongest storms on earth. | S1 E2, Shaping the Wilderness | 57m | |
| 17:54 | Hurricane the AnatomyRising sea levels might mean hurricanes' storm surges could impact farther inland in the future. | S1 E3, Winds of Change | 1h | |
| 18:54 | 2017: The Disaster DiariesThe year 2017 was marked by several major Atlantic hurricanes (including Harvey, Irma and Maria), flooding in South America and a serious earthquak... | 1h 4m | ||
| 19:58 | Wild IberiaAlmost everywhere is over 30 C and some places in the south are even reaching 50 C. | Wild Iberia | 59m | |
| 20:57 | Wild IberiaSummer ended several days ago and Autumn is invading the whole of Iberia. | Wild Iberia | 59m | |
| 21:56 | Anaconda: Silent KillerExploring the large and powerful anaconda in remote parts of the Amazon rainforest. | 1h 4m | ||
| 23:00 | Japan: Sense Of SeasonsExploring autumn tints in Kyoto and the winter's powder snow in Hokkaido. | Japan: Sense Of Seasons | 1h |
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_zma0ag03/schedule?date=2026-10-13&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zma0ag03/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zma0ag03/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_zma0ag03/schedule?date=2026-10-13&tz=America/Toronto"); 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_zma0ag03/schedule?date=2026-10-13&tz=America/Toronto", { 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_zma0ag03/schedule", params={"date": "2026-10-13", "tz": "America/Toronto"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_zma0ag03/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_jb057tan", "channel": "ch_zma0ag03", "start": "2026-10-13T04:00:00Z", "stop": "2026-10-13T05:02:00Z", "title": "Plastic: the Real Sea Monster", "sub_title": null, "description": "The levels of plastic in ocean hasn't increased in years, leaving innumerable...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 25, "date": "2026-10-13", "tz": "America/Toronto" } }
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.