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/Kyiv time, what is on now and next, and the same data in your app with one call.
All times Europe/Kyiv. The same day from the API: GET /v1/channels/ch_dj656408/schedule?date=2026-10-15&tz=Europe/Kyiv
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Ущелье реки Рача | 3m | ||
| 00:03 | Тургеньское ущелье | 3m | ||
| 00:06 | Сурки. Удмуртия | 3m | ||
| 00:09 | Дурмитор. Черногория | 3m | ||
| 00:12 | Бамбуковый лес | 3m | ||
| 00:15 | Пляж Убока. Хорватия | 3m | ||
| 00:18 | Султан-Апа | 2m | ||
| 00:20 | Иссыкское ущелье | 3m | ||
| 00:23 | Горы Прень. Босния и Герцеговина | 3m | ||
| 00:26 | Реликтовая туранговая роща. Закат | 4m | ||
| 00:30 | Осенний лес. Черногория | 3m | ||
| 00:33 | Хребет Ирендык | 3m | ||
| 00:36 | Ущелье Джегош | 5m | ||
| 00:41 | Река Грза. Сербия | 3m | ||
| 00:44 | Каспийское море | 3m | ||
| 00:47 | Утро в каньоне. Сербия | 3m | ||
| 00:50 | Токтогульское водохранилище | 3m | ||
| 00:53 | Водопад Хирцбах | 4m | ||
| 00:57 | Подводный мир Андаманского моря | 3m | ||
| 01:00 | Горис | 5m | ||
| 01:05 | Мыс Ратац. Черногория | 3m | ||
| 01:08 | Вид на Адриатическое море. Черногория | 3m | ||
| 01:11 | Панда. Филиппины | 2m | ||
| 01:13 | Старый Хндзореск | 3m | ||
| 01:16 | Гора Маттерхорн | 4m | ||
| 01:20 | Мыс Фиолент | 3m | ||
| 01:23 | Пляжи Као-Лака | 2m | ||
| 01:25 | Ущелье реки Губерля | 3m | ||
| 01:28 | Мыс Ратац. Черногория | 3m | ||
| 01:31 | Урочище Аккергешен | 3m | ||
| 01:34 | У озера Карагайкуль | 3m | ||
| 01:37 | Озеро Цхына | 3m | ||
| 01:40 | Лаванда. Франция | 2m | ||
| 01:42 | Глетчер Свартисен | 4m | ||
| 01:46 | Остров Ко Липе. Паттайя Бич | 4m | ||
| 01:50 | Река Песио | 3m | ||
| 01:53 | Побережье острова Бохол. Филиппины | 3m | ||
| 01:56 | Летнее утро | 3m | ||
| 01:59 | Хребет Эгриси | 3m | ||
| 02:02 | Горная река | 6m | ||
| 02:08 | Аккергешен | 2m | ||
| 02:10 | Голубая бухта | 3m | ||
| 02:13 | Река Селченска | 3m | ||
| 02:16 | Река Нинос Хеви | 3m | ||
| 02:19 | Водопад Самодивско Пръскало | 3m | ||
| 02:22 | Фламинго на озере Бафа | 3m | ||
| 02:25 | Озеро Великое Штабанско. Черногория | 3m | ||
| 02:28 | Отражения | 3m | ||
| 02:31 | Инзерские зубчатки | 3m | ||
| 02:34 | Остров Бохол. Филиппины | 3m | ||
| 02:37 | Река Песио | 3m | ||
| 02:40 | Плато Арабель | 3m | ||
| 02:43 | Река Сан-Пеллегрино | 4m | ||
| 02:47 | Бухтарма. Казахстан | 3m | ||
| 02:50 | Водопад Джур-Джур | 4m | ||
| 02:54 | Лагос де Тристайна | 4m | ||
| 02:58 | Токтогульское водохранилище | 3m | ||
| 03:01 | Кратер вулкана Мутновский. Камчатка | 3m | ||
| 03:04 | Тургеньское ущелье | 3m | ||
| 03:07 | Парк Сильвер Фолс | 5m | ||
| 03:12 | Шри-Ланка: животные | 2m | ||
| 03:14 | Водопад Саент | 3m | ||
| 03:17 | Бухтарминское водохранилище. Казахстан | 3m | ||
| 03:20 | Водопад Рутор | 4m | ||
| 03:24 | Подводный мир | 2m | ||
| 03:26 | Урочище Ак-Узук | 3m | ||
| 03:29 | Река Гумиста | 4m | ||
| 03:33 | Остров Тенерифе | 3m | ||
| 03:36 | Река Нугуш | 2m | ||
| 03:38 | Долина реки Аксай | 2m | ||
| 03:40 | Саннефьорд | 4m | ||
| 03:44 | Гора Сорокина. Казахстан | 3m | ||
| 03:47 | Побережье Тангалле | 4m | ||
| 03:51 | Национальный парк Плитвицкие озёра | 3m | ||
| 03:54 | Каньон реки Лим. Сербия | 2m | ||
| 03:56 | Хребет Зюраткуль | 4m | ||
| 04:00 | Побережье Тангалле | 3m | ||
| 04:03 | Недалеко от реки Шакуран | 4m | ||
| 04:07 | Долина реки Телеты | 4m | ||
| 04:11 | Мыс Ратац. Черногория | 3m | ||
| 04:14 | Иссыкское ущелье | 3m | ||
| 04:17 | Ущелье Ле Гьер Мор | 3m | ||
| 04:20 | Ущелье Капчыгай | 2m | ||
| 04:22 | Каньон реки Морача. Черногория | 3m | ||
| 04:25 | Большой Тхач | 3m | ||
| 04:28 | На Марухском перевале | 3m | ||
| 04:31 | Национальный парк Тара. Сербия | 2m | ||
| 04:33 | Подсолнечник. Башкортостан | 3m | ||
| 04:36 | Сванетия | 5m | ||
| 04:41 | Кони | 1m | ||
| 04:42 | Водопад Валесинелла | 3m | ||
| 04:45 | Тургеньское ущелье | 3m | ||
| 04:48 | Ущелье Ле Гьер Мор | 3m | ||
| 04:51 | Урочище Агура | 3m | ||
| 04:54 | Долина Привидений | 2m | ||
| 04:56 | Водопад на реке Грля. Черногория | 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_dj656408/schedule?date=2026-10-15&tz=Europe/Kyiv" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dj656408/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dj656408/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_dj656408/schedule?date=2026-10-15&tz=Europe/Kyiv"); 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_dj656408/schedule?date=2026-10-15&tz=Europe/Kyiv", { 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_dj656408/schedule", params={"date": "2026-10-15", "tz": "Europe/Kyiv"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_dj656408/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_dasjvayc", "channel": "ch_dj656408", "start": "2026-10-14T21:00:00Z", "stop": "2026-10-14T21:03:00Z", "title": "Ущелье реки Рача", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 96, "date": "2026-10-15", "tz": "Europe/Kyiv" } }
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.