74.3M 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/New_York time, what is on now and next, and the same data in your app with one call.
All times America/New_York. The same day from the API: GET /v1/channels/ch_f0wkwdxw/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:56 | Life Below ZeroAlaskans have to divide and conquer to stockpile resources for the long winter ahead. | S6 E6, Divide and Conquer | 51m | |
| 00:47 | Life Below ZeroAs summer comes to an end, Alaskans make one last push to prepare for the brutal winter ahead. | S6 E7, Under the Gun | 51m | |
| 01:38 | Life Below ZeroAlaskans get a brief respite from winter's fury with the end of the thaw. | S6 E8, Lost in the Wild | 50m | |
| 02:28 | Life Below ZeroWinter bears down on Alaskans, who make last-minute preparations for the return of the freeze. | S7 E1, On the Edge | 51m | |
| 03:19 | Life Below ZeroAlaskans work to prepare for the upcoming brutal weather; Chip constructs a mobile tent frame. | S7 E2, Pride and Power | 50m | |
| 04:09 | Life Below ZeroAs winter nears, Alaskans' preparations for the freeze begin to fall apart. | S7 E3, Falling Apart | 51m | |
| 05:00 | Life Below ZeroAlaskans scramble to secure their livelihoods as the freeze begins; Sue finds a predator in camp. | S7 E4, Deadly Tracks | 51m | |
| 05:51 | Life Below ZeroAlaskans need to adapt and shift their plans due to unpredictable winter weather. | S7 E5, Breaking Through | 50m | |
| 06:41 | Life Below ZeroAlaskans struggle to get through the everyday grind as a long, dark winter looms ahead. | S7 E6, Shakedown | 51m | |
| 07:32 | Life Below ZeroThe looming winter forces Alaskans to tackle obstacles to ensure a prosperous winter. | S7 E7, Ghosts of Winter | 50m | |
| 08:22 | Life Below ZeroAlaskans must travel far and wide to obtain resources vital for survival in the dead of winter. | S7 E8, No Boundaries | 51m | |
| 09:13 | Life Below ZeroAlaskans trap and hunt for essential food and fur to survive the dark winter. | S7 E9, Trapped and Hunted | 50m | |
| 10:03 | Life Below ZeroIn anticipation of the coming spring, Alaskans pursue scarce resources. | S7 E10, Winter Kill | 51m | |
| 10:54 | Life Below ZeroAs winter winds down, Alaskans encounter roadblocks in their struggle for survival. | S7 E11, Loaded | 51m | |
| 11:45 | Life Below ZeroAs winter comes to a close, there are no shortcuts for Alaskans as they wrap up the season. | S7 E12, No Shortcuts | 50m | |
| 12:35 | Life Below ZeroWith seasons changing in the Arctic, Alaskans hunt before the spring breakup fully arrives. | S8 E1, The Confrontation | 54m | |
| 13:29 | Life Below ZeroThe Hailstones hunt; Sue Aikens reopens her greenhouse; Glenn Villeneuve returns home. | S8 E2, Blindsided | 54m | |
| 14:23 | Life Below ZeroAlaskans face tremendous obstacles with the spring breakup in full swing. | S8 E3, River of Rage | 54m | |
| 15:17 | Life Below ZeroAs the rivers melt, Alaskans try to stay ahead of the changing landscape. | S8 E4, Head Above Water | 54m | |
| 16:11 | Life Below ZeroAlaskans race to gather resources while battling challenges from unpredictable weather. | S8 E5, Against the Tide | 54m | |
| 17:05 | Life Below ZeroAlaskans must take advantage of the long days to prepare for the long freeze that lies ahead. | S8 E6, The Slow Grind | 54m | |
| 17:59 | Life Below ZeroAlaskans must ensure they are prepared to withstand the freezing cold that lies ahead. | S8 E7, Midnight Sun | 54m | |
| 18:53 | Life Below ZeroAs the thaw draws to a close, Alaskans maximize their final days of sunlight in the Arctic. | S8 E8, Higher Ground | 55m | |
| 19:48 | Life Below ZeroTo prepare for a dark and cold winter, Alaskans harvest necessary resources. | S9 E1, Unfamiliar Territory | 54m | |
| 20:42 | Life Below ZeroAlaskans race to secure resources and ready their camps for the coming dark winter. | S9 E2, Howl of the Wild | 54m | |
| 21:36 | Life Below ZeroAlaskans struggle to survive the brief, cold and dark days as winter overtakes the land. | S9 E3, The 11th Hour | 54m | |
| 22:30 | Life Below ZeroIn the midst of dark winter, Alaskans burn the midnight oil to complete necessary tasks. | S9 E4, Burn the Midnight Oil | 54m | |
| 23:24 | Life Below ZeroAlaskans scurry to find precious resources in a constantly changing winter landscape. | S9 E5, Arctic Super Moon | 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_f0wkwdxw/schedule?date=2026-10-12&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f0wkwdxw/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f0wkwdxw/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_f0wkwdxw/schedule?date=2026-10-12&tz=America/New_York"); 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_f0wkwdxw/schedule?date=2026-10-12&tz=America/New_York", { 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_f0wkwdxw/schedule", params={"date": "2026-10-12", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_f0wkwdxw/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_n8m0wyz8", "channel": "ch_f0wkwdxw", "start": "2026-10-12T03:56:00Z", "stop": "2026-10-12T04:47:00Z", "title": "Life Below Zero", "sub_title": "Life Below Zero", "description": "Alaskans have to divide and conquer to stockpile resources for the long winte...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 28, "date": "2026-10-12", "tz": "America/New_York" } }
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.