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_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. | 56m | ||
| 00:14 | Highway Thru HellIn BC, new-hires Phil and Wayne face big problems when they get their chance to run big wreckers. | 56m | ||
| 01:10 | Highway Thru HellAdam faces a tough personal choice about his future in Heavy Rescue. Jamie finds himself in harm’s way. | 56m | ||
| 02:06 | Highway Thru HellJamie and the crew sit down to talk about Episode 1. | 56m | ||
| 03:02 | Heavy Rescue: 401A jackknife pushes Bill Wright into quick action; Collin puts his father's safety plan to the test. | 56m | ||
| 03:58 | Heavy Rescue: 401An Eastern Ontario crew works to untangle a truck from a thick stand of trees. | 56m | ||
| 04:54 | Heavy Rescue: 401A tanker full of wine rolls and spills; Mike McPhee takes his first step back toward the highway. | 56m | ||
| 05:50 | Heavy Rescue: 401Kerry takes cleanup into his own hands after a storm; Bill Wright must pull off an impossible move. | 56m | ||
| 06:46 | Highway Thru HellJamie and the crew sit down and discuss the highlights from the second episode "New Hope". | 56m | ||
| 07:42 | Highway Thru HellA close call on the highway shows Brandon that fear is his best friend. | 56m | ||
| 08:37 | Highway Thru HellJamie and the Highway Thru Hell crew go over the latest episode of Season 3. | 56m | ||
| 09:33 | Highway Thru HellWith winter's first blow, new recruit John must save a snowplow stuck in an icy river. | 56m | ||
| 10:29 | Highway Thru HellJamie’s new B.C. crew struggles with a mangled trailer on a blind 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. | 56m | ||
| 12:21 | Highway Thru HellA semi plows off a bridge, leaving a trailer and three RVs dangling over a raging river. | 56m | ||
| 13:17 | Highway Thru HellAl Quiring races to recover a trailer and open the TransCanada before the morning rush. | 56m | ||
| 14:13 | Highway Thru HellA downpour of freezing rain covers Hope and the Coq in a thick layer of ice, cutting off communication. | 56m | ||
| 15:09 | Heavy Rescue: 401Duncan takes on a difficult wreck as Mike McPhee returns from the injured list. | 56m | ||
| 16:04 | Heavy Rescue: 401Crews work to keep North America's most intense stretch of highway open in any weather conditions. | 56m | ||
| 17:00 | Heavy Rescue: 401Duncan helps an industry veteran take on a heavy rollover in a marathon job that delivers. | 56m | ||
| 17:56 | Heavy Rescue: 401 On nowEric faces a major decision about how much more heavy recovery his battered body can stand. | 56m | ||
| 18:52 | Highway Thru HellJamie and the crew sit down and discuss the highlights from the second episode "New Hope". | 56m | ||
| 19:48 | Highway Thru HellA close call on the highway shows Brandon that fear is his best friend. | 56m | ||
| 20:44 | Highway Thru HellJamie and the Highway Thru Hell crew go over the latest episode of Season 3. | 56m | ||
| 21:40 | Highway Thru HellWith winter's first blow, new recruit John must save a snowplow stuck in an icy river. | 56m | ||
| 22:36 | Highway Thru HellJamie’s new B.C. crew struggles with a mangled trailer on a blind 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. | 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-05T00:00:00Z&to=2026-10-06T00: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_yj6r4vd1", "channel": "ch_knqf4yax", "start": "2026-10-12T03:18:54Z", "stop": "2026-10-12T04:14:48Z", "title": "Highway Thru Hell", "sub_title": null, "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 155 countries.