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/Amsterdam 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/Amsterdam. The same day from the API: GET /v1/channels/ch_5a3dt7t2/schedule?date=2026-10-14&tz=Europe/Amsterdam
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Flikken MaastrichtEr gaat een AMBER Alert uit en al snel meldt een getuige een incident bij een benzinepomp. Die vertelt dat een meisje om zijn telefoon had gevraagd... | S9 E7, Stockholm | Dramaseries, Misdaad | 51m |
| 00:51 | Mensen zoals jij en ikKorte televisiespelen waarin Kees Brusse in de huid kruipt van gewone Nederlanders. Elk verhaal kenmerkt zich door een onverwachte wending. | De modeshow | Dramaseries, Komedie | 26m |
| 01:17 | BinnensteBuitenIn Horst wonen Emmy en Joris met hun dochters volledig zelfvoorzienend in een rond koepelhuis met een schil van cederhout. In hun grote 'bijenkorf'... | Aflevering 121 | Bouwen en verbouwen, Culinair | 31m |
| 01:48 | Ik VertrekOndernemers Wouter (39) en Michelle (33) verruilen Haarlem voor het Zweedse buitengebied. In Ă…rsunda hebben ze een oude schapenboerderij gekocht, o... | Wouter en Michelle | Reality, Reizen | 46m |
| 02:34 | Noord-Zuid-Oost-WestPresentator Francis Broekhuijsen gaat tijdens het 'kringlopen' op zoek naar verborgen schatten. Hij bezoekt onder meer de Noordkop. Er zijn kringlo... | Kringlopen met Francis - Allemaal Haags | Samenleving, Documentaire | 1h 11m |
| 03:45 | Daten in het Dorp op TexelJeltien trapt op de rem. Inge doet moeite voor Mark, maar of dat nog zin heeft? Jacco onthult zijn selectieprocedure tijdens de speeddates en dat v... | Aflevering 7 | Entertainment | 47m |
| 04:32 | BinnensteBuitenIn Horst wonen Emmy en Joris met hun dochters volledig zelfvoorzienend in een rond koepelhuis met een schil van cederhout. In hun grote 'bijenkorf'... | Aflevering 121 | Bouwen en verbouwen, Culinair | 28m |
| 05:00 | Vroeg!Stephan Komduur en Merel Wielaert nodigen elke werkdag een studiogast uit die met de luisteraars vooruitblikt op een actueel onderwerp. Luisteraars... | Aflevering 205 | Talkshow | 48m |
| 05:48 | De slimste mensUitdager: Evrim Akyigit. | S28 E11, Uitdager: Wijnand Speelman | Spelshow | 12m |
| 06:00 | NOS Radio 1 JournaalHet laatste nieuws uit binnen- en buitenland, achtergronden, reacties, analyses en sport. | Nieuws | 1h | |
| 07:00 | De Nederlandstalige Top 1000Vanuit het Huis van de Nederlandse Muziek wordt de Nederlandstalige Top 1000 uitgezonden. | Aflevering 18 | Muziek | 2h |
| 09:00 | De Nederlandstalige Top 1000Vanuit het Huis van de Nederlandse Muziek wordt de Nederlandstalige Top 1000 uitgezonden. | Aflevering 19 | Muziek | 2h |
| 11:00 | De Nederlandstalige Top 1000Vanuit het Huis van de Nederlandse Muziek wordt de Nederlandstalige Top 1000 uitgezonden. | Aflevering 20 | Muziek | 2h |
| 13:00 | De Nederlandstalige Top 1000Vanuit het Huis van de Nederlandse Muziek wordt de Nederlandstalige Top 1000 uitgezonden. | Aflevering 21 | Muziek | 2h |
| 15:00 | De Nederlandstalige Top 1000Vanuit het Huis van de Nederlandse Muziek wordt de Nederlandstalige Top 1000 uitgezonden. | Aflevering 22 | Muziek | 2h |
| 17:00 | De Nederlandstalige Top 1000Vanuit het Huis van de Nederlandse Muziek wordt de Nederlandstalige Top 1000 uitgezonden. | Aflevering 23 | Muziek | 2h |
| 19:00 | NOS Jeugdjournaal met gebarentaalNieuwsprogramma voor de Nederlandse jeugd. Geschikt voor kinderen van negen tot twaalf. Met gebarentolk. | Nieuws | 20m | |
| 19:20 | Noord-Zuid-Oost-WestPresentator Francis Broekhuijsen gaat op zoek naar tweedehandsspullen met een verhaal. Francis stuit op allerlei vondsten. Zo vindt hij niet alleen... | Kringlopen met Francis - Allemaal Haags | Samenleving, Documentaire | 29m |
| 19:49 | Andere Tijden KortDe Club van Rome zei het al: we lopen op tegen de grenzen aan onze groei. Maar wat hebben we ervan geleerd? We gaan terug naar 1972: wat we toen al... | Wat de Club van Rome al zei | Documentaire, Geschiedenis | 11m |
| 20:00 | NOS Journaal met gebarentaalHet laatste binnenlandse en buitenlandse nieuws met een gebarentolk. | Nieuws | 25m | |
| 20:25 | Flikken MaastrichtDe financial controller van een goededoelenorganisatie raakt met haar auto van de weg en sterft op weg naar het ziekenhuis. Een eenvoudig ongeluk, ... | S9 E8, Bedrog | Dramaseries, Misdaad | 50m |
| 21:15 | DalglieshHet is januari 1975 en op verpleegkundeschool Nightingale House wordt een studente vergiftigd tijdens een oefendemonstratie. Samen met zijn partner... | Shroud for a Nightingale | Dramaseries, Mysterie | 1h 25m |
| 22:40 | Keuringsdienst van WaardeDe Keuringsdienst onderzoekt olijfolie en komt erachter dat je bij extra vierge, extra vaak bij de neus genomen wordt. | Extra vierge | Entertainment, Documentaire | 20m |
| 23:00 | Met het oog op morgen | Aflevering 287 | Documentaire | 1h |
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_5a3dt7t2/schedule?date=2026-10-14&tz=Europe/Amsterdam" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5a3dt7t2/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5a3dt7t2/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_5a3dt7t2/schedule?date=2026-10-14&tz=Europe/Amsterdam"); 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_5a3dt7t2/schedule?date=2026-10-14&tz=Europe/Amsterdam", { 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_5a3dt7t2/schedule", params={"date": "2026-10-14", "tz": "Europe/Amsterdam"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_5a3dt7t2/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_1pj0xbtq", "channel": "ch_5a3dt7t2", "start": "2026-10-13T22:00:00Z", "stop": "2026-10-13T22:51:00Z", "title": "Flikken Maastricht", "sub_title": "Stockholm", "description": "Er gaat een AMBER Alert uit en al snel meldt een getuige een incident bij een...", "category": [ "dramaseries", "misdaad" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 24, "date": "2026-10-14", "tz": "Europe/Amsterdam" } }
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.