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_j5e381j6/schedule?date=2026-10-15&tz=Europe/Madrid
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:55 | Cine | Film | 1h 25m | |
| 23:25 | Euskal Herria Desde el AireSerie documental que realiza un espectacular viaje para los sentidos que recorre Euskadi desde el aire, mostrando su esencia como nunca antes se ha... | Documentaire | 1h 5m | |
| 00:20 | Documental | Documentaire | 1h 45m | |
| 00:30 | Fotografías que dejaron huellaUn viaje emocional y periodístico a través de imágenes que marcaron la historia reciente de Euskal Herria. Cada capítulo parte de varias fotografía... | Documentaire | 1h 5m | |
| 01:35 | Euskadi quédateLa información más cercana de Euskadi, los datos imprescindibles para tu día a día, la última hora de nuestra actualidad, las historias que nos lle... | Magazine | 1h 15m | |
| 02:05 | La Captura | Série | 45m | |
| 02:50 | La Captura | Série | 45m | |
| 03:35 | Euskadi quédateLa información más cercana de Euskadi, los datos imprescindibles para tu día a día, la última hora de nuestra actualidad, las historias que nos lle... | Magazine | 1h 15m | |
| 03:55 | Vaya Par | Jeu | 55m | |
| 04:50 | Esto no es normal | Jeu | 1h | |
| 05:50 | Vaya ParEl chef Enrique Sánchez elabora una receta con productos andaluces, con denominación de origen o reconocido prestigio. Este espacio acerca los prod... | Jeu | 1h | |
| 06:35 | Momentos de "Historias a bocados"Extractos de los mejores momentos del programa \"Historias a Bocados\", con el que visitaremos distintas localidades y podremos conocer historias p... | Magazine | 25m | |
| 06:50 | Momentos de "Historias a bocados"Extractos de los mejores momentos del programa \"Historias a Bocados\", con el que visitaremos distintas localidades y podremos conocer historias p... | Magazine | 10m | |
| 07:00 | BoulevardEider Hurtado e Iñaki Espiga dirigen un programa que reúne información y análisis de lo que ocurre en Euskadi y el mundo. | Magazine | 2h 55m | |
| 09:55 | ChiloéEspacio de viajes y cultura, presentado por Maider Egues, que cada semana muestra los lugares más recónditos y espectaculares de diversos países, m... | Documentaire | 35m | |
| 10:30 | Todas las criaturas grandes y pequeñas | Série | 55m | |
| 11:25 | En JakePrograma de actualidad, en directo, presentado por Miriam Duque, junto a Iker Ibáñez en plató y Leire Torre en redacción. Con un formato más inform... | Magazine | 2h 30m | |
| 13:50 | Atrápame si puedes | Jeu | 1h 8m | |
| 13:55 | Atrápame si puedes | Jeu | 1h 3m | |
| 14:58 | Teleberri 1 | Journal | 37m | |
| 15:35 | Kirolak ETB2Información deportiva. | Magazine | 25m | |
| 16:00 | Eguraldia ETB2 | Météo | 15m | |
| 16:15 | KULTplanakEspacio que repasa, en formato breve, la agenda cultural de Euskal Herria. | Magazine | 10m | |
| 16:25 | Esto no es normal | Jeu | 1h 10m | |
| 17:35 | Vaya Par | Jeu | 1h 10m | |
| 17:40 | Vaya Par | Jeu | 1h 5m | |
| 18:45 | Euskadi quédateLa información más cercana de Euskadi, los datos imprescindibles para tu día a día, la última hora de nuestra actualidad, las historias que nos lle... | Magazine | 1h 15m | |
| 20:00 | A bocadosEl chef Enrique Sánchez elabora una receta con productos andaluces, con denominación de origen o reconocido prestigio. Este espacio acerca los prod... | Divertissement | 1h | |
| 21:00 | Teleberri 2 | Journal | 40m | |
| 21:40 | Kirolak ETB2Información deportiva. | Magazine | 20m | |
| 22:00 | KULTplanakEspacio que repasa, en formato breve, la agenda cultural de Euskal Herria. | Magazine | 5m | |
| 22:05 | Eguraldia ETB2 | Météo | 20m | |
| 22:20 | La noche de...La actualidad diaria del Festival de San Sebastián, con sus protagonistas y los mejores momentos, en un espacio diario de 15 minutos presentado por... | Divertissement | 35m | |
| 22:25 | La noche de...La actualidad diaria del Festival de San Sebastián, con sus protagonistas y los mejores momentos, en un espacio diario de 15 minutos presentado por... | Divertissement | 15m | |
| 22:40 | Una historia de VasconiaSerie documental que recorre y recrea distintos acontecimientos históricos del pasado de Euskadi, desde la prehistoria hasta la actualidad. Cada en... | Documentaire | 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_j5e381j6/schedule?date=2026-10-15&tz=Europe/Madrid" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_j5e381j6/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_j5e381j6/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_j5e381j6/schedule?date=2026-10-15&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_j5e381j6/schedule?date=2026-10-15&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_j5e381j6/schedule", params={"date": "2026-10-15", "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_j5e381j6/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_t5h3h7zs", "channel": "ch_j5e381j6", "start": "2026-10-14T20:55:00Z", "stop": "2026-10-14T22:20:00Z", "title": "Cine", "sub_title": null, "description": null, "category": [ "film" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 35, "date": "2026-10-15", "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 155 countries.