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/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_qcf6355y/schedule?date=2026-10-13&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:30 | Das GeständnisDer Anwalt Tristan Delmas wird beauftragt, Marc Lagnier zu verteidigen, der beschuldigt wird, seinen Sohn ermordet zu haben. Bei der Untersuchung v... | 1h 40m | ||
| 01:10 | Der falsche WegAuf dem Weg zur Entbindung fährt ein Paar jemanden auf der Strasse an und begeht Fahrerflucht. Im Krankenhaus freundet sich die frisch gebackene Mu... | 1h 35m | ||
| 02:45 | Der verfluchte FlussAndrejs rettet seine Schwester und eine Gruppe von Influencern, die sich an einem Fluss in einem abgelegenen Tal verirrt haben. Sie wollten eigentl... | 1h 25m | ||
| 04:10 | Scream WeekMerel und ihre Freunde reisen zur Segelregatta "Sneekweek", um mit Musik und Alkohol eine Woche lang zu feiern. Doch für die sechs Freunde kommt es... | 1h 50m | ||
| 06:00 | UrinstinktDer Fotograf Tomás will seiner Karriere neuen Schwung verleihen, indem er zusammen mit seiner Familie im Amazonas-Regenwald nach einem seltenen Vog... | 1h 30m | ||
| 07:30 | Einvernehmen On nowNachdem sie aus ihrer missbräuchlichen Beziehung geflohen ist, geht eine Frau zur Polizeiwache, um ihren Ex-Mann wegen Vergewaltigung anzuzeigen. S... | 1h 35m | ||
| 09:05 | Das Geheimnis der MedusaNachdem ein junger Taucher in den Tiefen des Ozeans eine goldene Medusa-Statuette findet, verschwindet er auf mysteriöse Weise. Die Ermittler entde... | 1h 35m | ||
| 10:40 | Die verlorenen KinderDie 10-jährige Audrey und ihre Geschwister erwachen in einem alten, abgeschiedenen Haus mitten im Wald. Ihr Vater ist spurlos verschwunden, und jed... | 1h 25m | ||
| 12:05 | VerschüttetNachdem ein Einsturz sie tief unter der Erde verschüttet hat, kämpfen Bergleute ums Überleben. | 1h 45m | ||
| 13:50 | BruderschaftZwei neue Studenten nehmen an einem Aufnahmeritual teil, um einer exklusiven Studentenverbindung beizutreten, doch die Lage gerät schnell ausser Ko... | 1h 35m | ||
| 15:25 | Die dunkle StundeUnheimliche Viren lassen die Menschen zu Monstern mutieren. Eine kleine Gruppe von Überlebenden hat sich in einem unterirdischen Bunker verbarrikad... | 1h 35m | ||
| 17:00 | Der EindringlingFünf Freundinnen fahren wie jedes Jahr nach Frankreich. Doch Spannungen zwischen ihnen gefährden den Urlaub. Als dann auch noch ein Unbekannter in ... | 1h 40m | ||
| 18:40 | Das WaisenhausIm Jahr 1911 gibt Louise Perreau ihren Sohn in die Obhut des Waisenhauses und Internats "Les Vermiraux". Doch sie weiss nicht, dass die dort lebend... | 1h 40m | ||
| 20:20 | SühneDie Ermittlungen zu einem gestohlenen Gegenstand führen zu unerwarteten Entdeckungen. | 1h 50m | ||
| 22:10 | VerkauftEine junge Frau wird mit dem Versprechen auf ein besseres Leben in eine brutale Welt voller sexueller Ausbeutung gelockt. | 1h 35m | ||
| 23:45 | VerschüttetNachdem ein Einsturz sie tief unter der Erde verschüttet hat, kämpfen Bergleute ums Überleben. | 1h 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_qcf6355y/schedule?date=2026-10-13&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qcf6355y/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qcf6355y/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qcf6355y/schedule?date=2026-10-13&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_qcf6355y/schedule?date=2026-10-13&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_qcf6355y/schedule", params={"date": "2026-10-13", "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_qcf6355y/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_yykeqphj", "channel": "ch_qcf6355y", "start": "2026-10-12T21:30:00Z", "stop": "2026-10-12T23:10:00Z", "title": "Das Geständnis", "sub_title": null, "description": "Der Anwalt Tristan Delmas wird beauftragt, Marc Lagnier zu verteidigen, der b...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 16, "date": "2026-10-13", "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.