74.3M 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/Moscow 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/Moscow. The same day from the API: GET /v1/channels/ch_sm2jq5aq/schedule?date=2026-10-12&tz=Europe/Moscow
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:40 | Die Simpsons 3 | 13 – Wer anderen einen Brunnen gräbt | 23m | ||
| 00:03 | Die Simpsons 3 | 14 – Der Wettkönig | 22m | ||
| 00:25 | Die Simpsons 3 | 15 – Wenn Mutter streikt | 22m | ||
| 00:47 | Die Simpsons 3 | 16 – Die Kontaktanzeige | 22m | ||
| 01:09 | Die Simpsons 3 | 17 – Der Wunderschläger | 23m | ||
| 01:32 | Die Simpsons 3 | 18 – Der Eignungstest | 22m | ||
| 01:54 | Die Simpsons 3 | 19 – Auf den Hund gekommen | 22m | ||
| 02:16 | Die Simpsons 3 | 20 – Homer auf Abwegen | 22m | ||
| 02:38 | Die Simpsons 3 | 21 – Bis dass der Tod euch scheidet | 22m | ||
| 03:00 | Die Simpsons 3 | 22 – Der Fahrschüler | 22m | ||
| 03:22 | Die Simpsons 3 | 23 – Liebe und Intrige | 23m | ||
| 03:45 | Die Simpsons 3 | 24 – Der vermisste Halbbruder | 22m | ||
| 04:07 | Die Simpsons 4 | 1 – Krise im Kamp Krusty | 22m | ||
| 04:29 | Die Simpsons 4 | 2 – Bühne frei für Marge | 22m | ||
| 04:51 | Die Simpsons 4 | 3 – Ein gotteslästerliches Leben | 22m | ||
| 05:13 | Die Simpsons 4 | 4 – Lisa, die Schönheitskönigin | 22m | ||
| 05:35 | Die Simpsons 4 | 5 – Bösartige Spiele | 23m | ||
| 05:58 | Die Simpsons 4 | 6 – Bart wird bestraft | 22m | ||
| 06:20 | Die Simpsons 4 | 7 – Marge muss jobben | 22m | ||
| 06:42 | Die Simpsons 4 | 8 – Laura, die neue Nachbarin | 21m | ||
| 07:03 | Die Simpsons 4 | 9 – Einmal als Schneekönig | 23m | ||
| 07:26 | Die Simpsons 4 | 10 – Am Anfang war das Wort | 22m | ||
| 07:48 | Die Simpsons 4 | 11 – Oh Schmerz, das Herz! | 22m | ||
| 08:10 | Die Simpsons 4 | 12 – Homer kommt in Fahrt | 22m | ||
| 08:32 | Die Simpsons 4 | 13 – Selma will ein Baby | 22m | ||
| 08:54 | Die Simpsons 4 | 14 – Großer Bruder – kleiner Bruder | 23m | ||
| 09:17 | Die Simpsons 4 | 15 – Ralph liebt Lisa | 22m | ||
| 09:39 | Die Simpsons 4 | 16 – Keine Experimente | 22m | ||
| 10:01 | Die Simpsons 4 | 17 – Prinzessin von Zahnstein | 22m | ||
| 10:23 | Die Simpsons 4 | 18 – Nur ein Aprilscherz… | 23m | ||
| 10:46 | Die Simpsons 4 | 19 – Wir vom Trickfilm | 22m | ||
| 11:08 | Die Simpsons 4 | 20 – Das Schlangennest | 22m | ||
| 11:30 | Die Simpsons 4 | 21 – Marge wird verhaftet | 22m | ||
| 11:52 | Die Simpsons 4 | 22 – Krusty, der TV-Star | 22m | ||
| 12:14 | Die Simpsons 5 | 1 – Homer und die Sangesbrüder | 23m | ||
| 12:37 | Die Simpsons 5 | 2 – Am Kap der Angst | 22m | ||
| 12:59 | Die Simpsons 5 | 3 – Homer an der Uni | 22m | ||
| 13:21 | Die Simpsons 5 | 4 – Kampf um Bobo | 22m | ||
| 13:43 | Die Simpsons 5 | 5 – Die Fahrt zur Hölle | 22m | ||
| 14:05 | Die Simpsons 5 | 6 – Die rebellischen Weiber | 23m | ||
| 14:28 | Die Simpsons 5 | 7 – Bart, das innere Ich | 22m | ||
| 14:50 | Die Simpsons 5 | 8 – Auf Wildwasserfahrt | 22m | ||
| 15:12 | Die Simpsons 5 | 9 – Homer liebt Mindy | 22m | ||
| 15:34 | Die Simpsons 5 | 10 – Vom Teufel besessen | 22m | ||
| 15:56 | Die Simpsons 5 | 11 – Die Springfield Bürgerwehr | 22m | ||
| 16:18 | Die Simpsons 5 | 12 – Bart wird berühmt | 22m | ||
| 16:40 | Die Simpsons 5 | 13 – Apu, der Inder | 23m | ||
| 17:03 | Die Simpsons 5 | 14 – Lisa kontra Malibu Stacy | 22m | ||
| 17:25 | Die Simpsons 5 | 15 – Homer, der Weltraumheld | 22m | ||
| 17:47 | Die Simpsons 5 | 16 – Homie und Neddie | 1h 13m | ||
| 19:15 | Die Simpsons 5 | 20 – Bart packt aus | 22m | ||
| 19:37 | Die Simpsons 5 | 21 – Liebhaber der Lady B | 22m | ||
| 19:59 | Die Simpsons 5 | 22 – Ehegeheimnisse | 23m | ||
| 20:22 | Die Simpsons 6 | 1 – Ein grausiger Verdacht | 22m | ||
| 20:44 | Die Simpsons 6 | 2 – Lisas Rivalin | 22m | ||
| 21:06 | Die Simpsons 6 | 3 – Romantik ist überall | 22m | ||
| 21:28 | Die Simpsons 6 | 4 – Der unheimliche Vergnügungspark | 22m | ||
| 21:50 | Die Simpsons 6 | 5 – Tingeltangel-Bob | 22m | ||
| 22:12 | Die Simpsons 6 | 6 – Furcht und Grauen ohne Ende | 22m | ||
| 22:34 | Die Simpsons 6 | 7 – Barts Freundin | 22m | ||
| 22:56 | Die Simpsons 6 | 8 – Lisa auf dem Eise | 21m | ||
| 23:17 | Die Simpsons 6 | 9 – Die Babysitterin und das Biest | 22m | ||
| 23:39 | Die Simpsons 6 | 10 – Grandpa gegen sexuelles Versagen | 22m |
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_sm2jq5aq/schedule?date=2026-10-12&tz=Europe/Moscow" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_sm2jq5aq/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_sm2jq5aq/history?from=2026-01-28T00:00:00Z&to=2026-01-29T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_sm2jq5aq/schedule?date=2026-10-12&tz=Europe/Moscow"); 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_sm2jq5aq/schedule?date=2026-10-12&tz=Europe/Moscow", { 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_sm2jq5aq/schedule", params={"date": "2026-10-12", "tz": "Europe/Moscow"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_sm2jq5aq/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_px10a9yj", "channel": "ch_sm2jq5aq", "start": "2026-10-11T20:40:00Z", "stop": "2026-10-11T21:03:00Z", "title": "Die Simpsons 3 | 13 – Wer anderen einen Brunnen gräbt", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 63, "date": "2026-10-12", "tz": "Europe/Moscow" } }
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 | Wednesday 28 January 2026 | Category |
|---|---|---|
| 19:00 | Family Guy 4, с. 17 – Der Fettwanst-Würger | |
| 19:23 | Family Guy 4, с. 18 – Die Kirche des Fonz | |
| 19:44 | Family Guy 4, с. 19 – Brian singt und swingt | |
| 9 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.