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 Europe/Madrid time, what is on now and next, and the same data in your app with one call.
All times Europe/Madrid. The same day from the API: GET /v1/channels/ch_5e98kk8q/schedule?date=2026-10-11&tz=Europe/Madrid
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:33 | Melancholia EP9Seung-yu tries to get Yoon-soo to come out of his shell, just like he did for her. | 1h 7m | ||
| 00:40 | Derritiéndome suavemente EP7Mi-ran y Dong-chan se pierden. La temperatura aumenta, y la de ellos también. | 1h 7m | ||
| 01:47 | Derritiéndome suavemente EP8Luego del beso, Mi-ran y Dong-chan se comportan raros, y Mi-ran se disculpa por besarlo. | 1h 8m | ||
| 02:55 | Derritiéndome suavemente EP9El comportamiento de Dong-chan confunde a Mi-ran. Ha-young le advierte a Mi-ran que no meta en problemas a Dong-chan. | 1h 9m | ||
| 04:04 | Cuando florece mi amor EP7Sospechando algo, Jae-hyun comienza a observar a Se-hun. | 1h 7m | ||
| 05:11 | Cuando florece mi amor EP8Jae-hyun pasa por la oficina del fiscal. Seo-gyeong esparce un rumor falso sobre Ji-su. | 1h 5m | ||
| 06:16 | Cuando florece mi amor EP9En la residencia de ancianos, el padre de Ji-su y Jae-hyun se encuentran nuevamente. | 1h 9m | ||
| 07:25 | MissingWook, Pan-seok, and Jong-ah get into Choiseung Construction to ask Yeo-hee about Hyun-mi's death. | The Other Side EP7 | 1h 5m | |
| 08:29 | MissingDoo-cheol's appearance reveals the secret of Duon Village and puts the place in complete chaos. | The Other Side EP8 | 1h 10m | |
| 09:39 | MissingWook goes to Manager Wang's henchmen for Jong-ah but gets in danger and is on the verge of death. | The Other Side EP9 | 1h 4m | |
| 10:43 | The Witch's Diner EP7Jin descubre que Young Choon está casada. Gil Yong la protege Jin encuentra consuelo con su madre. | 40m | ||
| 11:23 | The Witch's Diner EP8Jin descubre que Hee Ra es su madre, busca venganza, hereda el restaurante. | 44m | ||
| 12:07 | Secret Royal Inspector & Joy EP7Do-su consigue un guía que pueda llevarlo directamente a Tae-seo, mientras Jo-yi sigue a una figura misteriosa. | 1h 4m | ||
| 13:11 | Secret Royal Inspector & Joy EP8Mientras Joy examina los registros comerciales de Tae-seo, identifica un símbolo familiar. | 1h 4m | ||
| 14:15 | Secret Royal Inspector & Joy EP9Joy busca ayuda de una comerciante para encontrar a su madre, sin saber que es una trampa. | 1h 4m | ||
| 15:19 | MissingOn industrial complex 3 sports day, Ro-ha, who wants to win first place, is at the starting line. | The Other Side 2 EP7 | 1h 11m | |
| 16:30 | MissingKo Sang-cheol secretly observes the town and begins to feel suspicious of Il-yong's daily routine. | The Other Side 2 EP8 | 1h 8m | |
| 17:38 | MissingThe reason for Il-yong's odd behavior gets revealed. People plan to kick the kidnapper out. | The Other Side 2 EP9 | 1h 5m | |
| 18:43 | Hundred Million Stars From the Sky EP7Moo-young llama a Seung-ah e intenta iniciar un juego con su vida en juego. | 1h 7m | ||
| 19:50 | Hundred Million Stars From the Sky EP8Jin-kook guarda silencio sobre la implicación de Moo-young en el asesinato, pero alguien descubre su secreto. | 1h 8m | ||
| 20:58 | Hundred Million Stars From the Sky EP9Jin-kook advierte a Jin-kang sobre Moo-young, pero ella no puede evitar preocuparse por él. | 1h 8m | ||
| 22:06 | Righteous Love EP9Heetae decide divorciarse de Ilri, pero confesiones inesperadas complican las cosas. | 1h 7m | ||
| 23:13 | Righteous Love EP10Heetae contrata a un cuidador, mientras Ilri enfrenta secretos y traiciones. | 1h 8m |
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_5e98kk8q/schedule?date=2026-10-11&tz=Europe/Madrid" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5e98kk8q/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5e98kk8q/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_5e98kk8q/schedule?date=2026-10-11&tz=Europe/Madrid"); 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_5e98kk8q/schedule?date=2026-10-11&tz=Europe/Madrid", { 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_5e98kk8q/schedule", params={"date": "2026-10-11", "tz": "Europe/Madrid"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_5e98kk8q/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_9ygwp8md", "channel": "ch_5e98kk8q", "start": "2026-10-10T21:33:55Z", "stop": "2026-10-10T22:40:32Z", "title": "Melancholia EP9", "sub_title": null, "description": "Seung-yu tries to get Yoon-soo to come out of his shell, just like he did for...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 23, "date": "2026-10-11", "tz": "Europe/Madrid" } }
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.