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/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_jxkhej29/schedule?date=2026-10-11&tz=Europe/Amsterdam
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Non (s)Top 40Hits, hits en nog eens hits. Met de Top 40 naar een nieuwe dag. | Muziek | 4h | |
| 04:00 | Non (s)Top 40Hits, hits en nog eens hits. Met de Top 40 naar een nieuwe dag. | Muziek | 2h | |
| 06:00 | Goedemorgen Top 40Wat is er lekkerder dan opstaan met je dagelijkse portie hits? Het beste van gisteren en vandaag bij jouw ontbijt of om de dag lekker mee op te sta... | Muziek | 4h | |
| 10:00 | Het beste uit 60 Jaar Top 40Sinds 1965 staan de grootste hits in de Enige Echte, de Nederlandse Top 40. Je ziet de grootste hits uit de geschiedenis en natuurlijk ontbreken oo... | Muziek | 2h | |
| 12:00 | Top 40 bij de lunchJe middag begint met smakelijke hits van gisteren, vandaag en een beetje van morgen. | Muziek | 2h | |
| 14:00 | De Top 40Een selectie van de clips die horen bij de grootste hits van dit moment in de top 40. We gaan van 40 naar 1 en tussendoor stellen we je ook voor aa... | Muziek | 2h | |
| 16:00 | Greatest Top 40-hitsDe Top 40. Niet alleen een lijst maar ook een begrip voor de beste muziek. En die zie je in Greatest Top 40 hits. | Muziek | 1h | |
| 17:00 | Top 40 rond etenstijdJe kunt het proberen met je bord op schoot. Maar het zou kunnen dat je benen niet stil blijven bij de portie hits die we je serveren. | Muziek | 3h | |
| 20:00 | De avond door met de Top 40Met de beste hits van gisteren, vandaag en morgen helpen we je door het staartje van de dag heen. | Muziek | 4h |
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_jxkhej29/schedule?date=2026-10-11&tz=Europe/Amsterdam" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_jxkhej29/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_jxkhej29/history?from=2026-06-30T00:00:00Z&to=2026-07-01T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_jxkhej29/schedule?date=2026-10-11&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_jxkhej29/schedule?date=2026-10-11&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_jxkhej29/schedule", params={"date": "2026-10-11", "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_jxkhej29/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_rn8tfbqv", "channel": "ch_jxkhej29", "start": "2026-10-10T22:00:00Z", "stop": "2026-10-11T02:00:00Z", "title": "Non (s)Top 40", "sub_title": null, "description": "Hits, hits en nog eens hits. Met de Top 40 naar een nieuwe dag.", "category": [ "muziek" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-11", "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 | Tuesday 30 June 2026 | Category |
|---|---|---|
| 04:00 | Non Stop Top 40-hits | Muziek |
| 06:00 | Goedemorgen Top 40 | Muziek |
| 10:00 | Het beste uit 60 Jaar Top 40 | Muziek |
| 4 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.