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/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_8xv615qn/schedule?date=2026-10-14&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:52 | I Didn't Know I Was PregnantAfter mistaking labor for kidney stones, a woman gets another big surprise. | 49m | ||
| 00:40 | I Didn't Know I Was PregnantTune in to see which story will be the most shocking birth of all time. | 51m | ||
| 01:31 | I Didn't Know I Was PregnantA woman has two surprise births after being diagnosed with endometriosis. | 48m | ||
| 02:19 | I'm Pregnant And...After giving birth, a woman will live with her baby in prison. | 22m | ||
| 02:42 | I'm Pregnant And...An addicted woman finds it risky to go off methadone during pregnancy. | 24m | ||
| 03:06 | I'm Pregnant And...Losing their home, a pregnant couple lives in a tent and can't find work. | 22m | ||
| 03:28 | I'm Pregnant And...A pregnant woman looks for help to manage her eating disorder. | 22m | ||
| 03:50 | I'm Pregnant And...A bi-polar woman struggles with taking medication while pregnant. | 22m | ||
| 04:12 | I'm Pregnant And...A couple's baby has a chance of being born with achondroplasia dwarfism. | 49m | ||
| 05:01 | I'm Pregnant And...Raine struggles to clear her house of clutter before her baby is born. | 23m | ||
| 05:24 | I'm Pregnant And...Tashala appears to be a normal pregnant woman, but she's HIV-positive. | 25m | ||
| 05:48 | I'm Pregnant And...A pregnant nudist decides if she wants her daughter to follow suit. | 25m | ||
| 06:14 | I'm Pregnant And...Jenna struggles with her OCD that worsens with pregnancy. | 25m | ||
| 06:39 | I'm Pregnant And...Mindy discovered she had cancer in the first trimester of her pregnancy. | 25m | ||
| 07:04 | I'm Pregnant And...Shanice is morbidly obese and pregnant, and faces lifestyle changes. | 25m | ||
| 07:28 | I'm Pregnant And...Trisha has spent her pregnancy behind bars for dealing and using drugs. | 48m | ||
| 08:16 | I'm Pregnant And...A pregnant wife hides her husband's secret of wanting to become a woman. | 25m | ||
| 08:41 | I'm Pregnant And...Nadea is a little person and struggles with the difficulties of pregnancy. | 25m | ||
| 09:07 | I'm Pregnant And...Katy is addicted to crystal meth and has relapsed twice while pregnant. | 25m | ||
| 09:32 | I'm Pregnant And...A pregnant woman's condition causes her to crave the smell of toxic fumes. | 25m | ||
| 09:58 | I'm Pregnant And...Heather is a trucker who plans to bring her newborn along on the road. | 25m | ||
| 10:23 | I'm Pregnant And...A pregnant stripper financially struggles with not being able to work. | 25m | ||
| 10:49 | I Was DeadAmazing people tell the story of how they died and lived to tell about it. | 51m | ||
| 11:39 | Life or DeathThe cause of a mysterious illness in Walkerton, Ontario, shocks the nation. | 49m | ||
| 12:28 | Life or DeathDoctors are baffled at an entire church congregation's stomach problems. | 49m | ||
| 13:16 | Life or DeathA woman collapses while skiing and is suddenly fighting for her life. | 50m | ||
| 14:06 | Life or DeathA couple thinks they have the flu, but it's something far more dangerous. | 50m | ||
| 14:55 | Life or DeathDoctors are desperate for a diagnosis after a boy is brought to the ER. | 52m | ||
| 15:47 | Life or DeathSebastian Hitzig is found collapsed with blood oozing from his nose. | 49m | ||
| 16:36 | My Baby's Head Keeps GrowingMeet three children that have hydrocephalus, and unusually large heads. | 50m | ||
| 17:26 | My Deadly AppetiteFeeling constantly starved, Will gets help at an intense treatment program. | 48m | ||
| 18:14 | My Feet Are Killing MeThe doctors treat patients with serious foot fungus and a sixth toe. | 49m | ||
| 19:02 | My Feet Are Killing MeThe doctors treat severe foot pain, extremely large feet and more. | 49m | ||
| 19:51 | My Feet Are Killing MeThe doctors treat an enormous lump, a wart cluster and a double big toe. | 49m | ||
| 20:39 | My Feet Are Killing MeThe doctors treat a toddler with 12 toes and a nudist with funky feet. | 49m | ||
| 21:28 | My Feet Are Killing MeThe doctors treat one patient with a short toe and one with webbed toes. | 49m | ||
| 22:17 | My Feet Are Killing MeThe doctors treat a little boy with big demands and a man with long toes. | 49m | ||
| 23:05 | My Feet Are Killing MeThe doctors treat patients with dancer's feet, club feet and curled toes. | 49m | ||
| 23:54 | My Feet Are Killing MeDr. Schaeffer straightens a woman's foot, and Dr. Vincent treats a drummer. | 49m |
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_8xv615qn/schedule?date=2026-10-14&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8xv615qn/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8xv615qn/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_8xv615qn/schedule?date=2026-10-14&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_8xv615qn/schedule?date=2026-10-14&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_8xv615qn/schedule", params={"date": "2026-10-14", "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_8xv615qn/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_m9ca6jkd", "channel": "ch_8xv615qn", "start": "2026-10-14T03:52:24Z", "stop": "2026-10-14T04:40:58Z", "title": "I Didn't Know I Was Pregnant", "sub_title": null, "description": "After mistaking labor for kidney stones, a woman gets another big surprise.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 39, "date": "2026-10-14", "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.