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_pyf8cffp/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:54 | Terrifier 2After being resurrected by a sinister entity, Art the Clown returns to Miles County where he begins to target a teenage girl and her younger brothe... | Adrenaline + sci-fi | 2h 40m | |
| 01:34 | AnnaA man with the ability to enter people's memories takes on the case of a brilliant, troubled sixteen-year-old girl to determine whether she is a so... | Adrenaline + sci-fi | 1h 58m | |
| 03:32 | Violet & DaisyTwo teenage assassins accept what they think will be a quick-and-easy job, until an unexpected target throws them off their plan. | Adrenaline + sci-fi | 1h 43m | |
| 05:15 | MarrowboneA ghostly presence and a lawyer come between four young siblings. They must stand together or be torn apart. | Adrenaline + sci-fi | 2h 14m | |
| 07:29 | The Truth About EmanuelA troubled young woman becomes obsessed with her mysterious new neighbor, who bears a striking resemblance to the girl's dead mother. | Adrenaline + sci-fi | 1h 56m | |
| 09:25 | LilithA family sequesters themselves in a high-rise apartment after the mysterious death of their daughter Lilith. Haunted by their past, the survivor's ... | Adrenaline + sci-fi | 1h 48m | |
| 11:13 | ShroomsFive college students experience a bad trip while vacationing in Ireland and partaking of the local hallucinogenic fungi. | Adrenaline + sci-fi | 1h 38m | |
| 12:51 | The SacramentA mysterious rural utopia quickly becomes evident that this paradise may not be as it seems. | Adrenaline + sci-fi | 1h 55m | |
| 14:46 | The Love WitchA modern-day witch uses spells and magic to get men to fall in love with her, in a tribute to 1960s Technicolor thrillers. | Adrenaline + sci-fi | 2h 21m | |
| 17:07 | MarrowboneA ghostly presence and a lawyer come between four young siblings. They must stand together or be torn apart. | Adrenaline + sci-fi | 2h 14m | |
| 19:21 | Wind WalkersWith one of their own missing, a group of friends travel to the remote Florida everglades where they discover that an ancient, malevolent curse is ... | Adrenaline + sci-fi | 1h 50m | |
| 21:11 | St. AgathaA pregnant con woman on the run seeks refuge in a desolate convent, only to be met with an unsettling and horrendous evil waiting on the other side. | Adrenaline + sci-fi | 2h 4m | |
| 23:15 | The Woman in the FifthA college lecturer flees to Paris after a scandal costs him his job. In the City of Light, he meets a widow who might be involved in a series of mu... | Adrenaline + sci-fi | 1h 40m |
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_pyf8cffp/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_pyf8cffp/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_pyf8cffp/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_pyf8cffp/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_pyf8cffp/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_pyf8cffp/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_pyf8cffp/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_k6cd39zs", "channel": "ch_pyf8cffp", "start": "2026-10-12T02:54:00Z", "stop": "2026-10-12T05:34:00Z", "title": "Terrifier 2", "sub_title": null, "description": "After being resurrected by a sinister entity, Art the Clown returns to Miles ...", "category": [ "adrenaline + sci-fi" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-12", "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.