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_apx4esvq/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:52 | In the Heat of the NightParker's stepfather returns, pursued by murderous art thieves. | S7 E21, Poor Relations | 55m | |
| 00:47 | In the Heat of the NightOn the eve of his wedding to Harriet De Long, Sheriff Gillespie is stalked by a vengeance-seeking killer. | In the Heat of the Night | 55m | |
| 01:42 | In the Heat of the Night: Give Me Your LifeForbes (Carl Weathers) clashes with a charismatic cult leader (Peter Fonda). | 1h 48m | ||
| 03:30 | In the Heat of the Night: A Matter of JusticeMississippi policemen (Carroll O'Connor, Carl Weathers) hunt serial killer. | 1h 48m | ||
| 05:17 | Fiddler on the RoofPoor Jewish milkman (Topol), wife (Norma Crane) and five daughters in czarist Russia. | 1h 48m | ||
| 07:05 | In the Heat of the Night: By Duty BoundBusinessman runs against Gillespie (Carroll O'Connor) for sheriff. | 1h 48m | ||
| 08:53 | In the Heat of the Night: Grow Old Along With MeGillespie (Carroll O'Connor) and Forbes link a suspect to a witness of a hit-and-run fatality. | 1h 48m | ||
| 10:41 | In the Heat of the NightWhen Virgil Tibbs joins the Sparta, MI, police, resentment festers in Chief of Police Bill Gillespie. | In the Heat of the Night | 1h 51m | |
| 12:32 | In the Heat of the NightGillespie and Tibbs have conflicting suspicions about a woman's murder. | S1 E3, Road Kill | 56m | |
| 13:28 | In the Heat of the NightEmotions run high when a black businessman (Randy Brooks) comes to Sparta to buy the town's newspaper. | In the Heat of the Night | 57m | |
| 14:25 | In the Heat of the NightSparta is overjoyed when a local boy turned successful businessman offers to bring his business back home. | In the Heat of the Night | 56m | |
| 15:21 | In the Heat of the NightVirgil (Howard Rollins) narrowly escapes death at the hands of Ritchie Epson's henchmen. | In the Heat of the Night | 55m | |
| 16:16 | In the Heat of the NightA man's six wives become murder suspects when he dies of food poisoning. | S1 E7, A Necessary Evil | 56m | |
| 17:12 | In the Heat of the NightAn escaped killer and his girlfriend take Althea and a child hostage to ensure a getaway. | S1 E8, ...And Then You Die | 55m | |
| 18:07 | In the Heat of the NightGillespie is stalked by a killer who re-created a bizarre 20-year-old murder. | S2 E1, Don't Look Back (1) | 1h 50m | |
| 19:58 | In the Heat of the NightA woman's (Susan Blakely) claim she murdered her father because of incest shocks Gillespie. | S2 E3, Family Secret | 56m | |
| 20:54 | In the Heat of the NightSeveral murders occur while Tibbs' former partner is visiting. | S2 E4, The Hammer and the Glove | 57m | |
| 21:51 | In the Heat of the NightA rookie officer's first arrest, a childhood buddy, dies in jail; guest Ed Ames. | S2 E5, Prisoners | 56m | |
| 22:47 | In the Heat of the NightBubba Skinner is seduced by a beautiful lady who has taken residence in Sparta in order to write a novel. | In the Heat of the Night | 56m | |
| 23:43 | In the Heat of the NightTibbs finds the robbery suspect he killed is a young, unarmed girl. | S2 E7, Gunshots | 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_apx4esvq/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_apx4esvq/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_apx4esvq/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_apx4esvq/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_apx4esvq/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_apx4esvq/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_apx4esvq/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_710d37h1", "channel": "ch_apx4esvq", "start": "2026-10-12T03:52:26Z", "stop": "2026-10-12T04:47:28Z", "title": "In the Heat of the Night", "sub_title": "In the Heat of the Night", "description": "Parker's stepfather returns, pursued by murderous art thieves.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 20, "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.