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.
All times Europe/Madrid. The same day from the API: GET /v1/channels/ch_b7sb8gvq/schedule?date=2026-10-13&tz=Europe/Madrid
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:55 | El susurro de los abetosEl verano está llegando a su fin, hace tres meses que Heidi llegó a los Alpes. Pichí es ya un adulto y travieso pajarillo. El otoño se acerca y en ... | Children, Series | 27m | |
| 00:22 | Heidi 2D: ¿A dónde ha ido Pitchí? On nowCon la llegada del frío, Pichí tiene que migrar. Heidi se pone muy triste porque al principio no lo entiende, pero el abuelo se lo explica. Pedro, ... | ¿A dónde ha ido Pitchí? | Children, Series | 27m |
| 00:49 | Heidi 2D: Los Alpes nevadosEl invierno llega a los Alpes, Heidi se despierta con la cama llena de nieve y le encanta. Luego ve a un ciervo y le da heno para hacerse amiga de ... | Los Alpes nevados | Children, Series | 27m |
| 01:16 | Heidi 2D: Una visita a casa de la abuelaDesde que Pedro la invitó a su casa, Heidi está impaciente por ir, pero el abuelo le ha dicho que debe esperar hasta que deje de nevar y la nieve e... | Una visita a casa de la abuela | Children, Series | 27m |
| 01:43 | Heidi 2D: Tempestad de nieveEl invierno en los Alpes es largo y riguroso. A veces nieva durante semanas. Desde que el abuelo reparó la cabaña de Pedro, Heidi va siempre que la... | Tempestad de nieve | Children, Series | 27m |
| 02:10 | Heidi 2D: Sonidos de primaveraEl invierno está tocando a su fin, la nieve empieza a derretirse y empiezan a salir las primeras flores de la primavera. | Sonidos de primavera | Children, Series | 27m |
| 02:37 | Heidi 2D: Primavera en las montañasLlega la primavera y Pedro vuelve a llevar a las cabras a pastar. Heidi lo acompaña y los dos tienen un altercado con un pastor que les pega porque... | Primavera en las montañas | Children, Series | 27m |
| 03:04 | Heidi 2D: Una noticia tristePedro no sabe cómo decirle a Heidi que el dueño de Copo de Nieve quiere sacrificarla el próximo verano porque no da leche en cantidad y resulta car... | Una noticia triste | Children, Series | 27m |
| 03:31 | Heidi 2D: Copo de NieveEl dueño de Copo de Nieve le dice a Pedro que no vuelva a por ella otra vez. Heidi, al ver que será la última vez que verá a Copo de Nieve, no la d... | Copo de Nieve | Children, Series | 27m |
| 03:58 | Heidi 2D: DorfliHeidi y Pedro van a Dorfli para ver a Copo de Nieve. Más tarde se encuentran con unos niños con los que intentan jugar, pero estos no quieren porqu... | Dorfli | Children, Series | 27m |
| 04:25 | Heidi 2D: Visitas inesperadasEl cura de Dorfli se acerca a la casa del abuelo para pedirle que deje ir a Heidi a la escuela para que aprenda cosas útiles para la vida, y le adv... | Visitas inesperadas | Children, Series | 27m |
| 04:52 | Heidi 2D: La partidaDete visita al abuelo en los Alpes con la intención de llevarse a Heidi a Fráncfort con ella. Le cuenta que allí le hará compañía a una chica en si... | La partida | Children, Series | 27m |
| 05:19 | Heidi 2D: Camino de FráncfortHeidi se da cuenta de que la tía Dete la ha engañado para llevársela a Fráncfort y no quiere ir, pero ya es demasiado tarde. Una vez allí, Heidi se... | Camino de Fráncfort | Children, Series | 27m |
| 05:46 | Heidi 2D: Una nueva vidaHeidi se siente muy triste en su primer día en Fráncfort y quiere volver a las montañas con el abuelo y Pedro. Clara se da cuenta de lo triste que ... | Una nueva vida | Children, Series | 24m |
| 06:10 | Heidi 2D: Quiero volarHeidi deja libre el pájaro de Clara, pero este vuelve al poco tiempo, algo que Heidi no entiende. | Quiero volar | Children, Series | 27m |
| 06:37 | Heidi 2D: ¿Dónde están las montañas?Heidi quiere ver las montañas. Clara le dice que, si sube al desván, puede que las vea. Heidi lo hace, pero no puede verlas. Entonces, Sebastián le... | ¿Dónde están las montañas? | Children, Series | 27m |
| 07:04 | Heidi 2D: Un gran alborotoTras no poder ver las montañas desde el campanario de la iglesia, Heidi vuelve a casa con un gato que le ha regalado el campanero. | Un gran alboroto | Children, Series | 27m |
| 07:31 | Heidi 2D: El gato abandonadoLa señorita Rottenmeier encuentra al gato Miau y se deshace de él, y Heidi se enfada con Clara porque ve que no hace nada para evitarlo. Para calma... | El gato abandonado | Children, Series | 27m |
| 07:58 | Heidi 2D: Los panecillos blancosLa señorita Rottenmeier encuentra y tira los panecillos blancos que Heidi ha ido guardando en su armario para llevárselos a la abuelita cuando vuel... | Los panecillos blancos | Children, Series | 27m |
| 08:25 | Heidi 2D: El regreso del señor SessemanEl padre de Clara viene de visita. Heidi y Clara están muy contentas porque el señor Sesemann sabe muchos juegos y es muy simpático. | El regreso del señor Sesseman | Children, Series | 27m |
| 08:52 | Heidi 2D: La abuelita de ClaraLa abuelita de Clara viene a pasar unos días con las niñas. Heidi está muy contenta con ella porque es muy buena y también sabe muchos juegos. | La abuelita de Clara | Children, Series | 26m |
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_b7sb8gvq/schedule?date=2026-10-13&tz=Europe/Madrid" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_b7sb8gvq/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_b7sb8gvq/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_b7sb8gvq/schedule?date=2026-10-13&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_b7sb8gvq/schedule?date=2026-10-13&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_b7sb8gvq/schedule", params={"date": "2026-10-13", "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_b7sb8gvq/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_dnwse26r", "channel": "ch_b7sb8gvq", "start": "2026-10-12T21:55:00Z", "stop": "2026-10-12T22:22:00Z", "title": "El susurro de los abetos", "sub_title": null, "description": "El verano está llegando a su fin, hace tres meses que Heidi llegó a los Alpes...", "category": [ "children", "series", "animated" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 21, "date": "2026-10-13", "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 155 countries.