90.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. On the Live plan; the free key reads yesterday.
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 America/Curacao time, what is on now and next, and the same data in your app with one call.
All times America/Curacao. The same day from the API: GET /v1/channels/ch_xyf6byy1/schedule?date=2026-10-18&tz=America/Curacao
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 20:10 | Zin in ZappelinS49 E3 — Compilatie: Iets lekkers Samen met de buurtbewoners maakt Joy van elke dag een feestje! Beleef mee wat er gebeurt op het Zappelinplein, in... | 15m | ||
| 20:25 | Studio SnuggerS8 E120 Showprogramma waarin vliegensvlug onderwerpen uit de wereldoriëntatie voorbijkomen. Dit keer: Patatje Oorlog, Sponzen, nachtmerrie, Selfies... | 15m | ||
| 20:40 | TopdoksS11 E4 Lisanne, Tim en dokter Elbert laten zien hoe briljant je lichaam werkt en ook wat er gebeurt als het soms misgaat. | 20m | ||
| 21:00 | CheckpointS17 E14 Centraal staat Zapp Your Planet. Wie zijn beter zonder stroom, de jongens of de meiden? Kan je van je hut een vijfsterrenhut maken zonder e... | 25m | ||
| 21:25 | NOS JeugdjournaalE290 Het laatste nieuws uit binnen- en buitenland en het weer, speciaal voor de jonge kijker. | 20m | ||
| 21:45 | Nederland zingt op zondagS29 E28 — Er is jou, mens, gezegd wat goed is Deze keer wordt in veel kerken stilgestaan bij bekende woorden uit het Bijbelboek Micha. Het gaat daa... | 25m | ||
| 22:10 | NOS Journaal 18.00 uurMet het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en het weer. | 5m | ||
| 22:15 | Podium KlassiekS10 E18 Op 10 oktober vindt de finale van het Internationaal Vocalisten Concours plaats in 's-Hertogenbosch. De kersverse winnaar is te gast in Pod... | 1h | ||
| 23:15 | NOS Studio Sport VoetbalMet uitgebreide samenvattingen van alle eredivisiewedstrijden. Inclusief doelpunten, hoogtepunten en analyses. | 1h |
Copy, add your key, run. The free key reads yesterday on every channel, 500 calls a day; today and ahead are on Live.
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xyf6byy1/schedule?date=2026-10-18&tz=America/Curacao" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xyf6byy1/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xyf6byy1/history?from=2026-10-13T00:00:00Z&to=2026-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_xyf6byy1/schedule?date=2026-10-18&tz=America/Curacao"); 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_xyf6byy1/schedule?date=2026-10-18&tz=America/Curacao", { 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_xyf6byy1/schedule", params={"date": "2026-10-18", "tz": "America/Curacao"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_xyf6byy1/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_52fwb7ej", "channel": "ch_xyf6byy1", "start": "2026-10-19T00:10:00Z", "stop": "2026-10-19T00:25:00Z", "title": "Zin in Zappelin", "sub_title": null, "description": "S49 E3 — Compilatie: Iets lekkers\nSamen met de buurtbewoners maakt Joy van el...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-18", "tz": "America/Curacao" } }
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's listings on every channel in 176 countries.