73.8M 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_2s5k8gb8/schedule?date=2026-10-16&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Boys Over FlowersA note indicates that class has been moved to the science lab. The lab is unoccupied, but Jan Di waits, not realizing that the room is filling with... | Drama, Entertainment | 1h 15m | |
| 01:15 | Boys Over FlowersJan Di's father gets kidnapped by loan sharks, which inevitably forces Jan Di's mother to swallow her pride and plead for Madam Kang's help. | Drama, Entertainment | 1h 15m | |
| 03:45 | Boys Over FlowersJan Di waits to hear the conclusions of F3's meeting with Jun-pyo, and can tell from their look that it was not good. | Drama, Entertainment | 1h 15m | |
| 05:00 | Boys Over FlowersAfter treating Jan Di in a cruel manner, Mr. Jung prepares everything so that Jun-Pyo can visit her in Seoul. Will he be able to go without Madam K... | Drama, Bingeworthy | 1h 15m | |
| 06:15 | Hello, GoodbyeAoi and Hazuka are classmates, but they are not friends. The two girls meet an elderly woman who wants to give a love letter to her first love. Haz... | Drama, Films | 1h 40m | |
| 07:55 | Boys Over FlowersJan Di's family hears about Jun-pyo's engagement and asks her miserably if it's true. | Drama, Entertainment | 1h 20m | |
| 09:15 | Boys Over FlowersJi-hoo can see how hurt Jan Di is by the kiss, and continues to follow her as she stumbles around in shock. | Drama, Bingeworthy | 1h 20m | |
| 10:35 | Boys Over FlowersJun-pyo begins seeing Jae-Kyung in a new light, like he's seeing her for the first time as a potential friend -- or maybe a kindred spirit. | Drama, Entertainment | 1h 20m | |
| 11:55 | Boys Over FlowersWoo-bin tries to talk some sense into Yi-jung, who is determined to drink himself into a stupor. | Drama, Entertainment | 1h 20m | |
| 13:15 | Boys Over FlowersAt home, Jun-hee reminisces about how her mother meddled in her life, in much the same way she's interfering in Jun-pyo's now. | Drama, Entertainment | 1h 20m | |
| 14:35 | Boys Over FlowersYi-jung is waiting outside for Eun-jae, excited to see her -- until he listens in on her phone conversation; from her words, it sounds like a call ... | Drama, Bingeworthy | 1h 20m | |
| 15:55 | Boys Over FlowersJun-pyo begs for Jan Di to advise him not to get married. | Drama, Bingeworthy | 1h 20m | |
| 17:15 | Boys Over FlowersJun-pyo tells Jan Di that he'll protect her, but to Jun-pyo's surprise, she says that she does not want to be cosseted or taken care of. | Drama, Entertainment | 1h 20m | |
| 18:35 | Boys Over FlowersPerhaps feeling it's time to expose one truth, Mr. Jung leads Jun-hee to the unknown patient's bedside; at the sight of her father, Jun-hee breaks ... | Drama, Entertainment | 1h 20m | |
| 19:55 | Boys Over FlowersJun-pyo asks Yumi to make the lunchbox once more, confirming that Yumi had taken credit for her lunch. | Drama, Entertainment | 1h 20m |
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_2s5k8gb8/schedule?date=2026-10-16&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_2s5k8gb8/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_2s5k8gb8/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_2s5k8gb8/schedule?date=2026-10-16&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_2s5k8gb8/schedule?date=2026-10-16&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_2s5k8gb8/schedule", params={"date": "2026-10-16", "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_2s5k8gb8/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_wa06evgj", "channel": "ch_2s5k8gb8", "start": "2026-10-16T04:00:00Z", "stop": "2026-10-16T05:15:00Z", "title": "Boys Over Flowers", "sub_title": null, "description": "A note indicates that class has been moved to the science lab. The lab is uno...", "category": [ "drama", "entertainment" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 15, "date": "2026-10-16", "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.