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_0a2n071c/schedule?date=2026-10-16&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:55 | South ParkAlors que Jimbo et Ned veulent faire des feux d'artifice pour le 4 juillet, M. Garrison s'aperçoit que M. Toc a disparu et qu'il est parti avec son... | S2 E8, Summer Sucks | 25m | |
| 00:20 | South ParkLes enfants sont malheureux : Chef ne travaille plus à la cantine. Sa nouvelle petite amie est une femme étrange qui cache un terrible secret. | S3 E3, The Succubus (a.k.a. Chef's Mama) | 25m | |
| 00:45 | Reno 911Junior trouve un métier qu'il désire vraiment : Responsable de l'enlèvement des carcasses animales. | S5 E14, Junior Runs for Office | 20m | |
| 01:05 | FrasierAlors que l'agent de Frasier, Bebe, renégocie son contrat, son émission est annulée pour une semaine. Il a la possibilité de faire équipe avec Roz ... | Divertissement matinal | 25m | |
| 01:30 | FrasierFrasier tente d'organiser l'enterrement de vie de garçon de Donny et se retrouve menotté à une strip-teaseuse, se mettant dans l'embarras devant Re... | Frasier fait du zèle | 25m | |
| 01:55 | FrasierFrasier est flatté qu'un restaurant ait choisi d'ajouter un dessin de lui à son mur des célébrités. Il invite donc Martin et Daphné à l'inauguratio... | Les trois visages de Frasier | 20m | |
| 02:15 | FrasierDonny a organisé une fête pour surprendre Daphné, mais tout va de travers et elle se retrouve en thérapie. Au fur et à mesure de sa conversation av... | La face cachée de la lune | 25m | |
| 02:40 | Key & PeeleKeegan et Jordan surprennent deux femmes fantasmant sur des hommes noirs. Wendell fait un clip vidéo et enfin, Kareem et Jahar vont à la salle de s... | S3 E11, Thug English Acor | 20m | |
| 03:00 | Key & PeeleLes nouveaux joueurs sont présentés alors que Devon, le propriétaire de Jordan, fouille son appartement. Devon est choqué par un collègue qui parle... | S3 E12, The Return of East/West Bowl | 20m | |
| 03:20 | Broad CityIlana est recrutée pour être modèle capillaire. Abbi et son nouveau copain ont une discussion : il lui annonce qu'elle n'est pas suffisamment matur... | S5 E7, Shenanigans | 25m | |
| 03:45 | Broad CityAbbi et Ilana vont visiter 'Sleep No More'. Abbi, quant à elle, tente de trouver le bon moment pour annoncer à Ilana une grande nouvelle. | S5 E8, Sleep No More | 25m | |
| 04:10 | Le must du ridiculeLe Must du Ridicule vous propose les vidéos les plus drôles et les plus dingues qu'on peut trouver sur internet. | Episode 19 | 20m | |
| 04:30 | Le must du ridiculeLe Must du Ridicule vous propose les vidéos les plus drôles et les plus dingues qu'on peut trouver sur internet. | Episode 20 | 25m | |
| 04:55 | Le must du ridiculeCette nouvelle saison du Must du Ridicule est concoctée par l'humoriste britannique Maisie Adam. Chaque épisode présente les clips les plus embarra... | Épisode 1 | 25m | |
| 05:20 | Mike Judge's Beavis and Butt-HeadBeavis et Butt-Head quarantenaires se font passer pour des vétérans pour avoir de la bière gratuite. Beavis et Butt-Head essayent de devenir riches... | S2 E9, Home Improvement | 20m | |
| 05:40 | Mike Judge's Beavis and Butt-HeadBeavis et Butt-Head remplissent leur maison de déchets pour serrer des filles. Beavis et Butt-Head essayent l'acupuncture. Beavis veut passer le re... | Syndrome de Diogène / L'acupuncture pour les nuls | 20m | |
| 06:00 | Un gars du QueensCarrie et Doug décident qu'une thérapie de couple est nécessaire et se tournent vers leur voisin pour obtenir de l'aide, mais ses techniques ne fon... | S8 E2, Vocal Discord | 20m |
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_0a2n071c/schedule?date=2026-10-16&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0a2n071c/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0a2n071c/history?from=2025-12-04T00:00:00Z&to=2025-12-05T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_0a2n071c/schedule?date=2026-10-16&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_0a2n071c/schedule?date=2026-10-16&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_0a2n071c/schedule", params={"date": "2026-10-16", "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_0a2n071c/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_dsnfw9vv", "channel": "ch_0a2n071c", "start": "2026-10-15T21:55:00Z", "stop": "2026-10-15T22:20:00Z", "title": "South Park", "sub_title": "L'été, ça craint", "description": "Alors que Jimbo et Ned veulent faire des feux d'artifice pour le 4 juillet, M...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 17, "date": "2026-10-16", "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 | Thursday 4 December 2025 | Category |
|---|---|---|
| 04:50 | Le must du ridicule | |
| 05:10 | Le must du ridicule | |
| 05:35 | Le must du ridicule | |
| 44 more programmes that day, on Archive | ||
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.