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 Europe/Madrid 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 Europe/Madrid. The same day from the API: GET /v1/channels/ch_q7w7t8cq/schedule?date=2026-10-14&tz=Europe/Madrid
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:48 | CoplandMurray Babitch, un oficial de la policía de Nueva York, mantiene un enfrentamiento con dos adolescentes mientras conduce de vuelta a casa. Convenci... | Cine | 1h 45m | |
| 01:33 | Los chicos están bienDos hermanos buscan al hombre que donó el esperma para que sus madres lesbianas pudieran tenerlos. Pero cuando le encuentran, lo único que consigue... | Cine | 1h 44m | |
| 03:17 | Cuatro paredesManuela Vellés ("Caótica Ana") y Sofía Otero ("20.000 especies de abejas") -la persona más joven en ganar el Oso de Plata a la mejor interpretación... | Cine | 1h 25m | |
| 04:42 | Muy lejosNominada a dos premios Goya: mejor dirección novel y actor protagonista para Mario Casas, considerado por muchos críticos el mejor trabajo del acto... | Cine | 1h 38m | |
| 06:20 | El festín de BabetteSiglo XIX. En una remota aldea de Dinamarca dominada por el puritanismo, dos hermanas solteras recuerdan con nostalgia su lejana juventud y la rígi... | Cine | 1h 40m | |
| 08:00 | El mercader de VeneciaBassanio necesita dinero para conquistar la mano de Porcia y no duda en pedirle ayuda a Antonio, un importante mercader amigo suyo. Éste, a su vez,... | Cine | 2h 10m | |
| 10:10 | Mujeres poderosasSeis mujeres, en diferentes etapas de la vida, luchan contra las expectativas de la sociedad en esta comedia dramática sobre la autoimagen, el amor... | Cine | 1h 44m | |
| 11:54 | 8Ocho capítulos, rodados en ocho planos secuencia y ambientados en ocho momentos históricos del último siglo en España (entre 1931 y 2021) componen ... | Cine | 2h 5m | |
| 13:59 | CrashUn detective de policía negro con una madre drogadicta y un hermano desaparecido, el ocupado fiscal del distrito y su irritable mujer, un veterano ... | Cine | 1h 50m | |
| 15:49 | Never AloneEl prestigioso cineasta finlandés Klaus Härö ("La clase de esgrima" y "Cartas al padre") dirige este drama bélico, basado en hechos reales, sobre l... | Cine | 1h 25m | |
| 17:14 | El último emperadorPekín, 1908. El niño Pu Yi, de dos años de edad, es conducido a la Ciudad Prohibida, donde la anciana Emperatriz proclama al pequeño futuro Emperad... | Cine | 2h 40m | |
| 19:54 | Cinema ParadisoEl pequeño Salvatore, conocido como Toto, no se separa de Alfredo, el operador del Paradiso, el único cine de un pequeño pueblo siciliano. Gracias ... | Cine | 2h 6m | |
| 22:00 | Hijos de los hombresEn el año 2027, un joven de 18 años fallece. Esto no tendría mayor importancia si no fuera porque era la persona más joven del planeta: las mujeres... | Cine | 1h 50m | |
| 23:50 | Yo siempre a veces | Cómo se hizo | Series | 12m |
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_q7w7t8cq/schedule?date=2026-10-14&tz=Europe/Madrid" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_q7w7t8cq/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_q7w7t8cq/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_q7w7t8cq/schedule?date=2026-10-14&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_q7w7t8cq/schedule?date=2026-10-14&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_q7w7t8cq/schedule", params={"date": "2026-10-14", "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_q7w7t8cq/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_ncqya9dj", "channel": "ch_q7w7t8cq", "start": "2026-10-13T21:48:00Z", "stop": "2026-10-13T23:33:00Z", "title": "Copland", "sub_title": null, "description": "Murray Babitch, un oficial de la policía de Nueva York, mantiene un enfrentam...", "category": [ "cine" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-14", "tz": "Europe/Madrid" } }
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.