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.
All times Europe/Madrid. The same day from the API: GET /v1/channels/ch_xcs7n00v/schedule?date=2026-10-12&tz=Europe/Madrid
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:49 | FuriaLee Gunner, un veterano de guerra se ve obligado a regresar a un mundo de violencia y desesperación cuando sus hijos son secuestrados por una pelig... | 1h 53m | ||
| 01:42 | El justicieroPaul Kersey (Bruce Willis) es un famoso cirujano que vive felizmente con su familia en Chicago. Un día, su esposa (Elisabeth Shue) y su hija (Camil... | 2h 1m | ||
| 03:43 | 10 minutos menosEl ladrón de bancos Frank Sullivan nunca ha tenido un trabajo que fuera mal, hasta que su hermano es asesinado durante un atraco. Frank se levanta ... | 1h 44m | ||
| 05:27 | Juntos para vencerUn adolescente acosado que sueña con ser el compañero de Chuck Norris se entrena en artes marciales para hacer realidad sus sueños. | 1h 49m | ||
| 07:16 | Rescate en AfganistánUn comando de las operaciones especiales, liderado por el experto francotirador Jake Chandler, es enviado a un poblado de Afganistan para rescatar ... | 1h 33m | ||
| 08:49 | El hombre del presidente IIJoshua McCord, veterano de las fuerzas especiales y guardaespaldas del presidente de los Estados Unidos, recibe una importante misión confiada dire... | 1h 39m | ||
| 10:27 | Código de defensaA un agente especial estadounidense caído en desgracia (John Cusack) se le encarga la rutinaria misión de proteger a una joven civil (Malin Akerman... | 1h 35m | ||
| 12:03 | Blind manComienza con el descubrimiento de un cadáver. Un solitario policía sospecha rápidamente de un hombre ciego, cuya minusvalía le resulta una ventaja.... | A ciegas | 1h 42m | |
| 13:44 | Perfect weapon (Arma Perfecta)En un futuro no muy lejano, una organización gubernamental y secreta dirigida por EL DIRECTOR controla todos los aspectos de la vida. Todos “los en... | 1h 34m | ||
| 15:18 | Escape1363. La Muerte Negra ha aniquilado a la mitad de la población. Muchos huyen de la muerte y la miseria en busca de una vida mejor en otro lugar. Pe... | 1h 28m | ||
| 16:46 | RushAmbientada en los 70', durante la glamourosa y espectacular Edad de Oro de la Fórmula 1, 'Rush' retrata la poderosa historia real de los 2 mayores ... | 2h 13m | ||
| 19:00 | La particula de DiosEl detective privado Ned Cruz recibe el encargo de encontrar a Lexi Persimmon, una stripper que ha desaparecido junto a un alijo de diamantes valor... | 1h 53m | ||
| 20:53 | Asia connectionDos expatriados estadounidenses, Jack y Sam deciden robar un banco. Sin saberlo se han llevado el dinero de un poderoso narcotraficante. | 1h 38m | ||
| 22:30 | El mensajeroBrillante thriller entretenido y con mensaje sobre un padre (Dwayne Johnson) que, desesperado después de que su hijo sea acusado por error en un ca... | 2h 6m |
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_xcs7n00v/schedule?date=2026-10-12&tz=Europe/Madrid" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xcs7n00v/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xcs7n00v/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_xcs7n00v/schedule?date=2026-10-12&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_xcs7n00v/schedule?date=2026-10-12&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_xcs7n00v/schedule", params={"date": "2026-10-12", "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_xcs7n00v/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_ww2wnbtj", "channel": "ch_xcs7n00v", "start": "2026-10-11T21:49:30Z", "stop": "2026-10-11T23:42:26Z", "title": "Furia", "sub_title": null, "description": "Lee Gunner, un veterano de guerra se ve obligado a regresar a un mundo de vio...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-12", "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 150 countries.