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. Search any past day on the Archive plan.
All times America/New_York. The same day from the API: GET /v1/channels/ch_devgkft8/schedule?date=2026-10-15&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:33 | Agatha Christie's Miss MarpleA dead man has a handful of rye in his pocket. | Agatha Christie's Miss Marple | 1h | |
| 00:33 | Agatha Christie's Miss MarpleMiss Marple thinks a nursery rhyme is the clue to a murder. | Agatha Christie's Miss Marple | 1h 1m | |
| 01:34 | The Hound of the BaskervillesSherlock Holmes and Dr Watson investigate a mysterious death in Devonshire. | S1 E1, Part 1 | 33m | |
| 02:07 | The Hound of the BaskervillesSherlock realises that his client is being followed by a mysterious danger. | S1 E2, Part 2 | 34m | |
| 02:41 | The Hound of the BaskervillesA hound howls, and a man dies. | S1 E3, Part 3 | 34m | |
| 03:15 | The Hound of the BaskervillesA glowing hound attacks Sir Henry. | S1 E4, Part 4 | 34m | |
| 03:49 | Agatha Christie's Miss MarpleMiss Marple investigates the murder of a dance hostess. | S1 E1, The Body in the Library | 1h 1m | |
| 04:50 | Agatha Christie's Miss MarpleMiss Marple visits a seaside resort to investigate her suspects. | S1 E2, The Murder at the Vicarage | 1h 1m | |
| 05:51 | Agatha Christie's Miss MarpleMiss Marple finds a second body and sets out to trap the killer. | S1 E3, 4.50 from Paddington | 1h 1m | |
| 06:52 | Agatha Christie's Miss MarpleMalicious letters are clues to a woman's death. | S1 E4, A Murder is Announced | 57m | |
| 07:49 | Agatha Christie's Miss MarpleMalicious letters are clues to a woman's death. | Agatha Christie's Miss Marple | 57m | |
| 08:46 | Agatha Christie's Miss MarpleAn ad appears in a local paper announcing a forthcoming murder. | Agatha Christie's Miss Marple | 1h 2m | |
| 09:48 | Agatha Christie's Miss MarpleShots are fired at Letitia Blacklock, but one witness is dead. | Agatha Christie's Miss Marple | 1h 3m | |
| 10:51 | Agatha Christie's Miss MarpleThe killer is still at large, and an inheritance comes to light. | Agatha Christie's Miss Marple | 1h 1m | |
| 11:52 | Agatha Christie's Miss MarpleA dead man has a handful of rye in his pocket. | Agatha Christie's Miss Marple | 1h | |
| 12:52 | Agatha Christie's Miss MarpleMiss Marple thinks a nursery rhyme is the clue to a murder. | Agatha Christie's Miss Marple | 1h 1m | |
| 13:53 | Return to ParadiseDolphin Cove local royalty Stuart Granger washes ashore with a knife in his back. | S1 E1, R.I.P. Tide | 1h 1m | |
| 14:54 | Return to ParadiseDI Mackenzie Clarke has two mysteries on her hands, including the murder of a famous influencer. | S1 E2, Dead Last | 1h 1m | |
| 15:56 | Return to ParadiseThree hairdressers return from lunch to find boss Bianca Bailey has been killed. | S1 E3, Curl Up and Dye | 1h 1m | |
| 16:57 | Return to ParadiseAn eco-activist was murdered while all the suspects were chained together during a protest. | S1 E4, Killer Climate | 1h 1m | |
| 17:58 | Return to ParadiseA game of lawn bowls turns to chaos when a man is killed on the green. | S1 E5, Dead Bowl | 1h 1m | |
| 18:59 | Return to ParadiseWhen crabby Vince Ogden is found dead in his locked bedsit, it is presumed he ended his own life. | S1 E6, Oh Mine Papa | 1h 1m | |
| 20:00 | The Hound of the BaskervillesSherlock Holmes and Dr Watson investigate a mysterious death in Devonshire. | S1 E1, Part 1 | 33m | |
| 20:33 | The Hound of the BaskervillesSherlock realises that his client is being followed by a mysterious danger. | S1 E2, Part 2 | 34m | |
| 21:07 | The Hound of the BaskervillesA hound howls, and a man dies. | S1 E3, Part 3 | 34m | |
| 21:41 | The Hound of the BaskervillesA glowing hound attacks Sir Henry. | S1 E4, Part 4 | 34m | |
| 22:15 | The Inspector Lynley MysteriesThe body of a child who had been abducted 15 years ago is discovered. | S6 E1, Limbo | 56m | |
| 23:10 | The Inspector Lynley MysteriesA family walk turns sour as they come upon a man's body hanging in the woods. | S6 E2, Know Thine Enemy | 51m |
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_devgkft8/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_devgkft8/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_devgkft8/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_devgkft8/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_devgkft8/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_devgkft8/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_devgkft8/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_d3pe1nh5", "channel": "ch_devgkft8", "start": "2026-10-15T03:33:52Z", "stop": "2026-10-15T04:33:50Z", "title": "Agatha Christie's Miss Marple", "sub_title": "Agatha Christie's Miss Marple", "description": "A dead man has a handful of rye in his pocket.", "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.