90.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. On the Live plan; the free key reads yesterday.
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 America/Curacao time, what is on now and next, and the same data in your app with one call.
All times America/Curacao. The same day from the API: GET /v1/channels/ch_t4xk12ka/schedule?date=2026-10-19&tz=America/Curacao
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | Dune: Part TwoPaul Atreides se une a Chani y a los Fremen mientras busca venganza contra los conspiradores que destruyeron a su familia. Paul se enfrenta a una e... | 3h 15m | ||
| 02:15 | El justiciero 2El misterioso pasado de Robert McCall resurge cuando unos matones asesinan a Susan Plummer, su mejor amiga y excolega. Sediento de venganza, McCall... | 2h 3m | ||
| 04:18 | Proyecto GutenbergLa policía de Hong Kong busca a una pandilla liderada por un líder conocido como Painter. En un esfuerzo por encontrar la verdadera identidad de Pa... | 2h 15m | ||
| 06:33 | Guerra de containersS2 E10 — Más grande, es mejor Un contenedor lleno de instrumentos para la barbacoa podría desencadenar una guerra entre dos competidores. Una unida... | 27m | ||
| 07:00 | Tesoros de garajeS1 E2 — Batalla Sangrienta La competencia se vuelve feroz cuando los rivales Brandon y Jesse luchan por una unidad de almacenamiento que contiene u... | 28m | ||
| 07:28 | Una pareja disparejaEl detective de Hong Kong, Bennie Black, se une a un jugador americano para capturar al jefe del crimen que mató a su compañero y secuestró a su so... | 2h | ||
| 09:28 | Titanes del PacíficoUn expiloto fracasado y un aprendiz dirigen un viejo y obsoleto robot en un último esfuerzo para repeler a una fuerza letal de invasores monstruosos. | 2h 23m | ||
| 11:51 | Titanes del pacífico: La insurrecciónUna raza alienígena intenta destruir la Tierra. A la humanidad solo le queda una esperanza, que Jake Pendergast, un prometedor piloto del programa ... | 1h 57m | ||
| 13:48 | Rescate del metro 123Walter Garber es un controlador del metro de Nueva York que se enfrenta al secuestro de uno de los trenes. Ryder es el líder de una banda criminal ... | 1h 58m | ||
| 15:46 | Hellboy II: El ejército doradoUn malvado elfo rompe un antiguo pacto entre los seres humanos y los mitológicos, y lanza a su ejército dorado, con el fin de acabar con la humanid... | 2h 11m | ||
| 17:57 | MeteoroDespués de rechazar una lucrativa oferta de un empresario, Speed Racer descubre que algunas de las más importantes carreras están arregladas por ma... | 2h 32m | ||
| 20:29 | Blue BeetleEl Escarabajo, una antigua reliquia extraterrestre, elige al estudiante Jaime Reyes como el huésped simbiótico en cuyo cuerpo resguardarse. A parti... | 2h 31m | ||
| 23:00 | AnnabelleUna mujer embarazada, Mia, recibe una muñeca antigua como regalo de su esposo, John. Tras ser atacados por los integrantes de un culto satánico, la... | 1h 56m |
Copy, add your key, run. The free key reads yesterday on every channel, 500 calls a day; today and ahead are on Live.
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_t4xk12ka/schedule?date=2026-10-19&tz=America/Curacao" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_t4xk12ka/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_t4xk12ka/history?from=2026-10-13T00:00:00Z&to=2026-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_t4xk12ka/schedule?date=2026-10-19&tz=America/Curacao"); 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_t4xk12ka/schedule?date=2026-10-19&tz=America/Curacao", { 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_t4xk12ka/schedule", params={"date": "2026-10-19", "tz": "America/Curacao"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_t4xk12ka/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_fvw8ym59", "channel": "ch_t4xk12ka", "start": "2026-10-19T03:00:00Z", "stop": "2026-10-19T06:15:00Z", "title": "Dune: Part Two", "sub_title": null, "description": "Paul Atreides se une a Chani y a los Fremen mientras busca venganza contra lo...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-19", "tz": "America/Curacao" } }
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's listings on every channel in 176 countries.