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 Europe/Zurich 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 Europe/Zurich. The same day from the API: GET /v1/channels/ch_4fnw1s4q/schedule?date=2026-10-11&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:56 | Black PhoneFinney Shaw est enlevé puis enfermé dans un sous-sol insonorisé par un tueur sadique et masqué. Lorsqu'un téléphone débranché sur le mur se met à s... | 2h | ||
| 00:56 | Copenhagen TestUn analyste accusé d'être une taupe découvre une vérité qui bouleverse sa vie en cherchant à prouver son innocence. | S1 E1, Copenhagen | 59m | |
| 01:55 | ContactsEntre septembre et mars, les journées sont plus courtes et il y a moins de luminosité. Résultat: le risque d'accident augmente. Surtout pour les us... | Voir et être vu | 54m | |
| 02:49 | GrimmNick, Hank et Juliette apprennent que les Wesen étaient des dieux du temps de l'ancienne Égypte. Ils ont une vive discussion afin de savoir s'ils d... | S3 E15, Once We Were Gods | 46m | |
| 03:35 | GrimmUne fête foraine vient s'installer à Portland. Sous l'un des chapiteaux, le public ébahi observe des gens se transformer en horribles monstres. | S3 E16, The Show Must Go On | 47m | |
| 04:22 | Fin des programmesFin des programmes. | 1h 7m | ||
| 05:29 | Stargate AtlantisLe colonel Sheppard est pris au piège sur une planète où le temps passe plus rapidement. | S2 E11, The Hive | 47m | |
| 06:16 | Stargate AtlantisLe colonel Sheppard est pris au piège sur une planète où le temps passe plus rapidement. | S2 E12, Epiphany | 47m | |
| 07:03 | Stargate AtlantisL'équipe tente de déjouer les plans des Goa'ulds qui veulent détruire Atlantis à l'aide d'une bombe déclenchée par toute tentative d'activation de ... | S2 E13, Critical Mass | 47m | |
| 07:50 | Stargate AtlantisÀ bord d'un Puddle Jumper, McKay et un pilote s'écrasent dans l'océan et perdent peu à peu le contact avec Atlantis à mesure qu'ils s'enfoncent dan... | S2 E14, Grace Under Pressure | 47m | |
| 08:37 | Stargate AtlantisDans un monde doté des technologies défensives des Anciens, Sheppard devient un enjeu dans les disputes qui opposent les prétendants au trône. | S2 E15, The Tower | 47m | |
| 09:24 | Stargate AtlantisLes esprits de Sheppard et Weir sont envahis par deux extraterrestres qui ont des comptes à régler. | S2 E16, The Long Goodbye | 47m | |
| 10:11 | Stargate AtlantisAtlantis apprend que le vieil ennemi génie reprend du service et menace de mettre à mal l'armistice conclu par le passé. | S2 E17, Coup d'Etat | 47m | |
| 10:58 | Stargate AtlantisLe lieutenant Michael Kenmore se réveille dans l'infirmerie d'Atlantis, mais il a tout oublié, jusqu'à son identité. | S2 E18, Michael | 47m | |
| 11:45 | Stargate AtlantisSheppard se rend sur la planète Taranis, mais son générateur de bouclier défaillant finit par piéger l'équipe sur la planète quand le supervolcan e... | S2 E19, Inferno | 47m | |
| 12:32 | Stargate AtlantisUn vaisseau-ruche wraith se place en orbite au-dessus d'Atlantis, et les habitants sont sidérés d'entendre la voix de Michael proposer une alliance... | Les alliés | 55m | |
| 13:27 | Albator le corsaire de l'espace2980. Un spaciocargue, de retour de mission sur Surabond-5 est intercepté par l'Atlantis, avec à son bord le capitaine Albator. | 1h 53m | ||
| 15:20 | Demolition ManEn voulant arrêter en 1996 le psychopathe Simon Phoenix, le sergent John Spartan se rend coupable d'homicide par imprudence et est condamné à l'hib... | 1h 59m | ||
| 17:19 | ClonesDeux agents du FBI enqutent sur le meurtre mystérieux d'un étudiant, qui semble lié à l'homme qui a contribué à mettre au point une invention révol... | 1h 36m | ||
| 18:55 | Docteur FrankensteinSi l'idée d'aider l'humanité à travers des recherches sur l'immortalité est noble, les expériences de Victor Frankenstein vont trop loin, et son ob... | 2h 5m | ||
| 21:00 | Les Chroniques de RiddickAu 26e siècle, un fugitif poursuivi par des chasseurs de prime aboutit sur une planète pacifique menacée par l'armée d'un despote. | 1h 59m | ||
| 22:59 | Pitch BlackAlors que les survivants tentent de s’organiser sous un climat aride de jour perpétuel dominé par trois soleils, ils découvrent qu’une éclipse va b... | 2h 1m |
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_4fnw1s4q/schedule?date=2026-10-11&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_4fnw1s4q/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_4fnw1s4q/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_4fnw1s4q/schedule?date=2026-10-11&tz=Europe/Zurich"); 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_4fnw1s4q/schedule?date=2026-10-11&tz=Europe/Zurich", { 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_4fnw1s4q/schedule", params={"date": "2026-10-11", "tz": "Europe/Zurich"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_4fnw1s4q/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_rz6dacb9", "channel": "ch_4fnw1s4q", "start": "2026-10-10T20:56:00Z", "stop": "2026-10-10T22:56:00Z", "title": "Black Phone", "sub_title": null, "description": "Finney Shaw est enlevé puis enfermé dans un sous-sol insonorisé par un tueur ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 22, "date": "2026-10-11", "tz": "Europe/Zurich" } }
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.