74.3M 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/Toronto time, what is on now and next, and the same data in your app with one call.
All times America/Toronto. The same day from the API: GET /v1/channels/ch_m7q3azme/schedule?date=2026-10-11&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:25 | Aurora Teagarden : cache-cache mortelUne libraire passionnée d'intrigues policières enquête sur la disparition de son neveu et de son colocataire, dont la petite amie est morte. | 1h 40m | ||
| 00:05 | Aurora Teagarden : Drame en coulisseConviée à une soirée meurtre et mystère, une bibliothécaire voit la fiction se confondre avec la réalité. | 1h 40m | ||
| 01:45 | Comment tuer son mari en 10 leçonsKate doit retrouver l'assassin de son mari afin de s'innocenter. | 1h 40m | ||
| 03:25 | La boutique des secrets : le meurtre de la grangeSuspectée du meurtre de son ancien fiancé, Sandra demande l'aide de Jennifer afin de prouver son innocence. | 1h 45m | ||
| 05:10 | La boutique des secrets : meurtre en trois actesPassionnée de brocantes et d'antiquités, Jennifer effectue une livraison chez un client. Sur place, elle le découvre mort. | 1h 45m | ||
| 06:55 | La boutique des secrets : l'art du crimeEn organisant une vente de garage, Jennifer découvre un corps dans le grenier d'une maison voisine. Elle décide alors de mener une enquête. | 1h 45m | ||
| 08:40 | La boutique des secrets : message d'adieuPeu avant son départ en tournée avec son groupe, le chanteur John Dalton découvre sa bassiste, Lita Merrill, pendue à son domicile. | 1h 45m | ||
| 10:25 | La boutique des secrets : une passion meurtrièreLe professeur Robert McNary est retrouvé mort dans une reproduction d'armure du XVe siècle. | 1h 45m | ||
| 12:10 | La boutique des secrets : la boîte mystérieuseJennifer veut aider Tamara à ouvrir une boîte à secret fabriquée par sa belle-mère. Mais la boîte disparaît et Tamara est retrouvée morte. | 1h 45m | ||
| 13:55 | La boutique des secrets : la belle italienneDans un local d'entreposage lors d'une vente aux enchères, Jennifer découvre le corps sans vie d'une femme. | 1h 45m | ||
| 15:40 | La boutique des secrets : une photo compromettanteJennifer est contactée pour vendre la collection d'appareils photo de Larry, un sexagénaire retrouvé mort lors de sa fête d'anniversaire. | 1h 45m | ||
| 17:25 | La boutique des secrets : un trésor bien cachéEn menant sa petite enquête, Jennifer découvre que l'ancien propriétaire d'un piano mécanique a été mêlé à des vols d'oeuvres d'art. | 1h 45m | ||
| 19:10 | Une rose pour sa tombe : l'histoire vraie de Cynthia BaumgartnerLori est bouleversée lorsque sa meilleure amie se noie dans des circonstances mystérieuses lors d'une sortie en bateau avec son mari Randy. | 1h 45m | ||
| 20:55 | Val Jane : 12 heures pour sauver sa vieVal est prise en otage avec ses enfants par Denny, un homme qui s'est introduit de force dans sa maison après avoir commis un meurtre. | 1h 45m | ||
| 22:40 | Zoe, maman soloZoe, célibataire, tombe enceinte grâce à une insémination artificielle. Les choses se compliquent lorsque deux hommes entrent dans sa vie. | 1h 45m |
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_m7q3azme/schedule?date=2026-10-11&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_m7q3azme/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_m7q3azme/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_m7q3azme/schedule?date=2026-10-11&tz=America/Toronto"); 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_m7q3azme/schedule?date=2026-10-11&tz=America/Toronto", { 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_m7q3azme/schedule", params={"date": "2026-10-11", "tz": "America/Toronto"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_m7q3azme/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_7k8kx02c", "channel": "ch_m7q3azme", "start": "2026-10-11T02:25:00Z", "stop": "2026-10-11T04:05:00Z", "title": "Aurora Teagarden : cache-cache mortel", "sub_title": null, "description": "Une libraire passionnée d'intrigues policières enquête sur la disparition de ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 15, "date": "2026-10-11", "tz": "America/Toronto" } }
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.