73.8M 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. Search any past day on the Archive plan.
All times America/New_York. The same day from the API: GET /v1/channels/ch_x61v960m/schedule?date=2026-10-15&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:48 | Cursed FilmsBrandon Lee's life is cut short due to a tragic on-set accident during the making of "The Crow." | S1 E4, The Crow | 32m | |
| 00:20 | Cursed FilmsA horrific accident takes place during the making of "Twilight Zone: The Movie." | S1 E5, Twilight Zone: The Movie | 32m | |
| 00:52 | BackcountryTwo wilderness hikers become lost in a dangerously aggressive bear's territory. | 1h 46m | ||
| 02:38 | Cursed FilmsAn exploration of the dark myths and legends behind "The Wizard of Oz." | S2 E1, The Wizard of Oz | 49m | |
| 03:27 | Cursed FilmsA look into the making of Roman Polanski's "Rosemary's Baby," and the tragic aftermath. | S2 E2, Rosemary's Baby | 54m | |
| 04:21 | Cursed FilmsAndrei Tarkovsky's science-fiction masterwork "Stalker," and the production disasters. | S2 E3, Stalker | 47m | |
| 05:08 | Cursed FilmsAn exploration of Wes Craven's journey into the secret societies of Haitian Voodoo and magic. | S2 E4, The Serpent and the Rainbow | 47m | |
| 05:55 | ExamEight candidates cooperate in order to secure a job with a prestigious company. | 1h 55m | ||
| 07:50 | True Crime Story: It Couldn't Happen HereAn unlikely murder suspect is convicted of killing a man in rural Shelbyville, Ky. | S1 E5, Shelbyville, Kentucky | 49m | |
| 08:39 | True Crime Story: It Couldn't Happen HereA club worker in Connecticut goes missing; a wealthy local businessman is suspected. | S1 E6, Rockville / Ellington, Connecticut | 49m | |
| 09:28 | True Crime Story: It Couldn't Happen HereThe investigation into a young mother's death divides a small town. | True Crime Story: It Couldn't Happen Here | 50m | |
| 10:18 | True Crime Story: It Couldn't Happen HereAfter a young mother disappears, officials investigate whether it was child abandonment or murder. | True Crime Story: It Couldn't Happen Here | 48m | |
| 11:06 | True Crime Story: It Couldn't Happen HereAfter a man is shot, officials say it was self-defense, but his family shows it wasn't justified. | True Crime Story: It Couldn't Happen Here | 48m | |
| 11:54 | True Crime Story: It Couldn't Happen HereAfter a deadly fire, a man is imprisoned for murder; new evidence reveals the truth. | True Crime Story: It Couldn't Happen Here | 50m | |
| 12:44 | True Crime Story: It Couldn't Happen HereAn aggressive cold case investigation may have sent an innocent man to death row. | True Crime Story: It Couldn't Happen Here | 48m | |
| 13:32 | True Crime Story: It Couldn't Happen HereAn attorney known for uncovering corruption is accused of masterminding a murder plot. | True Crime Story: It Couldn't Happen Here | 48m | |
| 14:20 | True Crime Story: It Couldn't Happen HereA couple is brutally murdered, some question whether prejudice led police to arrest the wrong man. | True Crime Story: It Couldn't Happen Here | 48m | |
| 15:08 | True Crime Story: It Couldn't Happen HereA dentist is killed and investigators uncover a sinister plot led by the dentist's wife and stepson. | True Crime Story: It Couldn't Happen Here | 48m | |
| 15:56 | The Preppy Murder: Death in Central ParkThe NYPD identifies a dead girl in Central Park as Jennifer Levin. | S1 E1, Woman Down in Central Park | 49m | |
| 16:45 | The Preppy Murder: Death in Central ParkRobert confesses he killed Jennifer Levin accidentally during rough sex. | S1 E2, Rough Sex | 49m | |
| 17:34 | True Crime Story: IndefensibleOn trial for his wife's murder, a man invokes a temporary insanity defense. | S1 E1, How Men Get Off | 24m | |
| 17:58 | True Crime Story: IndefensibleA case of apparent murder by strangulation takes a shocking turn at trial. | S1 E2, The Consent Offense | 22m | |
| 18:20 | True Crime Story: IndefensibleWhen a man with a violent criminal history is paroled, tragedy quickly ensues. | S1 E3, A Few Bad Men | 23m | |
| 18:43 | True Crime Story: IndefensibleA chance meeting of strangers leaves one of them dead, and police struggle to answer why. | S1 E4, The Panic Defense | 24m | |
| 19:07 | Department Q: The Keeper of Lost CausesPolice inspector Carl Mørck and his assistant investigate a cold case involving a missing woman. | 1h 51m | ||
| 20:58 | Mad DetectiveA disturbed detective (Lau Ching Wan) uses intuition to locate a missing lawman. | 1h 42m | ||
| 22:40 | The 101 Scariest Horror Movie Moments of All TimeThirteen more iconic moments of fear drawn from the most frightening films ever made. | The 101 Scariest Horror Movie Moments of All Time | 57m | |
| 23:37 | The 101 Scariest Horror Movie Moments of All TimeThirteen films spanning a century of horror prove that a good scare is timeless. | The 101 Scariest Horror Movie Moments of All Time | 50m |
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_x61v960m/schedule?date=2026-10-15&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x61v960m/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x61v960m/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_x61v960m/schedule?date=2026-10-15&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_x61v960m/schedule?date=2026-10-15&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_x61v960m/schedule", params={"date": "2026-10-15", "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_x61v960m/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_mmentb74", "channel": "ch_x61v960m", "start": "2026-10-15T03:48:00Z", "stop": "2026-10-15T04:20:00Z", "title": "Cursed Films", "sub_title": "Cursed Films", "description": "Brandon Lee's life is cut short due to a tragic on-set accident during the ma...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 28, "date": "2026-10-15", "tz": "America/New_York" } }
What was on, on any date we hold: for research, catch-up, clip finding or proving a broadcast. Any window up to 31 days with /v1/channels/{id}/history on the Archive plan.
| Time | Monday 13 October 2025 | Category |
|---|---|---|
| Nothing held for that day. Try another date. | ||
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.