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_4bmsmqmn/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Series de Contendientes: Aguilar vs LopezEvento Estelar: Ruben Aguilar vs Luis Lopez; Evento Co-Estelar. | 2h 46m | ||
| 02:46 | Series de Contendientes: Lopez vs. GallegosEvento Estelar: Najee Lopez vs Manuel Gallegos. | 2h 54m | ||
| 05:40 | Series de Contendientes: Martinez vs AleemEvento Estelar: Lester Martinez vs Immanuwel Aleem. | 2h 32m | ||
| 08:12 | Showtime Boxing: Garnica vs. CorreaGarnica y Correa se ven las caras en un épico duelo de los pesos gallos. | 1h 48m | ||
| 10:00 | Captain TsubasaQuedan pocos minutos para el final del partido, y Nankatsu no logra anotar. | Captain Tsubasa | 28m | |
| 10:28 | Captain TsubasaMatsuyama se empeña en demostrar que un partido se gana en equipo. | Captain Tsubasa | 28m | |
| 10:56 | Captain TsubasaNankatsu e Hirado se baten por las semifinales del Torneo Nacional. | Captain Tsubasa | 28m | |
| 11:24 | Captain TsubasaTsubasa intentará el famoso tiro con efecto de Roberto. | Captain Tsubasa | 31m | |
| 11:55 | Captain TsubasaEn las semifinales del Torneo, los primeros en batirse son Meiwa y Toho. | Captain Tsubasa | 31m | |
| 12:26 | Captain TsubasaEn el último partido de las semifinales, Nankatsu se bate con los de Furano. | Captain Tsubasa | 36m | |
| 13:02 | La People´s LeagueTanos enfrenta a Amor en shootouts tras un empate de gran intensidad. | La People´s League | 39m | |
| 13:41 | Bare Knuckle Championship SeriesDesde Salina, en Kansas. | Bare Knuckle Championship Series | 1h 28m | |
| 15:09 | Bare Knuckle Championship SeriesDesde Daytona, Florida. | Bare Knuckle Championship Series | 1h 25m | |
| 16:34 | Bare Knuckle Championship Series90 minutos de acción y adrenalina en Biloxi. | Bare Knuckle Championship Series | 1h 23m | |
| 17:57 | Bare Knuckle Championship Series On nowDo not miss 90 minutes of action in Mississippi. | Bare Knuckle Championship Series | 1h 22m | |
| 19:19 | One on OneCatalina Usme nos cuenta cómo se abrió camino en el fútbol de su país. | S1 E13, Tame Me, I'm the Shrew | 41m | |
| 20:00 | Series de Contendientes: Rios vs AcostaEvento Estelar: Ronny Rios vs Bryan Acosta. | 2h 56m | ||
| 22:56 | DMG Boxing: Night of Champions IXBoxeo de alto nivel, títulos en juego, choques imperdibles y el talento de DMG listo para encender el ring. | 3h 35m |
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_4bmsmqmn/schedule?date=2026-10-12&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_4bmsmqmn/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_4bmsmqmn/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_4bmsmqmn/schedule?date=2026-10-12&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_4bmsmqmn/schedule?date=2026-10-12&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_4bmsmqmn/schedule", params={"date": "2026-10-12", "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_4bmsmqmn/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_41xx7hrk", "channel": "ch_4bmsmqmn", "start": "2026-10-12T04:00:00Z", "stop": "2026-10-12T06:46:00Z", "title": "Series de Contendientes: Aguilar vs Lopez", "sub_title": null, "description": "Evento Estelar: Ruben Aguilar vs Luis Lopez; Evento Co-Estelar.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 18, "date": "2026-10-12", "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.