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 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_3hnx75vf/schedule?date=2026-10-13&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:23 | A Chef's Deadly RevengeA woman plays a deadly game of cat and mouse when she becomes the target of a jealous man. | 1h 47m | ||
| 00:10 | Super Channel UncoveredSC Uncovered is a journey of discovery through true crime, science, history, and the mysteries of time. | 1h | ||
| 01:10 | Super Channel UncoveredSC Uncovered is a journey of discovery through true crime, science, history, and the mysteries of time. | 47m | ||
| 01:57 | My Sister's Double LifeRacing against the clock, a woman discovers that her sister's captor is now after her as well. | 1h 43m | ||
| 03:41 | Return to Wickensburg On nowMr. Hexenmeister has escaped from prison, and once again threatens Wickensburg. | 1h 46m | ||
| 05:27 | Super Channel UncoveredSC Uncovered is a journey of discovery through true crime, science, history, and the mysteries of time. | 1h | ||
| 06:27 | Super Channel UncoveredSC Uncovered is a journey of discovery through true crime, science, history, and the mysteries of time. | 47m | ||
| 07:14 | Finally CaughtA beloved teacher is brutally murdered in her own home just days before Christmas. | 53m | ||
| 08:07 | Finally CaughtA young man, an attack on a quiet sidewalk and a case that went cold for decades. | 53m | ||
| 09:01 | Finally CaughtDabate - S6 E01 - Two days before Christmas, a Connecticut mother is found murdered in her home. Her husband claims a masked intruder did it, but d... | 54m | ||
| 09:55 | Finally CaughtHarrington - S6 E02 - A Virginia Tech student vanishes after a concert, leaving behind only a purse and shattered clues. Months later, her remains ... | 53m | ||
| 10:48 | Finally CaughtBobo - S6 E03 - A young nursing student vanishes from her home in broad daylight, her last moments witnessed but misunderstood. As the years pass, ... | 54m | ||
| 11:42 | Finally CaughtHeeringa - S6 E04 - A young mother vanishes from her late-night shift, leaving behind only a trail of blood and unanswered questions. As years pass... | 54m | ||
| 12:36 | Finally CaughtBotello - Valadez - S6 E05 - A weekend getaway turns into a nightmare when 23-year-old Marisela Botello vanishes after a night out in Dallas. As mo... | 54m | ||
| 13:30 | Super Channel UncoveredSC Uncovered is a journey of discovery through true crime, science, history, and the mysteries of time. | 1h | ||
| 14:30 | Super Channel UncoveredSC Uncovered is a journey of discovery through true crime, science, history, and the mysteries of time. | 48m | ||
| 15:18 | Mommy's Stolen MemoriesMallory's life turns upside-down when a strange woman whispers to her son at the local climbing gym. | 1h 49m | ||
| 16:55 | Mommy's Stolen MemoriesMallory's life turns upside-down when a strange woman whispers to her son at the local climbing gym. | 1h 49m | ||
| 17:07 | The Last Video StoreA cursed VHS tape unleashes classic cinematic villains into the real world. | 1h 36m | ||
| 18:44 | Ghosts off GridExploring the Trans-Allegheny Asylum, one of the most haunted locations in America. | 54m | ||
| 19:38 | Ghosts off GridThe guys are stunned by what they uncover at Trans-Allegheny Asylum. | 54m |
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_3hnx75vf/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_3hnx75vf/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3hnx75vf/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3hnx75vf/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_3hnx75vf/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_3hnx75vf/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_3hnx75vf/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_z6vdxv0j", "channel": "ch_3hnx75vf", "start": "2026-10-13T02:23:11Z", "stop": "2026-10-13T04:10:31Z", "title": "A Chef's Deadly Revenge", "sub_title": null, "description": "A woman plays a deadly game of cat and mouse when she becomes the target of a...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 21, "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.