72.1M 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/Oslo 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/Oslo. The same day from the API: GET /v1/channels/ch_kqce2vaa/schedule?date=2026-10-12&tz=Europe/Oslo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | London Symphony Orchestra, Simon Rattle: Sibelius, BrucknerJean Sibelius (1865 – 1957) The Oceanides Tapiola . Anton Bruckner (1824 – 1896) Symphony No 7 . London, Barbican, 18 September 2022. | Music | 1h 50m | |
| 00:57 | Konzerthausorchester Berlin, Joana Mallwitz : Mozart, TchaïkovskiWolfgang Amadeus Mozart 1756 - 1791 Ouverture de ‘La Flûte enchantée’ . Piotr Ilitch Tchaïkovski Symphonie n° 6 en si mineur ‘Pathétique’ . Berlin,... | Music | 1h 3m | |
| 01:50 | INTERMEZZOEspacio que incluye la emisión de una selección de los mejores momentos musicales. Una manera diferente y muy variada de descubrir la música, los i... | Music | 10m | |
| 02:00 | Chamber Orchestra of Europe, Yannick Nézet-Séguin : Brahms, symphonies 3 & 4Johannes Brahms (1833 – 1897). Symphony no. 3 in F major op. 90 Symphony no. 4 in E minor op. 98. Baden-Baden, Festspielhaus, 7 July 2023. | Music | 1h 23m | |
| 03:23 | Cleveland Orchestra, Franz Welser-Möst, Simon Keenlyside : MahlerGustav Mahler (1860 – 1911) Frühlingsmorgen (Sechs frühe Lieder No. 3) (Arrangement for Baritone and Orchestra: Luciano Berio) Ablösung im Sommer ... | Music | 1h 44m | |
| 05:07 | INTERMEZZOEspacio que incluye la emisión de una selección de los mejores momentos musicales. Una manera diferente y muy variada de descubrir la música, los i... | Music | 23m | |
| 05:30 | Wagner: Tristan und Isolde - Staatsoper DresdenTristan und Isolde Drama in three acts by Richard Wagner (1813 - 1883) Libretto by Richard Wagner First performance in Munich, Hof- und Nationalthe... | Music | 4h | |
| 06:00 | Chris Potter Trio - Jazz MiddelheimChris Potter Trio . Anvers, Jazz Middelheim, 25 mai 2026 Concert Jazz. | Music | 1h | |
| 07:00 | Billy Cobham's Time Machine - Jazz MiddelheimBilly Cobham's Time Machine. Anvers, Jazz Middelheim, 25 mai 2026 Concert Jazz. | Music | 1h | |
| 08:00 | Collier plays Coltrane - Jazz MiddelheimCollier plays Coltrane . The Chosen Few. Anvers, Jazz Middelheim, 25 mai 2026 Concert Jazz. | Music | 1h 10m | |
| 09:10 | InterMezzoEspacio que incluye la emisión de una selección de los mejores momentos musicales. Una manera diferente y muy variada de descubrir la música, los i... | Music | 20m | |
| 09:30 | Lang Lang: Fauré, Schumann, Chopin - Philharmonie de ParisGabriel Fauré 1845 - 1924 Pavane. Robert Schumann 1810 - 1856 Kreisleriana. Frédéric Chopin 1810 - 1949 Mazurkas Polonaise en fa dièse mineur op. 4... | Music | 1h 39m | |
| 11:09 | Lucas Debargue at the Philharmonie de Paris: Mozart, Chopin, AlkanLucas Debargue (piano)Wolfgang Amadeus Mozart (1756 – 1791)Piano Sonata No. 8 in A minor, KV 310Frédéric Chopin 1810 - 1849Ballade no. 2 op. 38Prél... | Music | 1h 51m | |
| 11:29 | Mahler: Symphony No.5 - Orchestre Suisse Romande, Jonathan NottGustav Mahler (1860 – 1911) | Symphony No 5 in C sharp minor | 1 Trauermarsch | 2 Stürmisch bewegt, mit größter Vehemenz | 3 Scherzo | 4 Adagietto ... | Music | 1h 31m | |
| 13:00 | The Cleveland Orchestra, Esa-Pekka Salonen - Ravel, Salonen, SibeliusMaurice Ravel 1875 - 1937 Le Tombeau de Couperin. Esa-Pekka Salonen 1958 - Cello Concerto. Jean Sibelius 1865 – 1957 Symphony No. 5 in E-flat Major... | Music | 1h 42m | |
| 14:35 | Ravel : The piano works - Bertrand ChamayouMaurice Ravel 1875 - 1937 Prélude en la mineur Miroirs Menuet en ut dièse mineur Sonatine A la manière de Borodine Gaspard de la nuit Valses nobles... | Music | 2h 25m | |
| 14:42 | Philopéra, Daniel Harding - Schubert, MahlerFranz Schubert 1797 – 1828 Symphony No. 3 in D major, D.200. Gustav Mahler 1860 – 1911 Symphony no. 1 in D major 'Titan'. Paris, Palais Garnier, Se... | Music | 1h 30m | |
| 16:12 | INTERMEZZOEspacio que incluye la emisión de una selección de los mejores momentos musicales. Una manera diferente y muy variada de descubrir la música, los i... | Music | 48m | |
| 17:00 | Chris Potter Trio - Jazz MiddelheimChris Potter Trio . Anvers, Jazz Middelheim, 25 mai 2026 Concert Jazz. | Music | 1h | |
| 18:00 | Billy Cobham's Time Machine - Jazz MiddelheimBilly Cobham's Time Machine. Anvers, Jazz Middelheim, 25 mai 2026 Concert Jazz. | Music | 1h | |
| 18:02 | Mauro Bigonzetti's The Trial by the Czech National BalletThe Trial Ballet by Mauro Bigonzetti inspired by Franz Kafka. Soloists and corps de ballet of The Czech National Ballet. Prague, The Estates Theat... | Music | 1h 25m | |
| 19:00 | Collier plays Coltrane - Jazz MiddelheimCollier plays Coltrane . The Chosen Few. Anvers, Jazz Middelheim, 25 mai 2026 Concert Jazz. | Music | 1h 10m | |
| 19:27 | The Krumlov Festival: A Thousand and One Nights | ShéhérazadeMaurice Ravel 1875 - 1937 Shéhérazade . Nikolai Rimsky-Korsakov 1844 - 1908 Scheherazade, Op. 35. Krumlov Festival, 17 July 2026. | Music | 1h 33m | |
| 20:10 | INTERMEZZOEspacio que incluye la emisión de una selección de los mejores momentos musicales. Una manera diferente y muy variada de descubrir la música, los i... | Music | 50m | |
| 21:00 | The Krumlov Festival: A Thousand and One Nights | ShéhérazadeMaurice Ravel 1875 - 1937 Shéhérazade . Nikolai Rimsky-Korsakov 1844 - 1908 Scheherazade, Op. 35. Krumlov Festival, 17 July 2026. | Music | 1h 30m | |
| 22:30 | Mauro Bigonzetti's The Trial by the Czech National BalletThe Trial Ballet by Mauro Bigonzetti inspired by Franz Kafka. Soloists and corps de ballet of The Czech National Ballet. Prague, The Estates Theat... | Music | 1h 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_kqce2vaa/schedule?date=2026-10-12&tz=Europe/Oslo" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_kqce2vaa/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_kqce2vaa/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_kqce2vaa/schedule?date=2026-10-12&tz=Europe/Oslo"); 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_kqce2vaa/schedule?date=2026-10-12&tz=Europe/Oslo", { 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_kqce2vaa/schedule", params={"date": "2026-10-12", "tz": "Europe/Oslo"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_kqce2vaa/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_0pdkn5r4", "channel": "ch_kqce2vaa", "start": "2026-10-11T22:00:00Z", "stop": "2026-10-11T23:50:00Z", "title": "London Symphony Orchestra, Simon Rattle: Sibelius, Bruckner", "sub_title": null, "description": "Jean Sibelius (1865 – 1957) The Oceanides Tapiola . Anton Bruckner (1824 – 18...", "category": [ "music" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 26, "date": "2026-10-12", "tz": "Europe/Oslo" } }
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 155 countries.