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.
All times America/New_York. The same day from the API: GET /v1/channels/ch_pxsr5tf7/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:30 | The Final ListWhen an unbearable marriage list is presented to a young lady's groom-to-be, will their relationship withstand the chaos? | 2h | ||
| 00:00 | Afroland Romance | 1h | ||
| 01:00 | Afroland Romance | 1h | ||
| 01:30 | FirstCharles, an aspiring documentarian, reunites with childhood friend Robin and turns the camera on them, capturing each fragile \u201Cfirst\u201D as ... | 2h 30m | ||
| 02:00 | Afroland Romance | 1h | ||
| 03:00 | Afroland Romance | 1h | ||
| 04:00 | ScandalousInfidelity shatters trust as a funeral reunion ignites secrets, testing marriage, friendship, and loyalty in a storm of raw emotions. | 1h 30m | ||
| 05:00 | Afroland Romance | 1h | ||
| 05:30 | Should've Put A Ring On ItAs a top TV executive, LeBaron Brown enjoys success, wealth, and love. Then, without warning, he\u2019s left single, and wondering what went wrong. | 1h 45m | ||
| 06:00 | Afroland Romance | 1h | ||
| 07:00 | Afroland Romance | 1h | ||
| 07:15 | Latasha HarlinsLatasha Harlins turns personal loss into purpose and inspiration in South Central LA, where survival demands more than strength alone. | 2h 15m | ||
| 08:00 | Afroland Romance | 1h | ||
| 09:00 | Afroland Romance | 1h | ||
| 09:30 | The Next DanceYears of friendship and shared rhythm are tested when a prestigious dance contest demands absolute harmony. Two choices hang in the balance: find y... | 1h 30m | ||
| 10:00 | Afroland Romance | 1h | ||
| 11:00 | The Straight PathWhat happens in the dark always comes to light. A couple learns the hard way that the straight path in life is best after all. | 2h 30m | ||
| 12:00 | Afroland Romance | 1h | ||
| 13:00 | Afroland Romance | 1h | ||
| 13:30 | Affliction:Toxic MiseryShawn Reed lies to his girlfriend to spend a weekend with a volatile social media crush. What begins as fun quickly turns into a nightmare, and his... | 2h 30m | ||
| 14:00 | Afroland Romance | 1h | ||
| 15:00 | Afroland Romance | 1h | ||
| 16:00 | Betray: Thirst On nowThe consequences of a risky affair come swift, severe, and unavoidable for a successful lawyer who crosses boundaries with a client. | 2h 15m | ||
| 17:00 | Afroland Romance On now | 1h | ||
| 18:00 | Afroland Romance | 1h | ||
| 18:15 | A Thousand FacesIn A Thousand Faces, a one-night stand turns tense when a police lockdown traps Asha and Lucas, forcing them to face their past and unexpected feel... | 1h 45m | ||
| 19:00 | Afroland Romance | 1h | ||
| 20:00 | Afroland Romance | 1h | ||
| 21:00 | Afroland Romance | 1h | ||
| 22:00 | Afroland Romance | 1h | ||
| 23:00 | Afroland Romance | 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_pxsr5tf7/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_pxsr5tf7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_pxsr5tf7/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_pxsr5tf7/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_pxsr5tf7/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_pxsr5tf7/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_pxsr5tf7/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_4pwkqcsg", "channel": "ch_pxsr5tf7", "start": "2026-10-12T03:30:00Z", "stop": "2026-10-12T05:30:00Z", "title": "The Final List", "sub_title": null, "description": "When an unbearable marriage list is presented to a young lady's groom-to-be, ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 31, "date": "2026-10-12", "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 155 countries.