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_knqf4yax/schedule?date=2026-10-12&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:18 | Highway Thru HellIn Alberta, the crew faces one of its biggest challenges yet. | S3 E11, Top Dog, Lone Wolf? | 56m | |
| 00:14 | Highway Thru HellIn BC, new-hires Phil and Wayne face big problems when they get their chance to run big wreckers. | S3 E12, Downhill Slide | 56m | |
| 01:10 | Highway Thru HellAdam faces a tough personal choice about his future in Heavy Rescue. Jamie finds himself in harm's way. | S3 E13, Arming for Battle | 56m | |
| 02:06 | Highway Thru HellJamie and the crew sit down to talk about Episode 1. | New Hell, Old Hell Reloaded | 56m | |
| 03:02 | Heavy Rescue: 401A jackknife pushes Bill Wright into quick action Collin puts his father's safety plan to the test. | A Whole Lot Of Kaboom | 56m | |
| 03:58 | Heavy Rescue: 401An Eastern Ontario crew works to untangle a truck from a thick stand of trees. | S6 E6, This Is Crazy | 56m | |
| 04:54 | Heavy Rescue: 401A tanker full of wine rolls and spills Mike McPhee takes his first step back toward the highway. | S6 E7, Not a Warm Fuzzy Feeling | 56m | |
| 05:50 | Heavy Rescue: 401Kerry takes cleanup into his own hands after a storm Bill Wright must pull off an impossible move. | S6 E8, A Hail Mary Move | 56m | |
| 06:46 | Highway Thru HellJamie and the crew sit down and discuss the highlights from the second episode "New Hope". | New Hope Reloaded | 56m | |
| 07:42 | Highway Thru HellA close call on the highway shows Brandon that fear is his best friend. | Be Afraid, Reloaded | 56m | |
| 08:37 | Highway Thru HellJamie and the Highway Thru Hell crew go over the latest episode of Season 3. | No Way Out Reloaded | 56m | |
| 09:33 | Highway Thru HellWith winter's first blow, new recruit John must save a snowplow stuck in an icy river. | S4 E1, Casualties of War | 56m | |
| 10:29 | Highway Thru HellJamie's new B.C. crew struggles with a mangled trailer on a blind corner. | S4 E2, Saved on Preacher's Corner | 56m | |
| 11:25 | Highway Thru HellWhen a lumber truck and diesel tanker collide, the flaming wreckage is the biggest recovery of Colin's career. | S4 E3, War Zone | 56m | |
| 12:21 | Highway Thru HellA semi plows off a bridge, leaving a trailer and three RVs dangling over a raging river. | S4 E4, Holidays Thru Hell | 56m | |
| 13:17 | Highway Thru HellAl Quiring races to recover a trailer and open the TransCanada before the morning rush. | S4 E5, Wreck. Recover. Repeat. | 56m | |
| 14:13 | Highway Thru HellA downpour of freezing rain covers Hope and the Coq in a thick layer of ice, cutting off communication. | S4 E6, Ice Storm | 56m | |
| 15:09 | Heavy Rescue: 401Duncan takes on a difficult wreck as Mike McPhee returns from the injured list. | S6 E9, Become One with the Truck | 56m | |
| 16:04 | Heavy Rescue: 401Crews work to keep North America's most intense stretch of highway open in any weather conditions. | S6 E10, Get Back Up | 56m | |
| 17:00 | Heavy Rescue: 401Duncan helps an industry veteran take on a heavy rollover in a marathon job that delivers. | S6 E11, We're in Trouble Here Now | 56m | |
| 17:56 | Heavy Rescue: 401Eric faces a major decision about how much more heavy recovery his battered body can stand. | S6 E12, What We Live For | 56m | |
| 18:52 | Highway Thru HellJamie and the crew sit down and discuss the highlights from the second episode "New Hope". | New Hope Reloaded | 56m | |
| 19:48 | Highway Thru HellA close call on the highway shows Brandon that fear is his best friend. | Be Afraid, Reloaded | 56m | |
| 20:44 | Highway Thru HellJamie and the Highway Thru Hell crew go over the latest episode of Season 3. | No Way Out Reloaded | 56m | |
| 21:40 | Highway Thru HellWith winter's first blow, new recruit John must save a snowplow stuck in an icy river. | S4 E1, Casualties of War | 56m | |
| 22:36 | Highway Thru HellJamie's new B.C. crew struggles with a mangled trailer on a blind corner. | S4 E2, Saved on Preacher's Corner | 56m | |
| 23:32 | Highway Thru HellWhen a lumber truck and diesel tanker collide, the flaming wreckage is the biggest recovery of Colin's career. | S4 E3, War Zone | 56m |
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_knqf4yax/schedule?date=2026-10-12&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_knqf4yax/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_knqf4yax/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_knqf4yax/schedule?date=2026-10-12&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_knqf4yax/schedule?date=2026-10-12&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_knqf4yax/schedule", params={"date": "2026-10-12", "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_knqf4yax/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_7ra9f9xh", "channel": "ch_knqf4yax", "start": "2026-10-12T03:18:54Z", "stop": "2026-10-12T04:14:48Z", "title": "Highway Thru Hell", "sub_title": "Top Dog, Lone Wolf?", "description": "In Alberta, the crew faces one of its biggest challenges yet.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 27, "date": "2026-10-12", "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.