74.6M 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/Warsaw 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/Warsaw. The same day from the API: GET /v1/channels/ch_qdrch0g7/schedule?date=2026-10-14&tz=Europe/Warsaw
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Craft Buddy Basteltrends | Kreativideen aus England | Magazin | 1h |
| 01:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 02:00 | Craft Buddy Basteltrends On now | Kreativideen aus England | Magazin | 1h |
| 03:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 04:00 | Craft Buddy Basteltrends | Kreativideen aus England | Magazin | 1h |
| 05:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 06:00 | Craft Buddy Basteltrends | Kreativideen aus England | Magazin | 1h |
| 07:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 08:00 | Weihnachtsdeko selbst gestalten | Magazin | 1h | |
| 09:00 | Karins Bastelclub | Magazin | 1h | |
| 10:00 | Craft Buddy Basteltrends | Kreativideen aus England | Magazin | 1h |
| 11:00 | Basteln mit Familie Rens | Individuelle Kartenkunst | Magazin | 1h |
| 12:00 | Julia & Karin Jittenmeier - Basteln verbindet | Klassisches und trendiges Basteln | Magazin | 1h |
| 13:00 | Colorberry Kreatives Gießen | Kreatives Arbeiten mit Gießpulver | Magazin | 1h |
| 14:00 | Karins Bastelclub | Magazin | 1h | |
| 15:00 | Karins Bastelclub | Magazin | 1h | |
| 16:00 | Craft Buddy Basteltrends | Kreativideen aus England | Magazin | 1h |
| 17:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 18:00 | Plantinity Schmuckkollektion | Das kostbarste Edelmetall der Welt | Magazin | 1h |
| 19:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 20:00 | Luxuriöse Schmuckstücke | Schmuck-Highlights aus aller Welt | Magazin | 1h |
| 21:00 | Plantinity Schmuckkollektion | Das kostbarste Edelmetall der Welt | Magazin | 1h |
| 22:00 | Diamour Luxury Diamonds | Diamantschmuck in großer Vielfalt | Magazin | 1h |
| 23:00 | Luxuriöse Schmuckstücke | Schmuck-Highlights aus aller Welt | Magazin | 1h |
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_qdrch0g7/schedule?date=2026-10-14&tz=Europe/Warsaw" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qdrch0g7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qdrch0g7/history?from=2025-10-14T00:00:00Z&to=2025-10-15T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qdrch0g7/schedule?date=2026-10-14&tz=Europe/Warsaw"); 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_qdrch0g7/schedule?date=2026-10-14&tz=Europe/Warsaw", { 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_qdrch0g7/schedule", params={"date": "2026-10-14", "tz": "Europe/Warsaw"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_qdrch0g7/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_ccswz3h9", "channel": "ch_qdrch0g7", "start": "2026-10-13T22:00:00Z", "stop": "2026-10-13T23:00:00Z", "title": "Craft Buddy Basteltrends", "sub_title": "Kreativideen aus England", "description": null, "category": [ "magazin" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 24, "date": "2026-10-14", "tz": "Europe/Warsaw" } }
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 | Sunday 11 October 2026 | Category |
|---|---|---|
| 00:00 | Mont Chalet: Heimtextilien im Felldesign | Magazin |
| 01:00 | Mont Chalet: Heimtextilien im Felldesign | Magazin |
| 02:00 | Mont Chalet: Heimtextilien im Felldesign | Magazin |
| 21 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.