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/Brussels 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/Brussels. The same day from the API: GET /v1/channels/ch_f87qj4wy/schedule?date=2026-10-15&tz=Europe/Brussels
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 21:33 | El Conquistador del Fin del MundoUn grupo de bandoleros asalta el tren donde viajan todos los concursantes, dando inicio a una jornada llena de tensión. | 2h 37m | ||
| 00:00 | El Conquistador | 1h | ||
| 00:10 | El Conquistador del Fin del MundoJuanito Oiarzabal y José Luis Korta se incorporan como capitanes: Korta lidera el equipo verde (Cóndor) y Juanito el rojo (Pumas). | 2h 45m | ||
| 01:00 | El Conquistador | 1h | ||
| 02:00 | El Conquistador | 1h | ||
| 02:55 | El Conquistador del Fin del MundoDavid Seco se incorpora como capitán del equipo rojo (Pumas) y Alejandro López de Silanes "Locuras" lidera el equipo verde (Cóndores). | 2h 39m | ||
| 03:00 | El Conquistador | 1h | ||
| 04:00 | El Conquistador | 1h | ||
| 05:34 | El Conquistador del PacíficoJuego de inmunidad: la prueba consiste en rescatar un cañon de casi 400 kilos de peso tras las nadar 500 metros, arrastrandolo hasta el punto indic... | 1h 50m | ||
| 07:24 | El Conquistador del PacíficoDiscusion en el equipo azul: pili, luisito y sveta. Asamblea. Juego de inmunidad: cada equipo elige un lider. El juego consiste en recoger una pert... | 2h 22m | ||
| 09:45 | El Conquistador del PacíficoJon estiati del equipo azul es trasladado al hospital por calambres y taquicardias. Juego de inmunidad: construir una tirolina y atravesar el rio. | 2h 26m | ||
| 12:11 | El Conquistador del Fin del MundoEn el campamento azul (Piche), intentan encender fuego usando unas gafas como lupa. Patxi Alonso y David Seco reprenden a Locuras por su actitud. | 2h 46m | ||
| 14:57 | El Conquistador del Fin del MundoLa tensión aumenta en los campamentos antes del juego de inmunidad: "La Gran Trepada". Los equipos deben nadar hasta una isla, inflar embarcaciones... | 3h 8m | ||
| 18:05 | El Conquistador del Fin del MundoEn los campamentos se vive tensión antes del nuevo reto anunciado por correo: el juego de inmunidad "El Tumbapalos". | 2h 29m | ||
| 20:34 | El Conquistador Del CaribeLos tres equipos deben elegir a uno de sus miembros para que coma una 'tarta condenata'. | 2h 23m | ||
| 22:58 | El Conquistador Del CaribeManu Maritxalar se queja de su costilla y se plantea abandonar el concurso. Los equipos deciden quienes participaran en el juego de inmunidad. | 2h 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_f87qj4wy/schedule?date=2026-10-15&tz=Europe/Brussels" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f87qj4wy/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f87qj4wy/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_f87qj4wy/schedule?date=2026-10-15&tz=Europe/Brussels"); 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_f87qj4wy/schedule?date=2026-10-15&tz=Europe/Brussels", { 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_f87qj4wy/schedule", params={"date": "2026-10-15", "tz": "Europe/Brussels"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_f87qj4wy/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_ppkts6e4", "channel": "ch_f87qj4wy", "start": "2026-10-14T19:33:54Z", "stop": "2026-10-14T22:10:52Z", "title": "El Conquistador del Fin del Mundo", "sub_title": null, "description": "Un grupo de bandoleros asalta el tren donde viajan todos los concursantes, da...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 16, "date": "2026-10-15", "tz": "Europe/Brussels" } }
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.