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/Paris 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/Paris. The same day from the API: GET /v1/channels/ch_3rysm4sr/schedule?date=2026-10-16&tz=Europe/Paris
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:39 | Mozart, Chopin, Alkan | Classical koncert | 1h 46m | |
| 00:25 | Berlioz - Salzburg | Classical koncert | 1h 2m | |
| 01:27 | InterMezzo | Program muzyczny | 33m | |
| 02:00 | The Queen of Spades - Bayerische StaatsoperThe Queen of Spades Opera in three acts, op. 68, by Piotr Ilych Tchaikovsky (1840 - 1893) Libretto by Modest Ilych Tchaikovsky after Alexander Push... | Opera | 2h 50m | |
| 04:50 | The Carnival of the AnimalsMartha Argerich (Piano), David Chen (Piano), Roman Blagojevic (Piano), Lyda Chen Argerich (Viola, Piano), Geza Hosszu-Legocky (Violin), Alissa Marg... | Classical koncert | 1h 10m | |
| 06:00 | Clara Schumann, Brahms | Classical koncert | 1h 18m | |
| 07:18 | Schumann, Brahms | Classical koncert | 1h 32m | |
| 08:50 | InterMezzo | Program muzyczny | 40m | |
| 09:30 | The Passenger - Opéra national du Capitole, ToulouseThe Passenger Opera in 2 acts and an epilogue by Mieczysław Weinberg 1919 - 1996 Libretto by Alexander Medvedev, based on the novel by Zofia Posmys... | Opera | 2h 55m | |
| 12:25 | InterMezzo | Program muzyczny | 35m | |
| 13:00 | A Thousand and One Nights Shéhérazade | Balet | 1h 30m | |
| 14:30 | Mauro Bigonzetti's 'The Trial' by the Czech National Ballet | Balet | 1h 25m | |
| 15:55 | Mahler, Korngold, Ravel | Classical koncert | 1h 5m | |
| 17:00 | Symphony No.9 - Orchestre de la Suisse Romande, Jonathan Nott | Classical koncert | 1h 27m | |
| 18:27 | Arancio, Bernstein, DvorákLes Siecles, Pierre Bleuse (conductor) Philharmonia Chorus, Maîtrise de Radio France Rachel Willis-Sorensen (soprano) Judith Pisar, Leah Pisar (spe... | Classical koncert | 1h 30m | |
| 19:57 | Mozart, Tchaikovsky | Classical koncert | 1h 3m | |
| 21:00 | Les Pecheurs de perles - Opéra national du Capitole de ToulouseLes pecheurs de perles (The Pearl Fishers) Opera in three acts by Georges Bizet (1838 - 1875) Libretto by Eugene Cormon and Michel Carré First perf... | Opera | 1h 59m | |
| 22:59 | Symphony No.5 - Orchestre Suisse Romande, Jonathan Nott | Classical koncert | 1h 16m |
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_3rysm4sr/schedule?date=2026-10-16&tz=Europe/Paris" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3rysm4sr/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3rysm4sr/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3rysm4sr/schedule?date=2026-10-16&tz=Europe/Paris"); 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_3rysm4sr/schedule?date=2026-10-16&tz=Europe/Paris", { 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_3rysm4sr/schedule", params={"date": "2026-10-16", "tz": "Europe/Paris"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_3rysm4sr/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_fm19cg8m", "channel": "ch_3rysm4sr", "start": "2026-10-15T20:39:00Z", "stop": "2026-10-15T22:25:00Z", "title": "Mozart, Chopin, Alkan", "sub_title": null, "description": null, "category": [ "classical koncert" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 18, "date": "2026-10-16", "tz": "Europe/Paris" } }
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.