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.
All times America/New_York. The same day from the API: GET /v1/channels/ch_vhx050hv/schedule?date=2026-10-13&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Temporary SuspicionMarketing guru Robert Holding, life takes a dramatic turn after everyone forgets who he is. | 2h | ||
| 01:00 | Afroland Thriller | 1h | ||
| 02:00 | SistersWhen their grandma falls ill, Diamond and her closest cousins risk everything to save her and keep their family together. | 2h | ||
| 03:00 | Afroland Thriller | 1h | ||
| 04:00 | TannaIn a remote tribe, a girl and chief's grandson fall in love, but a peace deal betroths her to another. They flee, chased by both tribes, facing a c... | 2h 15m | ||
| 05:00 | Afroland Thriller | 1h | ||
| 06:00 | Afroland Thriller | 1h | ||
| 06:15 | Twisted VinesA lavish vineyard wedding turns dark when a body is found, and with hidden secrets and motives, everyone becomes a suspect. | 1h 45m | ||
| 07:00 | Afroland Thriller | 1h | ||
| 08:00 | Survive Or Die On nowA refugee lost in Australia evades a hunter's vengeance amid survival challenges. | 1h 45m | ||
| 09:00 | Afroland Thriller | 1h | ||
| 10:00 | Afroland Thriller | 1h | ||
| 11:00 | Everything is BothDown on her luck and scared for her life, Dysha turns to a mysterious stranger to help her pull off her biggest score yet. | 1h 31m | ||
| 12:00 | Afroland Thriller | 1h | ||
| 12:31 | An Anthem In GreyOn a troubled campus, a young man with a complicated past finds himself caught between desire and a strict political movement after vowing to uphol... | |||
| 13:00 | Afroland Thriller | 1h | ||
| 14:00 | Afroland Thriller | 1h | ||
| 15:00 | Afroland Thriller | 1h | ||
| 15:30 | Jonestown: The Final ReckoningA Jonestown survivor returns to Guyana with her daughter, reliving unimaginable horrors 30 years later. | 1h 6m | ||
| 16:00 | Afroland Thriller | 1h | ||
| 16:36 | The DriftersDitch safety. Live where fear lurks. Crush your rep. Be wild. 'The Drifters' tracks Fanny and Koffee, outsiders in post-Brexit UK, on a sunny Devon... | 1h 39m | ||
| 17:00 | Afroland Thriller | 1h | ||
| 18:00 | Afroland Thriller | 1h | ||
| 18:15 | Disturbing Intentions: Bad vs EvilRyanna wakes up one morning to receive a phone call that her husband has been kidnapped. The kidnapper is demanding Ryanna to do some horrible, dis... | 1h 30m | ||
| 19:00 | Afroland Thriller | 1h | ||
| 19:45 | Rutland ManorA luxury influencer event hosted by Starr Burrell turns deadly when someone begins hunting the guests. | 1h 45m | ||
| 20:00 | Afroland Thriller | 1h | ||
| 21:00 | Afroland Thriller | 1h | ||
| 22:00 | Afroland Thriller | 1h | ||
| 23:00 | Afroland Thriller | 1h |
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_vhx050hv/schedule?date=2026-10-13&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_vhx050hv/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_vhx050hv/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_vhx050hv/schedule?date=2026-10-13&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_vhx050hv/schedule?date=2026-10-13&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_vhx050hv/schedule", params={"date": "2026-10-13", "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_vhx050hv/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_p3wvx5na", "channel": "ch_vhx050hv", "start": "2026-10-13T04:00:00Z", "stop": "2026-10-13T06:00:00Z", "title": "Temporary Suspicion", "sub_title": null, "description": "Marketing guru Robert Holding, life takes a dramatic turn after everyone forg...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 30, "date": "2026-10-13", "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.