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.
All times America/New_York. The same day from the API: GET /v1/channels/ch_dsznfd9n/schedule?date=2026-10-11&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:24 | The Brokenwood MysteriesMike and the team get re-acquainted with several women they've locked up in past cases. | S6 E4, Dead and Buried | 1h 46m | |
| 00:11 | Agatha Christie's Partners in CrimeTommy and Tuppence Beresford are thrust into a web of international espionage. | S1 E1, The Secret Adversary | 1h 4m | |
| 01:14 | Agatha Christie's Partners in CrimeTommy is mistaken for a wealthy mastermind; the Beresfords try to maintain their cover. | S1 E2, Affair of the Pink Pearl | 1h 2m | |
| 02:16 | Agatha Christie's Partners in CrimeThe gang gives Tommy a job; the Beresfords try to foil a plot threatening the British government. | S1 E3, The House of Lurking Death | 1h 1m | |
| 03:17 | Agatha Christie's Partners in CrimeThe British Secret Service enlists Tommy and Tuppence to find a Soviet agent and a scientist. | S1 E4, The Sunningdale Mystery | 1h 2m | |
| 04:18 | Agatha Christie's Partners in CrimeTommy and Tuppence look elsewhere for the bomb thief after their prime suspect turns up dead. | S1 E5, The Clergyman's Daughter | 1h 1m | |
| 05:19 | Agatha Christie's Partners in CrimeTommy and Tuppence are still none the wiser as to the identity of Soviet agent 'N'. | S1 E6, Finessing the King | 1h 3m | |
| 06:22 | Agatha Christie's Partners in CrimeTommy and Tuppence Beresford are thrust into a web of international espionage. | S1 E1, The Secret Adversary | 1h 4m | |
| 07:26 | Agatha Christie's Partners in CrimeTommy is mistaken for a wealthy mastermind; the Beresfords try to maintain their cover. | S1 E2, Affair of the Pink Pearl | 1h 2m | |
| 08:28 | Agatha Christie's Partners in CrimeThe gang gives Tommy a job; the Beresfords try to foil a plot threatening the British government. | S1 E3, The House of Lurking Death | 1h 1m | |
| 09:28 | Agatha Christie's Partners in CrimeThe British Secret Service enlists Tommy and Tuppence to find a Soviet agent and a scientist. | S1 E4, The Sunningdale Mystery | 1h 2m | |
| 10:30 | Agatha Christie's Partners in CrimeTommy and Tuppence look elsewhere for the bomb thief after their prime suspect turns up dead. | S1 E5, The Clergyman's Daughter | 1h 1m | |
| 11:31 | Agatha Christie's Partners in CrimeTommy and Tuppence are still none the wiser as to the identity of Soviet agent 'N'. | S1 E6, Finessing the King | 1h 3m | |
| 12:34 | Agatha Christie's Partners in CrimeTommy and Tuppence Beresford are thrust into a web of international espionage. | S1 E1, The Secret Adversary | 1h 4m | |
| 13:37 | Agatha Christie's Partners in CrimeTommy is mistaken for a wealthy mastermind; the Beresfords try to maintain their cover. | S1 E2, Affair of the Pink Pearl | 1h 2m | |
| 14:39 | Agatha Christie's Partners in CrimeThe gang gives Tommy a job; the Beresfords try to foil a plot threatening the British government. | S1 E3, The House of Lurking Death | 1h 1m | |
| 15:40 | Agatha Christie's Partners in CrimeThe British Secret Service enlists Tommy and Tuppence to find a Soviet agent and a scientist. | S1 E4, The Sunningdale Mystery | 1h 2m | |
| 16:42 | Agatha Christie's Partners in CrimeTommy and Tuppence look elsewhere for the bomb thief after their prime suspect turns up dead. | S1 E5, The Clergyman's Daughter | 1h 1m | |
| 17:43 | Agatha Christie's Partners in CrimeTommy and Tuppence are still none the wiser as to the identity of Soviet agent 'N'. | S1 E6, Finessing the King | 1h 3m | |
| 18:45 | Agatha Christie's Partners in CrimeTommy and Tuppence Beresford are thrust into a web of international espionage. | S1 E1, The Secret Adversary | 1h 4m | |
| 19:49 | The Brokenwood MysteriesMike and his team explore the world of antiquities when the host of a hit series is found murdered. | S7 E1, The Garotte and the Vinklebraun | 1h 42m | |
| 21:31 | The Brokenwood MysteriesThe Brokenwood Health Retreat becomes unhealthy for one unfortunate visitor. | S7 E2, The Witches of Brokenwood | 1h 46m | |
| 23:17 | The Brokenwood MysteriesThe team must find out which robber pulled the trigger that leads to the murder of a bank manager. | S7 E3, Dog Day Morning | 1h 46m |
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_dsznfd9n/schedule?date=2026-10-11&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dsznfd9n/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dsznfd9n/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_dsznfd9n/schedule?date=2026-10-11&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_dsznfd9n/schedule?date=2026-10-11&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_dsznfd9n/schedule", params={"date": "2026-10-11", "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_dsznfd9n/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_7y0ycq9v", "channel": "ch_dsznfd9n", "start": "2026-10-11T02:24:53Z", "stop": "2026-10-11T04:11:07Z", "title": "The Brokenwood Mysteries", "sub_title": "The Brokenwood Mysteries", "description": "Mike and the team get re-acquainted with several women they've locked up in p...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 23, "date": "2026-10-11", "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.