74.6M 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 UTC time, what is on now and next, and the same data in your app with one call.
All times UTC. The same day from the API: GET /v1/channels/ch_efmxndkd/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:18 | Heavy Rescue: 401A vicious storm puts Mark in the middle of a crash zone. | S1 E3, All Around Us | 54m | |
| 00:12 | Highway Thru HellReliable Towing overcomes numerous obstacles to clear the wreck. | Episode 5 | 54m | |
| 01:06 | Highway Thru HellAn early snowfall catches truckers off guard and puts Jamie Davis face to face with a heavy fuel tanker. | Episode 1 | 56m | |
| 02:02 | Highway Thru HellTeam Green overcame environmental obstacles and a twisted wreck trapped in the trees. | Episode 3 | 56m | |
| 02:58 | Heavy Rescue: 401Gary's team fights to upright a battered trailer | S1 E5, A Load of Problems | 54m | |
| 03:52 | Heavy Rescue: 401A whiteout pile-up scatters heavy I-beams across the highway. | S1 E7, Nerves of Steel | 54m | |
| 04:46 | Heavy Rescue: 401Members of the Highway Thru Hell crew join the 401 crew. | S1 E9, Worlds Apart | 56m | |
| 05:42 | Heavy Rescue: 401Steve cleans up a fuel spill blocking the 400. | S1 E8, My Way or the Highway | 56m | |
| 06:38 | Highway Thru HellAfter years of relying on older equipment, Jamie Davis brings home a surprise for the team. | Episode 8 | 56m | |
| 07:34 | Heavy Rescue: 401A heavy wreck and a frustrating recovery threaten to overwhelm Kevin. | S2 E10, Thrown in the Deep End | 56m | |
| 08:30 | Heavy Rescue: 401James Ireland faces a trailer threatening to cave in on his crew. | S2 E1, It Only Takes a Second | 56m | |
| 09:25 | Heavy Rescue: 401A freak storm unleashes a 100-car pile-up east of Toronto. | S2 E2, This is Chaos | 54m | |
| 10:19 | Heavy Rescue: 401Sonny hunts for a shortcut across town after a runaway van smashes through a wall. | S2 E6, Not Your Regular Fender-Bender | 56m | |
| 11:15 | Heavy Rescue: 401A massive multiple-semi crash in a tunnel forces the Coxon crew to clear a big mess in a tight space. | S2 E3, Guardian Angel | 56m | |
| 12:11 | Heavy Rescue: 401Freezing rain scatters Gary's team, forcing him to work solo. | S2 E7, Feels Like a Win | 54m | |
| 13:05 | Heavy Rescue: 401A storm sweeps across the province, sending heavy rescue crews scrambling. | A really long night | 54m | |
| 13:59 | Heavy Rescue: 401When a violent windstorm flips a tractor trailer on an exposed bridge. | S2 E4, Skyway Thru Hell | 56m | |
| 14:55 | Heavy Rescue: 401The pressure is on for Steve when a flipped truck blocks access to the airport. | S2 E9, Always a Danger | 56m | |
| 15:51 | Highway Thru HellJames Luke and Black Sheep rush to clear a tractor trailer on its side loaded with heavy doors. | Episode 9 | 54m | |
| 16:45 | Highway Thru HellColin fights to recover a frozen rig Cam finds himself in a dilemma with one of Jamie's classic wreckers. | Episode 10 | 56m | |
| 17:41 | Highway Thru HellA terrifying crash involving one of their own shocks Team Reliable. | Episode 11 | 56m | |
| 18:37 | Highway Thru HellMitch discovers a massive wreck involving two semis. | Episode 12 | 56m | |
| 19:32 | Heavy Rescue: 401 On nowA tragic collision between two semis sends Bear and the crew from Ross into the fray. | S2 E5, Where There's Smoke | 56m | |
| 20:28 | Highway Thru HellIn Hope, Jamie, Colin and Cam battle heavy rains to recover a rolled semi blocking the highway through town. | Episode 4 | 56m | |
| 21:24 | Highway Thru HellJamie tests the limits of his classic wrecker against a rock crusher in a gravel pit. | Episode 2 | 54m | |
| 22:18 | Highway Thru HellThe team have to attempt a cliffside recovery on the banks of the Coldwater River. | Episode 6 | 54m | |
| 23:12 | Heavy Rescue: 401Bubba battles a stubborn wreck in the middle of an ice storm. | S3 E14, Beat Up and Bloody | 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_efmxndkd/schedule?date=2026-10-13&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_efmxndkd/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_efmxndkd/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_efmxndkd/schedule?date=2026-10-13&tz=UTC"); 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_efmxndkd/schedule?date=2026-10-13&tz=UTC", { 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_efmxndkd/schedule", params={"date": "2026-10-13", "tz": "UTC"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_efmxndkd/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_2a11nf1h", "channel": "ch_efmxndkd", "start": "2026-10-12T23:18:58Z", "stop": "2026-10-13T00:12:54Z", "title": "Heavy Rescue: 401", "sub_title": "All Around Us", "description": "A vicious storm puts Mark in the middle of a crash zone.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 27, "date": "2026-10-13", "tz": "UTC" } }
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.