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 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-11&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:19 | Heavy Rescue: 401A tractor wedged between an overpass and guardrail forces the Ross crew into a game of inches. | S5 E7, Thread the Needle | 56m | |
| 00:15 | Highway Thru HellJamie, Al, Jason, and Ken look back at each other's recoveries from season 6. | Episode 1 | 54m | |
| 01:09 | Highway Thru HellColin, Merv and Jason attempt a heavy rescue. | Episode 2 | 56m | |
| 02:04 | Highway Thru HellMission Towing's Dylan Greenwood has to solve a puzzle of twisted metal when two big rigs collide | Episode 3 | 54m | |
| 02:58 | Highway Thru HellHeavy rains trigger a massive mudslide near Hope. | Episode 4 | 56m | |
| 03:54 | Highway Thru HellAl and Gord are called in to winch a 65-ton steel bridge across the Coquihalla River. | Episode 5 | 54m | |
| 04:48 | Highway Thru HellColin takes the controls of Mighty Mo during a whiteout storm. | Episode 6 | 56m | |
| 05:44 | Highway Thru HellAl and Gord search for a lost logging truck on a snowy back road. | Episode 7 | 56m | |
| 07:36 | Highway Thru HellAl attempts to free a 70-ton excavator from a mud hole. | Episode 9 | 54m | |
| 08:30 | Highway Thru HellA tour bus spins out of control, launching Al Quiring into action. | Episode 10 | 56m | |
| 09:26 | Highway Thru HellDylan races to recover a car dangling on a bridge. | Episode 11 | 56m | |
| 10:22 | Highway Thru HellAn unexpected detour becomes a night of heavy rescue for Collin. | Episode 12 | 56m | |
| 11:18 | Highway Thru HellA massive pileup plunges Al's son into the middle of a disaster | Episode 13 | 56m | |
| 12:14 | Highway Thru HellA tough pull pushes Mighty Mo too far. | Episode 14 | 54m | |
| 13:08 | Highway Thru HellJamie feels winter's bite on a frozen recovery. | Episode 15 | 56m | |
| 14:04 | Highway Thru HellA back road battle roughs up Jamie. | Episode 16 | 56m | |
| 14:59 | Highway Thru HellA load of heavy pipes has two teams locked in an all-out battle. | Episode 17 | 56m | |
| 15:55 | Heavy Rescue: 401A massive storm across the southern tip of the province pushes the crew into an intense double recovery. | S5 E8, This Ain't Gonna Be Pretty | 56m | |
| 16:51 | Heavy Rescue: 401Mitch from B&G joins forces with John Allen to clean up a triple collision and a badly leaking tanker. | S5 E9, Moment of Truth | 56m | |
| 17:47 | Heavy Rescue: 401A tractor-trailer rolls over in an icy median. | S5 E10, I Don't Stop | 56m | |
| 18:43 | Heavy Rescue: 401A massive super-storm blasts across the province Sonny hurries to help a stranded customer. | S5 E11, No Other Choice | 56m | |
| 19:39 | Heavy Rescue: 401When the Classic and Lucky crews battle a trailer ready to break in two, they make a drastic decision. | S5 E12, Recipe for Disaster | 56m | |
| 20:35 | Heavy Rescue: 401John Allen finds himself in need of a heavy rescue when he gets stuck on an icy side road. | S5 E13, In For The Long Haul | 54m | |
| 21:28 | Heavy Rescue: 401Racing to prevent a fuel spill, Mitch must execute a complex maneuver he's never tried before. | S5 E14, For Some Reason, I Like It | 56m | |
| 22:24 | Heavy Rescue: 401Adam improvises when heavy winds complicate a tough recovery. | That's Teamwork | 54m | |
| 23:18 | Heavy Rescue: 401Sonny needs to pull off an urgent recovery with all eyes on him. | It's right now time | 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-11&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-11&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-11&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-11", "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-11, the first programme { "data": [ { "id": "ls_e80tqm0h", "channel": "ch_efmxndkd", "start": "2026-10-10T23:19:15Z", "stop": "2026-10-11T00:15:06Z", "title": "Heavy Rescue: 401", "sub_title": "Thread the needle", "description": "A tractor wedged between an overpass and guardrail forces the Ross crew into ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 26, "date": "2026-10-11", "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 154 countries.