73.8M 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 America/New_York time, what is on now and next, and the same data in your app with one call.
All times America/New_York. The same day from the API: GET /v1/channels/ch_x2ghp0a7/schedule?date=2026-10-13&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:03 | Crímenes Ocultos On nowÉl investigará asesinatos de niños durante la era de Stalin. | 2h 53m | ||
| 23:08 | Crímenes Ocultos On nowÉl investigará asesinatos de niños durante la era de Stalin. | 2h 53m | ||
| 01:56 | Los CondenadosJack Conrad espera su pena de muerte. | 2h 11m | ||
| 02:01 | Los CondenadosJack Conrad espera su pena de muerte. | 2h 11m | ||
| 04:07 | Los Condenados 2El cazador de recompensar Will Tanner se convierte en la presa. | 1h 44m | ||
| 04:12 | Los Condenados 2El cazador de recompensar Will Tanner se convierte en la presa. | 1h 45m | ||
| 05:51 | Renovación Del CorazónAnne y Dan deciden arreglar su casa para venderla. | 1h 41m | ||
| 05:57 | Renovación Del CorazónAnne y Dan deciden arreglar su casa para venderla. | 1h 40m | ||
| 07:32 | Criando a DaisyDaisy planea qué hacer cuando su madre muera. | 1h 57m | ||
| 07:37 | Criando a DaisyDaisy planea qué hacer cuando su madre muera. | 1h 58m | ||
| 09:29 | Niña PródigaReese tiene que elegir su propio camino. | 2h 21m | ||
| 09:35 | Niña PródigaReese tiene que elegir su propio camino. | 2h 24m | ||
| 11:50 | Un Lugar llamado HogarEl mundo de Ellie se trastorna con la muerte de su padre. | 1h 52m | ||
| 11:59 | Un Lugar llamado HogarEl mundo de Ellie se trastorna con la muerte de su padre. | 1h 52m | ||
| 13:42 | Las Aventuras de AladinoCon la ayuda de una lámpara mágica, un joven pobre se convierte en príncipe. | 1h 42m | ||
| 13:51 | Las Aventuras de AladinoCon la ayuda de una lámpara mágica, un joven pobre se convierte en príncipe. | 1h 42m | ||
| 15:24 | El Todopoderoso ThorThor enfrenta a Loki para salvar la Tierra y Asgard. | 1h 49m | ||
| 15:33 | El Todopoderoso ThorThor enfrenta a Loki para salvar la Tierra y Asgard. | 1h 50m | ||
| 17:13 | El Regreso de HérculesHércules regresa para salvar a una ciudad de la tiranía. | 1h 51m | ||
| 17:23 | El Regreso de HérculesHércules regresa para salvar a una ciudad de la tiranía. | 1h 51m | ||
| 19:04 | Troya: La OdiseaOdiseo enfrenta criaturas y dioses en su regreso a casa. | 1h 44m | ||
| 19:14 | Troya: La OdiseaOdiseo enfrenta criaturas y dioses en su regreso a casa. | 1h 44m | ||
| 20:48 | Los CondenadosJack Conrad espera su pena de muerte. | 2h 12m | ||
| 20:58 | Los CondenadosJack Conrad espera su pena de muerte. | 2h 12m | ||
| 23:00 | Los Condenados 2El cazador de recompensar Will Tanner se convierte en la presa. | 1h 47m | ||
| 23:10 | Los Condenados 2El cazador de recompensar Will Tanner se convierte en la presa. | 1h 47m |
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_x2ghp0a7/schedule?date=2026-10-13&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x2ghp0a7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x2ghp0a7/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_x2ghp0a7/schedule?date=2026-10-13&tz=America/New_York"); 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_x2ghp0a7/schedule?date=2026-10-13&tz=America/New_York", { 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_x2ghp0a7/schedule", params={"date": "2026-10-13", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_x2ghp0a7/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_dw0pyxd7", "channel": "ch_x2ghp0a7", "start": "2026-10-13T03:03:00Z", "stop": "2026-10-13T05:56:00Z", "title": "Crímenes Ocultos", "sub_title": null, "description": "Él investigará asesinatos de niños durante la era de Stalin.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 26, "date": "2026-10-13", "tz": "America/New_York" } }
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.