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/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_gj6162mc/schedule?date=2026-10-16&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:55 | De Joodse WereldDe Joodse gemeenschap in Den Haag verdween tijdens de Tweede Wereldoorlog bijna volledig. Louis de Leeuwe probeert met de maquette van zijn vader t... | 30m | ||
| 00:25 | Noord-Zuid-Oost-WestMaarten van Rossem duikt in de geschiedenis van immigrantenfamilie De Lorenzo, al drie generaties ijsmaker in Utrecht. Eddy Zoëy is op de meubelbou... | Van Rossem Vertelt - Natuurlijk Zoëy | 35m | |
| 01:00 | NOS JournaalMet het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor de avond en komende dagen. | 15m | ||
| 01:15 | Nederland in BewegingProgramma voor volwassenen waarin lichaamsbeweging centraal staat. De presentatoren begeleiden enkele gasten bij de oefeningen en zo tegelijkertijd... | 15m | ||
| 01:30 | MAX GeheugentrainerTrain uw brein. Naarmate iemand ouder wordt, wil het geheugen nog wel eens minder scherp worden. Dit programma geeft u de kans om het geheugen te t... | 15m | ||
| 01:45 | Goedemorgen NederlandOchtendshow. Actualiteit met een focus op politiek, economie, veiligheid en de Nederlandse identiteit. Met actuele reportages, verslaggevers in het... | 20m | ||
| 02:05 | NOS JournaalMet het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor de avond en komende dagen. | 10m | ||
| 02:15 | Goedemorgen NederlandOchtendshow. Actualiteit met een focus op politiek, economie, veiligheid en de Nederlandse identiteit. Met actuele reportages, verslaggevers in het... | 20m | ||
| 02:35 | Kook mee met MAXVandaag rode linzenstoofpot met geroosterde venkel. | Rode linzenstoof met geroosterde venkel | 15m | |
| 02:50 | Goedemorgen NederlandOchtendshow. Actualiteit met een focus op politiek, economie, veiligheid en de Nederlandse identiteit. Met actuele reportages, verslaggevers in het... | 15m | ||
| 03:05 | NOS JournaalMet het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor de avond en komende dagen. | 25m | ||
| 03:30 | Noord-Zuid-Oost-WestIn Natuurlijk Noord-Holland: Chateau Marquette in Heemskerk. Wat een verbeelding!: deze keer staat Voorburg centraal. | Natuurlijk Noord-Holland - Wat een verbeelding! | 30m | |
| 04:00 | SesamstraatPino, Ieniemienie, Purk en Tommie beleven nieuwe avonturen. Pino moet zijn kamer opruimen van Lot. Als hij klaar is, krijgt hij een verrassing. | Verrassing | 20m | |
| 04:20 | Sesamstraat: 10 voor...Een verzameling internetfilmpjes van Grover, een figuur uit de bekendste straat van Nederland, die nieuwe avonturen beleeft. | Grover | 10m | |
| 04:30 | KindertijdIn 'Kadootje' wordt een bijzondere vriendschap besproken en bezegeld met een zelfgemaakt cadeau. | Kadootje: Liv | 5m | |
| 04:35 | Het KlokhuisNederland is een klein land, maar met heel veel water. Dankzij woonboten kunnen we op dat water wonen. Anas gaat langs bij de grootste woonbotenbou... | Woonboot | 15m | |
| 04:50 | NOS JeugdjournaalHet laatste nieuws uit binnen- en buitenland en het weer, speciaal voor de jonge kijker. | 25m | ||
| 05:15 | NOS Journaal in Makkelijke TaalEen dagelijks journaal bedoeld voor mensen die moeite hebben met lezen en schrijven. | 5m | ||
| 05:20 | Tijd voor MaxMartine van Os en Sybrand Niessen ontvangen elke werkdag een keur aan gasten. Een aangename mix van nieuws, kunst, cultuur en entertainment. | 45m |
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_gj6162mc/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_gj6162mc/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_gj6162mc/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_gj6162mc/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_gj6162mc/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_gj6162mc/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_gj6162mc/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_8pzd565r", "channel": "ch_gj6162mc", "start": "2026-10-15T21:55:00Z", "stop": "2026-10-15T22:25:00Z", "title": "De Joodse Wereld", "sub_title": null, "description": "De Joodse gemeenschap in Den Haag verdween tijdens de Tweede Wereldoorlog bij...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 19, "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 | 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.