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. Search any past day on the Archive plan.
All times America/New_York. The same day from the API: GET /v1/channels/ch_5zrcqke4/schedule?date=2026-10-10&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:15 | Midsomer MurdersBarnaby and Troy tackle two separate cases as Troy prepares to leave Midsomer after his promotion to DI. | S7 E1, The Green Man | 2h | |
| 01:15 | Midsomer MurdersBarnaby's new Sergeant arrives on the day after the murder of a local shrew occurs. | S7 E2, Bad Tidings | 2h | |
| 03:15 | Midsomer MurdersA thirty year old death at a Celtic burial site result in a series of murders in present day Midsomer. | S7 E3, The Fisher King | 1h 56m | |
| 05:11 | Midsomer MurdersWhen Midsomer hosts its 12th Annual Literary Festival, an author is found with his neck broken. | S7 E4, Sins of Commission | 1h 54m | |
| 07:05 | Midsomer MurdersDCI Tom Barnaby and DS Dan Scott investigate the shotgun murder of Jamie Cruikshank. | S7 E5, The Maid in Splendour | 2h 1m | |
| 09:06 | Midsomer MurdersThe curate of the local church in Midsomer Parva is burned alive in the effigy of the straw woman. | S7 E6, The Straw Woman | 1h 54m | |
| 10:59 | Midsomer MurdersExactly nine years after Ferdy Villers killed himself, his family reunites unaware someone is out for revenge. | Ghosts Of Christmas Past | 1h 54m | |
| 12:53 | Midsomer MurdersThe appearance of a headless horseman at Quitewell Hall foreshadows a number of deaths. | S15 E1, The Dark Rider | 1h 47m | |
| 14:40 | Midsomer MurdersWhen a barrister is killed in Midsomer, suspicion falls on convicted murderer Grady Felton. | S15 E2, Murder of Innocence | 1h 46m | |
| 16:26 | Midsomer MurdersThe murder of a journalist has echoes of a 1960s horror film starring Midsomers own Stella Harris. | S15 E3, Written in the Stars | 1h 47m | |
| 18:13 | Midsomer MurdersAmateur astronomer Jeremy Harper is killed by a blow to the head with a meteorite. | S15 E3, Written in the Stars | 1h 46m | |
| 19:59 | Midsomer MurdersA killer strikes members of a chess club. | S15 E5, The Sicilian Defence | 1h 46m | |
| 21:45 | Midsomer MurdersA woman is crushed to death with a giant round of cheese at the home of the world-famous Midsomer Blue. | S15 E6, Schooled in Murder | 1h 47m | |
| 23:31 | Midsomer MurdersBarnaby and Troy uncover a seedy world of adultery and deceit within the affluent rural community. | S4 E6, Tainted Fruit | 2h |
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_5zrcqke4/schedule?date=2026-10-10&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5zrcqke4/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5zrcqke4/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_5zrcqke4/schedule?date=2026-10-10&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_5zrcqke4/schedule?date=2026-10-10&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_5zrcqke4/schedule", params={"date": "2026-10-10", "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_5zrcqke4/schedule?date=2026-10-10, the first programme { "data": [ { "id": "ls_n42ptgm5", "channel": "ch_5zrcqke4", "start": "2026-10-10T03:15:14Z", "stop": "2026-10-10T05:15:27Z", "title": "Midsomer Murders", "sub_title": "The Green Man", "description": "Barnaby and Troy tackle two separate cases as Troy prepares to leave Midsomer...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-10", "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 155 countries.