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 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_91xbth8x/schedule?date=2026-10-13&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:08 | El TalismánPedro y Mariana se presentan a la asistente social | El Talismán | 57m | |
| 00:05 | Amor a Fuego LentoUn chef redescubre su amor por la cocina y a un antiguo amor. | 1h 33m | ||
| 01:38 | Por una Mujer CasadaUna mujer casada es seducida por un joven idealista y romántico. | 1h 46m | ||
| 03:24 | La Prima de mi EsposaEl matrimonio de Lucía se pondrá a prueba con la llegada de su prima. | 1h 51m | ||
| 05:15 | AcorraladaOctavia amenaza a Maximiliano con botar a Diana. | Acorralada | 58m | |
| 06:13 | AcorraladaLarry nota que Gaby está enamorada de él. | Acorralada | 1h | |
| 07:13 | AcorraladaLala le dice a Diana que debe olvidar a Max. | Acorralada | 59m | |
| 08:12 | El TalismánMariana dice que no dejará de luchar por Pedro. | El Talismán | 56m | |
| 09:08 | El TalismánPedro y Mariana se presentan a la asistente social | El Talismán | 57m | |
| 10:05 | El TalismánGregorio pretende mostrar interés por su Lucrecia. | El Talismán | 55m | |
| 11:00 | Gata SalvajeFidela le pide a dios que la niña no muera. | S1 E198, Capitulo 198 | 56m | |
| 11:56 | Gata SalvajeFidela se da cuenta que Luis es padre de la niña. | S1 E199, Capitulo 199 | 57m | |
| 12:53 | Gata SalvajePatricio exige a Mercedes que no vuelva a su casa. | S1 E200, Capitulo 200 | 58m | |
| 13:51 | Eva LunaDani recibe un premio e invita a Eva al escenario | S1 E11, Episode 11 | 51m | |
| 14:42 | Eva LunaEva y Daniel no paran de recordar el evento. | S1 E12, Episode 12 | 55m | |
| 15:37 | Eva LunaEva cuida a Daniel y a Laurita toda la noche. | S1 E13, Episode 13 | 54m | |
| 16:31 | AcorraladaOctavia amenaza a Maximiliano con botar a Diana. | Acorralada | 58m | |
| 17:29 | AcorraladaLarry nota que Gaby está enamorada de él. | Acorralada | 59m | |
| 18:28 | AcorraladaLala le dice a Diana que debe olvidar a Max. | Acorralada | 1h | |
| 19:28 | AcorraladaMax convence a Diana para que se sigan viendo. | Acorralada | 1h | |
| 20:28 | El TalismánMariana dice que no dejará de luchar por Pedro. | El Talismán | 55m | |
| 21:23 | El TalismánPedro y Mariana se presentan a la asistente social | El Talismán | 56m | |
| 22:19 | El TalismánGregorio pretende mostrar interés por su Lucrecia. | El Talismán | 55m | |
| 23:14 | Feliz con las CuatroPancracio es un hombre que lo tiene todo... y a todas. | 1h 57m |
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_91xbth8x/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_91xbth8x/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_91xbth8x/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_91xbth8x/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_91xbth8x/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_91xbth8x/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_91xbth8x/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_1av0r3hh", "channel": "ch_91xbth8x", "start": "2026-10-13T03:08:00Z", "stop": "2026-10-13T04:05:00Z", "title": "El Talismán", "sub_title": "El Talismán", "description": "Pedro y Mariana se presentan a la asistente social", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 24, "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 155 countries.