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/Brussels 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/Brussels. The same day from the API: GET /v1/channels/ch_xn2qetmn/schedule?date=2026-10-15&tz=Europe/Brussels
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:51 | NarutoNaruto en Sasuke blijven aanvallen ontvangen vanuit Haku's Crystal Ice Mirrors. Naruto kan niet meer op zijn benen staan. Maar tijdens het intense ... | Naruto: Het verbroken zegel | 27m | |
| 00:18 | NarutoNaruto explodeert eindelijk. Zijn woede tegen Haku, die Sasuke versloeg, ontketent de kracht van de Kyûbi. Naruto's chakra wordt zo intens dat zelf... | Naruto: Wit verleden: verborgen ambitie | 27m | |
| 00:44 | NarutoHaku zegt tegen de aarzelende Naruto dat hij hem moet afmaken. Naruto zet grote vraagtekens bij Haku's filosofie dat hij alleen bestaat om te vecht... | Naruto: Het wapen bekend als Shinob | 27m | |
| 01:11 | NarutoNu hun laatste missie is voltooid, is het weer tijd voor de groep om terug te gaan naar middelmatige missies. Nadat ze allemaal klaar zijn, brengen... | Naruto: Een nieuw hoofdstuk begint: het Chunin-examen | 27m | |
| 01:38 | NarutoZabuza is niet langer Kakashi's vijand en dankzij een kleine toespraak van Naruto over hoe ninja's zijn, neemt Zabuza het in zijn eentje op tegen G... | Naruto: De Demon in de sneeuw | 27m | |
| 02:05 | NarutoNadat de drie ninja's zijn vertrokken, realiseert Sasuke zich dat hij een machtige rivaal heeft. De volgende dag kondigt Kakashi aan dat hij hen al... | Naruto: Identificeer jezelf: krachtige nieuwe rivalen | 27m | |
| 02:32 | NarutoDe excentrieke Rock Lee daagt Uchiha Sasuke uit voor een gevecht voordat het Chuunin-examen begint. | Naruto: Chunin-uitdaging: Rock Lee vs. Sasuke | 26m | |
| 02:59 | NarutoAlle Konoha Genins worden onderworpen aan een inleidende test om te bepalen wie doorgaat in het echte examen. | Naruto: Genin Takedown! Alle negen nieuwkomers tegen elkaar | 27m | |
| 03:25 | NarutoAlle Genins komen samen en beginnen aan een schriftelijke test als onderdeel van het eerste Chuunin Examen. | Naruto: Start de motoren: Het Chunin-examen begint | 27m | |
| 03:52 | NarutoDe Genins werken heimelijk aan het verzamelen van informatie terwijl ze zich zorgen maken over de tiende vraag. | Naruto: De tiende vraag: Alles of niets | 27m | |
| 04:19 | NarutoEen Naruto Special die de vorige 25 afleveringen samenvat en de weg bereidt voor het tweede Chuunin-examen. | Naruto: Speciaal verslag: Live vanuit het Bos van de Dood | 27m | |
| 04:46 | NarutoHet tweede Chuunin-examen begint als de Genins op zoek gaan naar twee rollen waarmee ze het tweede examen kunnen afmaken. | Naruto: Het Chuunin Examen Stadium 2: Het Bos van de Dood | 27m |
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_xn2qetmn/schedule?date=2026-10-15&tz=Europe/Brussels" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xn2qetmn/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xn2qetmn/history?from=2026-06-25T00:00:00Z&to=2026-06-26T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_xn2qetmn/schedule?date=2026-10-15&tz=Europe/Brussels"); 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_xn2qetmn/schedule?date=2026-10-15&tz=Europe/Brussels", { 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_xn2qetmn/schedule", params={"date": "2026-10-15", "tz": "Europe/Brussels"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_xn2qetmn/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_j77kfqsk", "channel": "ch_xn2qetmn", "start": "2026-10-14T21:51:05Z", "stop": "2026-10-14T22:17:55Z", "title": "Naruto", "sub_title": "Naruto: Het verbroken zegel", "description": "Naruto en Sasuke blijven aanvallen ontvangen vanuit Haku's Crystal Ice Mirror...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 12, "date": "2026-10-15", "tz": "Europe/Brussels" } }
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 | Thursday 25 June 2026 | Category |
|---|---|---|
| 05:22 | Naruto | |
| 05:46 | Naruto | |
| 06:11 | Naruto | |
| 46 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.