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. Search any past day on the Archive plan.
All times America/Toronto. The same day from the API: GET /v1/channels/ch_xrjmgj4q/schedule?date=2026-10-15&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | KilljoysAprès avoir échappé à la Dame et retrouvé Lucy, le trio commence à se demander s'il y a un traître parmi eux. | 1h | ||
| 01:00 | FlashpointÉbranlée par une horrible fusillade, l'équipe retourne à la station pour être évaluée par l'agente de la SIU, Jill Hastings; chaque membre de l'équ... | 1h | ||
| 02:00 | Moment détenteUne balade à travers les dunes des Îles-de-la-Madeleine. | 1h | ||
| 03:00 | Moment détenteOn fait un tour de cheval aux Îles-de-la-Madeleine. | 1h | ||
| 04:00 | Moment détenteOn voit une compilation des plus beaux paysages des Îles-de-la-Madeleine. | 1h | ||
| 05:00 | Moment détenteBalade en kayak dans une grotte aux Îles de la Madeleine. | 1h | ||
| 06:00 | Les pires chauffards canadiensLes conducteurs restants commencent l'épisode en tentant un stationnement en parallèle au volant d'un autobus scolaire. | 1h | ||
| 07:00 | FlashpointFrank McCormick, un jeune pilote de ligne, est accusé d'avoir assassiné Taylor, sa petite fille âgée de seulement six mois. | 1h | ||
| 08:00 | Star Trek: la nouvelle générationData est assailli par différentes personnalités qui proviennent d'une civilisation disparue. | 1h | ||
| 09:00 | La porte des étoilesLes membres du SG-1 sont accueillis sur la planète K'Tau par ses leaders religieux. | 1h | ||
| 10:00 | Plus ou moins misérablePasser une seule belle journée en 129 ans de vie: on se demande combien ça vaut sur l'échelle de la misère; Varda Étienne et Mehdi Bousaidan tenter... | 30m | ||
| 10:30 | InfopublicitéCeci est une émission publicitaire payée. | 30m | ||
| 11:00 | Les pires chauffards canadiensLes conducteurs restants commencent l'épisode en tentant un stationnement en parallèle au volant d'un autobus scolaire. | 1h | ||
| 12:00 | Star Trek: la nouvelle générationData est assailli par différentes personnalités qui proviennent d'une civilisation disparue. | 1h | ||
| 13:00 | La porte des étoilesLes membres du SG-1 sont accueillis sur la planète K'Tau par ses leaders religieux. | 1h | ||
| 14:00 | Ça c'est drôle!Dominic Paquet met son talent au service du rire et de l'insolite ; il rend hommage à tous les champions de la planète à travers des ratés, déboire... | 30m | ||
| 14:30 | Plus ou moins misérablePasser une seule belle journée en 129 ans de vie: on se demande combien ça vaut sur l'échelle de la misère; Varda Étienne et Mehdi Bousaidan tenter... | 30m | ||
| 15:00 | Les pires chauffards canadiensLes conducteurs restants commencent l'épisode en tentant un stationnement en parallèle au volant d'un autobus scolaire. | 1h | ||
| 16:00 | Star Trek: la nouvelle générationData est assailli par différentes personnalités qui proviennent d'une civilisation disparue. | 1h | ||
| 17:00 | Ça c'est drôle!Dominic Paquet met son talent au service du rire et de l'insolite ; il rend hommage à tous les champions de la planète à travers des ratés, déboire... | 30m | ||
| 17:30 | Plus ou moins misérableUn homme qui lèche des sonnettes et un chien qui mange des orteils; il y en a pour tous les goûts en frais de misères et de malheurs. | 30m | ||
| 18:00 | Les pires chauffards canadiensLes quatre conducteurs restants commencent cet épisode en tentant d'effectuer un demi-tour à 180 degrés avec le frein à main. | 1h | ||
| 19:00 | Marvel dévoiléDes conflits entre les acteurs et les producteurs de L'incroyable Hulk ont menacé de faire dérailler le MCU. | 1h | ||
| 20:00 | Marvel dévoiléMarvel doit trouver un moyen d'intégrer Thor dans l'univers d'Iron Man et de créer un méchant digne de ce nom. | 1h | ||
| 21:00 | Ça: bienvenue à DerryCharlotte et Will essaient de trouver leurs marques à Derry; Ronnie s'inquiète pour son père. | 1h 30m | ||
| 22:30 | La porte des étoilesAlors que Cassandra commence à vivre les joies de la puberté, un champ électromagnétique est installé en elle ; le SG-1 et le docteur Fraiser, son ... | 1h | ||
| 23:30 | Plus ou moins misérableUn homme qui lèche des sonnettes et un chien qui mange des orteils; il y en a pour tous les goûts en frais de misères et de malheurs. | 30m |
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_xrjmgj4q/schedule?date=2026-10-15&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xrjmgj4q/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xrjmgj4q/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_xrjmgj4q/schedule?date=2026-10-15&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_xrjmgj4q/schedule?date=2026-10-15&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_xrjmgj4q/schedule", params={"date": "2026-10-15", "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_xrjmgj4q/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_431dd5va", "channel": "ch_xrjmgj4q", "start": "2026-10-15T04:00:00Z", "stop": "2026-10-15T05:00:00Z", "title": "Killjoys", "sub_title": null, "description": "Après avoir échappé à la Dame et retrouvé Lucy, le trio commence à se demande...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 27, "date": "2026-10-15", "tz": "America/Toronto" } }
What was on, on any date we hold: for research, catch-up, clip finding or proving a broadcast. Any window up to 31 days with /v1/channels/{id}/history on the Archive plan.
| Time | Monday 13 October 2025 | Category |
|---|---|---|
| Nothing held for that day. Try another date. | ||
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.