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/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-13&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:10 | Mystère à l'anglaise On nowAli est persuadée d’avoir tout pour elle, jusqu'à ce qu’elle se rende en Angleterre pour une chasse au trésor à travers l'histoire. | 1h 45m | ||
| 00:55 | L'amour n'est jamais bien loinAprès sa rupture publique, la fondatrice d'une application de rencontres au bord de la faillite fait équipe avec un expert en marketing. | 1h 45m | ||
| 02:40 | Coeurs chanceuxUne fabricante de maquillage personnalisé a l’occasion de développer son entreprise en s'associant à un investisseur. | 1h 45m | ||
| 04:25 | Comment séduire un princeÀ New York, une conseillère en rencontres amoureuses tente de séduire un prince qu’elle accompagne dans le milieu des rendez-vous galants. | 1h 45m | ||
| 06:10 | Un amour d'animateurSavannah est engagée pour redorer le blason d'un animateur de radio à New York. Elle se retrouve accidentellement à l'antenne avec celui-ci. | 1h 50m | ||
| 08:00 | Amour au glaçage royalEmma, pâtissière à New York, est engagée pour la fête d'anniversaire du roi et de la reine de Sanovia. | 1h 50m | ||
| 09:50 | Amour, set et matchLiz, une enseignante au secondaire, met ses élèves au défi de créer des plans d'affaires : ils lancent une application de rencontre. | 1h 50m | ||
| 11:40 | Coup de foudre sucré saléUne critique de restaurant doit se faire passer pour la cuisinière du chef qu’elle a insulté pour faire amende honorable. | 1h 50m | ||
| 13:30 | La boutique des secrets : mystère à GlenwoodJennifer remarque que plusieurs demeures sont cambriolées après des ventes de garage. Une femme est aussi retrouvée morte à son domicile. | 1h 40m | ||
| 15:10 | La boutique des secrets : l'étincelle de GlenwoodLorsque le propriétaire d'un entrepôt est retrouvé mort, Jennifer est impliquée comme témoin oculaire dans l'enquête criminelle. | 1h 40m | ||
| 16:50 | La boutique des secrets : la chambre mauditeLorsque son amie est retrouvée morte dans une propriété à vendre ayant une malédiction, Jennifer met ses compétences intuitives à l'épreuve. | 1h 40m | ||
| 18:30 | La boutique des secrets : la robe de la mariéeJennifer Shannon tombe sur une ancienne robe de mariée et découvre une affaire impliquant la disparition d'un marié. | 1h 40m |
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-13&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-13&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-13&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-13", "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-13, the first programme { "data": [ { "id": "ls_285pwame", "channel": "ch_m7q3azme", "start": "2026-10-13T03:10:00Z", "stop": "2026-10-13T04:55:00Z", "title": "Mystère à l'anglaise", "sub_title": null, "description": "Ali est persuadée d’avoir tout pour elle, jusqu'à ce qu’elle se rende en Angl...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 12, "date": "2026-10-13", "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.