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_9a5zvvs2/schedule?date=2026-10-18&tz=Europe/Warsaw
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Kel-Tor Gorge | 3m | ||
| 00:03 | Perazica Beach in Montenegro | 3m | ||
| 00:06 | Barents Sea | 3m | ||
| 00:09 | Waterfall na reke Grlya Chernogoriya | 2m | ||
| 00:11 | Waterfall on the Karakol River | 3m | ||
| 00:14 | Lake Karagaykul | 3m | ||
| 00:17 | Nikklheim Marshes, Germany | 3m | ||
| 00:20 | Flamingos on Lake Bafa | 4m | ||
| 00:24 | Lake Peschanoye | 2m | ||
| 00:26 | Cape Ratac Montenegro | 3m | ||
| 00:29 | Shing River | 3m | ||
| 00:32 | Plomin Bay, Croatia | 3m | ||
| 00:35 | Lake Shadkhurei | 2m | ||
| 00:37 | Beshparmak mountain range | 3m | ||
| 00:40 | Emstruar Valley | 3m | ||
| 00:43 | Konoplyanki Bashkortostan | 1m | ||
| 00:44 | Dancing Ice | 2m | ||
| 00:46 | The coast of the Sea of Azov | 3m | ||
| 00:49 | Lake Yarevac Serbia | 2m | ||
| 00:51 | The Bolshaya Laba River | 3m | ||
| 00:54 | Belaya River | 3m | ||
| 00:57 | Durmitor Park, Montenegro | 2m | ||
| 00:59 | Western Dagomys River | 3m | ||
| 01:02 | Ninos Khevi River | 3m | ||
| 01:05 | Snowdrops Montenegro | 4m | ||
| 01:09 | Zagedan | 3m | ||
| 01:12 | Granite Canyon | 3m | ||
| 01:15 | Toplodolska River, Serbia | 3m | ||
| 01:18 | Grza River Serbia | 3m | ||
| 01:21 | Assa River | 2m | ||
| 01:23 | Aslykul | 3m | ||
| 01:26 | River Chuya bliz Iodro | 4m | ||
| 01:30 | Grza River Serbia | 3m | ||
| 01:33 | Relict turanga grove | 3m | ||
| 01:36 | Lake Skrcko, Montenegro | 3m | ||
| 01:39 | mountain lake | 2m | ||
| 01:41 | Poda Island | 2m | ||
| 01:43 | May beetles Tatarstan | 2m | ||
| 01:45 | Llosa River | 3m | ||
| 01:48 | Ak-Suu Gorge | 4m | ||
| 01:52 | Mount Sunduki | 2m | ||
| 01:54 | View from Mount Veliki Vukan, Serbia | 3m | ||
| 01:57 | Reflections | 2m | ||
| 01:59 | Ninos Khevi River | 4m | ||
| 02:03 | Dolomite Alps, Italy | 3m | ||
| 02:06 | Dabadzveli Gorge | 3m | ||
| 02:09 | Chuya River | 3m | ||
| 02:12 | Mountains Komovi Chernogoriya | 4m | ||
| 02:16 | The Bolshaya Laba River | 4m | ||
| 02:20 | Cape Chicken-Kaya | 3m | ||
| 02:23 | Yuryuzan River | 3m | ||
| 02:26 | Kuhflöcht waterfall Germany | 4m | ||
| 02:30 | Oak Bay | 3m | ||
| 02:33 | Jety-Oguz Gorge | 3m | ||
| 02:36 | Vratna River, Serbia | 3m | ||
| 02:39 | Kodori Gorge | 3m | ||
| 02:42 | Long Mountains Orenburg region | 2m | ||
| 02:44 | Amola River | 3m | ||
| 02:47 | Caspian Sea | 3m | ||
| 02:50 | Skoga River Canyon | 4m | ||
| 02:54 | Charskie Sands, Transbaikal Territory | 3m | ||
| 02:57 | Aktolagay Plateau | 2m | ||
| 02:59 | The Vorotan River | 2m | ||
| 03:01 | Muradymovskoe Gorge | 3m | ||
| 03:04 | River Inri Emstrua | 3m | ||
| 03:07 | Lake Turie | 3m | ||
| 03:10 | Relict turanga grove | 3m | ||
| 03:13 | Apple tree Croatia | 3m | ||
| 03:16 | Zagedan Lakes | 3m | ||
| 03:19 | View from Mount Karaul-Oba | 2m | ||
| 03:21 | River Sarca di Valesinella | 3m | ||
| 03:24 | Katun River Cordon Kur-Kechu | 3m | ||
| 03:27 | Ukly Kaya Rock | 3m | ||
| 03:30 | On the seashore of Türkiye | 3m | ||
| 03:33 | Osterlbach Stream, Germany | 3m | ||
| 03:36 | Blue Bay | 3m | ||
| 03:39 | Izh River Tatarstan | 3m | ||
| 03:42 | Nikklheim Marshes, Germany | 3m | ||
| 03:45 | Chernorechensky Canyon | 3m | ||
| 03:48 | Valdanos Beach, Montenegro | 3m | ||
| 03:51 | Yuryuzan River | 3m | ||
| 03:54 | Kichkinekol Gorge | 2m | ||
| 03:56 | Morning in the canyon Serbia | 4m | ||
| 04:00 | Airakty-Shomanay tract | 4m | ||
| 04:04 | Osterlbach Stream, Germany | 3m | ||
| 04:07 | Lindulovskaya grove | 3m | ||
| 04:10 | Khobi River Valley | 3m | ||
| 04:13 | The Black Sea coast | 3m | ||
| 04:16 | Durmitor, Montenegro | 3m | ||
| 04:19 | The Maly Inzer River | 2m | ||
| 04:21 | Locality Shekelmes Kazakhstan | 4m | ||
| 04:25 | Lake Draga | 3m | ||
| 04:28 | Zamna River Canyon | 3m | ||
| 04:31 | Caspian Sea Republic of Kazakhstan | 3m | ||
| 04:34 | The Tisza River, Hungary | 4m | ||
| 04:38 | River Chemal | 2m | ||
| 04:40 | Legzira Beach | 2m | ||
| 04:42 | Caspian Sea | 3m | ||
| 04:45 | Ishimbay Nature Reserve | 2m | ||
| 04:47 | Mitkin Rocks | 3m | ||
| 04:50 | Borich Observation Deck, Bosnia | 2m | ||
| 04:52 | Sea sunset Türkiye | 3m | ||
| 04:55 | View from Mount Gologlav, Montenegro | 3m | ||
| 04:58 | The Cehotine River in Montenegro | 3m | ||
| 05:01 | In the mountains | 4m | ||
| 05:05 | Charyn Canyon | 3m | ||
| 05:08 | Auzun-Uzen River | 3m | ||
| 05:11 | Black-necked Grebe | 2m | ||
| 05:13 | Valley Grebaye Chernogoriya | 3m | ||
| 05:16 | Türkiye Bay | 2m | ||
| 05:18 | Tara River Canyon, Montenegro | 3m | ||
| 05:21 | Melnichny Waterfall on the Titovka River | 3m | ||
| 05:24 | Lake Tobavarchkhili | 2m | ||
| 05:26 | Lake Skrcko, Montenegro | 3m | ||
| 05:29 | Lake Talkas | 2m | ||
| 05:31 | Kodori Gorge | 4m | ||
| 05:35 | Ala-Archa National Park | 4m | ||
| 05:39 | Grey Heron | 2m | ||
| 05:41 | Bayangobi Desert Mongolia | 2m | ||
| 05:43 | Lake Agotvatnet | 3m | ||
| 05:46 | The Kuban River | 3m | ||
| 05:49 | Karakol Gorge | 3m | ||
| 05:52 | Irendyk Ridge | 3m | ||
| 05:55 | Lake Biograd, Montenegro | 2m | ||
| 05:57 | Can-umantad Waterfall, Philippines | 3m | ||
| 06:00 | Forest Lyuty Serbia | 3m | ||
| 06:03 | At Lake Draga | 3m | ||
| 06:06 | Turtle Bay | 3m | ||
| 06:09 | Pesio River | 4m | ||
| 06:13 | Sunset on the Caspian Sea | 2m | ||
| 06:15 | Long Mountains Orenburg region | 2m | ||
| 06:17 | Turgen Gorge | 4m | ||
| 06:21 | Dawn over the Danube, Romania | 2m | ||
| 06:23 | Blue Lake | 4m | ||
| 06:27 | Autumn forest in Montenegro | 2m | ||
| 06:29 | Turtle Bay | 3m | ||
| 06:32 | Deer Udmurtia | 3m | ||
| 06:35 | Blederija Waterfall, Serbia | 3m | ||
| 06:38 | Lake Pater-Bashik, Kyrgyzstan | 1m | ||
| 06:39 | Hwangil Waterfall | 3m | ||
| 06:42 | Lake Tolbo-Nuur | 3m | ||
| 06:45 | Lake Kiyavr | 3m | ||
| 06:48 | Golo Brdo Montenegro | 3m | ||
| 06:51 | Arakul Ridge | 4m | ||
| 06:55 | Mount Raspberry | 3m | ||
| 06:58 | Lake Pesica, Montenegro | 3m |
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_9a5zvvs2/schedule?date=2026-10-18&tz=Europe/Warsaw" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9a5zvvs2/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9a5zvvs2/history?from=2025-10-14T00:00:00Z&to=2025-10-15T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_9a5zvvs2/schedule?date=2026-10-18&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_9a5zvvs2/schedule?date=2026-10-18&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_9a5zvvs2/schedule", params={"date": "2026-10-18", "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_9a5zvvs2/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_7ae1tp8t", "channel": "ch_9a5zvvs2", "start": "2026-10-17T22:00:00Z", "stop": "2026-10-17T22:03:00Z", "title": "Kel-Tor Gorge", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 146, "date": "2026-10-18", "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 | Tuesday 14 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.