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. Search any past day on the Archive plan.
All times Europe/Madrid. The same day from the API: GET /v1/channels/ch_abc043qg/schedule?date=2026-10-13&tz=Europe/Madrid
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Tranquilidad nocturnaÚtil para relajarte tras un día tenso e iniciar tu camino al sueño. | 1h | ||
| 01:00 | Tranquilidad nocturnaÚtil para relajarte tras un día tenso e iniciar tu camino al sueño. | 1h | ||
| 02:00 | Sueño en la CabañaUn sueño acogedor te espera en una escapada de ensueño a una cabaña. | 1h | ||
| 03:00 | Sueño en la CabañaUn sueño acogedor te espera en una escapada de ensueño a una cabaña. | 1h | ||
| 04:00 | Sueño en la CabañaUn sueño acogedor te espera en una escapada de ensueño a una cabaña. | 1h | ||
| 05:00 | Sueño en la CabañaUn sueño acogedor te espera en una escapada de ensueño a una cabaña. | 1h | ||
| 06:00 | Positividad Matutina ZenInicia el día con pensamientos positivos para mejorar tu día y ánimo. | 2h | ||
| 08:00 | Armonías floralesExperimente la belleza de la naturaleza en flor con música relajante. | 1h | ||
| 09:00 | Terapia del Bosqueespeja la niebla y aumenta tu energía con un momento terapéutico entre los árboles. | 1h | ||
| 10:00 | Enfoque ZenPaisajes sonoros para mejorar la concentración y el enfoque. | 1h | ||
| 11:00 | Acuática Música CalmanteEscapa de un lunes melancólico con música relajante y escenas meditativas en el agua. | 1h | ||
| 12:00 | Piano y Guitarra ZenSelecciones de música tranquila y escenas que te ayudan a trabajar y relajarte. | 2h | ||
| 14:00 | Relajación ZenMix de guitarra y piano para concentrarte y relajarte. | 2h | ||
| 16:00 | El Spa Zen en CasaTransforma tu habitación en un oasis de bienestar con el Spa en Casa de ZenLIFE. | 2h | ||
| 18:00 | Piano y Guitarra Zen On nowSelecciones de música tranquila y escenas que te ayudan a trabajar y relajarte. | 2h | ||
| 20:00 | Relajación ZenMix de guitarra y piano para concentrarte y relajarte. | 1h | ||
| 21:00 | Tu Zen de la NocheMúsica para ayudarte a relajarte y desestresarte al final de tu largo día de trabajo. | 2h | ||
| 23:00 | Liberación del Estrés LaboralRelájate después de un día estresante y deja que ZenLIFE inicie tu viaje hacia el sueño. | 1h |
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_abc043qg/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_abc043qg/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_abc043qg/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_abc043qg/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_abc043qg/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_abc043qg/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_abc043qg/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_zq2h3tr9", "channel": "ch_abc043qg", "start": "2026-10-12T22:00:00Z", "stop": "2026-10-12T23:00:00Z", "title": "Tranquilidad nocturna", "sub_title": null, "description": "Útil para relajarte tras un día tenso e iniciar tu camino al sueño.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 18, "date": "2026-10-13", "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 | Friday 10 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.