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 UTC time, what is on now and next, and the same data in your app with one call.
All times UTC. The same day from the API: GET /v1/channels/ch_na5p0y86/schedule?date=2026-10-20&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Todo en 90 días casados en el extranjeroCon apuro al altar Todo en 90 días casados en el extranjero. | 48m | ||
| 00:48 | 4 Esposas, 1 maridoEres tóxico para mí 4 Esposas, 1 marido. | 49m | ||
| 01:37 | 4 Esposas, 1 maridoSin cerebro, sin dolor 4 Esposas, 1 marido. | 48m | ||
| 02:25 | 4 Esposas, 1 maridoS16 — Cara a cara - Parte 1 #20.16 4 Esposas, 1 marido. | 49m | ||
| 03:14 | Tú, yo y mi exCrisis existencial Tú, yo y mi ex. | 49m | ||
| 04:03 | Tú, yo y mi exLa explosión Tú, yo y mi ex. | 50m | ||
| 04:53 | Mi gran boda gitana¡Ella quedó afuera, quiero que se vaya Mi gran boda gitana. | 49m | ||
| 05:42 | 4 Esposas, 1 maridoEres tóxico para mí 4 Esposas, 1 marido. | 46m | ||
| 06:28 | 4 Esposas, 1 maridoSin cerebro, sin dolor 4 Esposas, 1 marido. | 46m | ||
| 07:14 | 4 Esposas, 1 maridoS16 — Cara a cara - Parte 1 #20.16 4 Esposas, 1 marido. | 46m | ||
| 08:00 | Tú, yo y mi exCrisis existencial Tú, yo y mi ex. | 45m | ||
| 08:45 | Tú, yo y mi exLa explosión Tú, yo y mi ex. | 45m | ||
| 09:30 | Regreso al mundo AmishJohnny, sé bueno Regreso al mundo Amish. | 45m | ||
| 10:15 | Regreso al mundo Amish¿Cuál es la frecuencia, Kenneth Regreso al mundo Amish. | 45m | ||
| 11:00 | Mi gran boda gitanaBesar familiares Mi gran boda gitana. | 49m | ||
| 11:49 | Una Gran FamiliaPequeños tramposos Una Gran Familia. | 48m | ||
| 12:37 | Los BusbyCasa nueva, problemas nuevos Los Busby. | 49m | ||
| 13:26 | Un gran mundo pequeñoFeliz cumpleaños, Jackson Un gran mundo pequeño. | 49m | ||
| 14:15 | Un gran mundo pequeño On nowBienvenido a casa, Murphy Un gran mundo pequeño. | 49m | ||
| 15:04 | Hermanas gitanasAcepto Hermanas gitanas. | 49m | ||
| 15:53 | Hermanas gitanasSorpresa en el altar Hermanas gitanas. | 49m | ||
| 16:42 | Hermanas gitanasEspecial de Navidad Hermanas gitanas. | 48m | ||
| 17:30 | Vestido de noviaLa opinión del entorno Vestido de novia. | 25m | ||
| 17:55 | Vestido de novia MéxicoEl primer asesor hombre Vestido de novia México. | 24m | ||
| 18:19 | Un gran mundo pequeñoEl siguiente de Amy Un gran mundo pequeño. | 49m | ||
| 19:08 | Un gran mundo pequeñoSi sirve Un gran mundo pequeño. | 49m | ||
| 19:57 | Una Gran FamiliaEn un pesebre Una Gran Familia. | 48m | ||
| 20:45 | Mi gran boda gitanaUn amor digno de pelearlo Mi gran boda gitana. | 49m | ||
| 21:34 | Todo en 90 días casados en el extranjeroConfesiones Todo en 90 días casados en el extranjero. | 49m | ||
| 22:23 | Todo en 90 días casados en el extranjeroActúa ahora Todo en 90 días casados en el extranjero. | 48m | ||
| 23:11 | Todo en 90 días casados en el extranjeroAmor es amor Todo en 90 días casados en el extranjero. | 49m |
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_na5p0y86/schedule?date=2026-10-20&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_na5p0y86/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_na5p0y86/history?from=2026-10-13T00:00:00Z&to=2026-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_na5p0y86/schedule?date=2026-10-20&tz=UTC"); 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_na5p0y86/schedule?date=2026-10-20&tz=UTC", { 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_na5p0y86/schedule", params={"date": "2026-10-20", "tz": "UTC"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_na5p0y86/schedule?date=2026-10-20, the first programme { "data": [ { "id": "ls_evnsszqs", "channel": "ch_na5p0y86", "start": "2026-10-20T00:00:00Z", "stop": "2026-10-20T00:48:00Z", "title": "Todo en 90 días casados en el extranjero", "sub_title": null, "description": "Con apuro al altar\nTodo en 90 días casados en el extranjero.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 31, "date": "2026-10-20", "tz": "UTC" } }
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.