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_9qkg3enh/schedule?date=2026-10-11&tz=Europe/Kyiv
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Обед безбрачия, 29 эп. Кнедлики с грибами | |||
| 00:20 | Мясо. От филе до фарша, 111 эп. Ветчина из глазного мускула с соусом | 23m | ||
| 00:43 | Мясо. От филе до фарша, 112 эп. Жаркое из глазного мускула с овощами | 17m | ||
| 01:00 | Мясо. От филе до фарша, 113 эп. Ромштекс | 30m | ||
| 01:30 | Мясо. От филе до фарша, 114 эп. Рассольник из глазного мускула | 24m | ||
| 01:54 | ДЕСЕРТация, 56 эп. Про Россию. Творожные кексы. Печенье на майонезе | 28m | ||
| 02:22 | ДЕСЕРТация, 58 эп. Про Россию. "Птичье молоко" по-домашнему | 30m | ||
| 02:52 | Высший пилотаж, 63 эп. Соус "Весна" | 24m | ||
| 03:16 | Высший пилотаж, 64 эп. Соус Абано | 25m | ||
| 03:41 | Высший пилотаж, 65 эп. Яичный соус | 29m | ||
| 04:10 | Без глютена, 13 эп. Краковское пирожное | 23m | ||
| 04:33 | Без глютена, 14 эп. Пельмени с двумя начинками | 25m | ||
| 04:58 | Без глютена, 15 эп. Два вида хлеба | 26m | ||
| 05:24 | Без глютена, 16 эп. Два вида маффинов | 26m | ||
| 05:50 | Кухня по заявкам, 421 эп. Пилав с цветной капустой. Рыбные котлеты с цветной капустой. Соус из жаренной цветной капусты | 26m | ||
| 06:16 | Кухня по заявкам, 420 эп. Пхали со свёклой. Салат из свёклы и яблока. Гратен из свёклы с сельдереем. Дип со свёклой и хреном | 27m | ||
| 06:43 | Наедине с Мосиным, 56 эп. Жареные пельмени с овощной икрой. Лапша с говядиной в сырном соусе | 28m | ||
| 07:11 | Наедине с Мосиным, 55 эп. Луковый суп. Хрустящая брюссельская капуста с ореховым соусом | 31m | ||
| 07:42 | Выпечка для чайников, 11 эп. Картофельный хлеб и сырные лепёшки | 38m | ||
| 08:20 | Выпечка для чайников, 12 эп. Маковый торт | 40m | ||
| 09:00 | Готовим с мечтой, 12 эп | 30m | ||
| 09:30 | Готовим с мечтой, 2 эп. Малайзия. Карри с морепродуктами и кебаб малай | 30m | ||
| 10:00 | На гриле, 32 эп. Каре барашка с молодым картофелем | 29m | ||
| 10:29 | На гриле, 45 эп. Шварма с говяжьими колбасками, запечёнными овощами и халуми | 26m | ||
| 10:55 | Дежурный пекарь, 2 сезон, 12 эп. Торт "Молочная девочка" | 27m | ||
| 11:22 | Дежурный пекарь, 2 сезон, 4 эп. Перевернутый грушевый пирог | 25m | ||
| 11:47 | 7 нот вегетарианской кухни, 22 эп. Жареный банан в рубашке из цукини | 10m | ||
| 11:57 | 7 нот вегетарианской кухни, 27 эп. Картофельные башмачки | 11m | ||
| 12:08 | Выпечка на пАру, 47 эп. Пирожное "Ленинградское" | 27m | ||
| 12:35 | Выпечка на пАру, 48 эп. Безе и антибезе | 31m | ||
| 13:06 | Кухня по заявкам, 350 эп. Икра из свёклы и сметаны. Икра из солёных огурцов. Икра из кабачка и плавленого сыра. Заалюк (икра из баклажана с помидорами по-мароккански) | 27m | ||
| 13:33 | Кухня по заявкам, 351 эп. Шакшука с бараниной. Масгуф. Хацилим. Курица по-черкесски | 31m | ||
| 14:04 | Всё просто с Василием Емельяненко, 82 эп. Бургер для завтрака! | 29m | ||
| 14:33 | Всё просто с Василием Емельяненко, 83 эп. Три топовых хот-дога | 29m | ||
| 15:02 | Принципы Лазерсона, 14 эп. Селёдка под шубой | 28m | ||
| 15:30 | Принципы Лазерсона, 15 эп. Салатные заправки | 30m | ||
| 16:00 | Первое, второе, третье, 18 эп. Закуска c баклажаном. Пельмени с грибным соусом. Коктейль бананово-шоколадный | 32m | ||
| 16:32 | Первое, второе, третье, 19 эп. Цитрусы с морепродуктами. Рыба по-польски с картофелем. Бананово-ягодный сорбет | 28m | ||
| 17:00 | Сказка со счастливым тунцом, 2 эп. Четыре блюда с тунцом! | 30m | ||
| 17:30 | Сказка со счастливым тунцом, 1 эп. Омлет омурайсу, вителло тоннато и боул с киноа | 30m | ||
| 18:00 | Любовь в каждой рыбке, 2 эп. Салат из печени трески, яичные котлетки и суп с горбушей | 30m | ||
| 18:30 | Любовь в каждой рыбке, 1 эп. Сэндвич вителло тоннато и два салата с тунцом | 30m | ||
| 19:00 | Ужин? Не проблема!, 10 эп. Крем-суп из кабачков. Паштет из печёнки индейки. Закуска с луком-пореем | 29m | ||
| 19:29 | Ужин? Не проблема!, 12 эп. Запечённая голень индейки в беконе со свёклой и сливами. Мусс из белого шоколада | 31m | ||
| 20:00 | Готовим с мечтой, 12 эп | 30m | ||
| 20:30 | Готовим с мечтой, 4 эп. Испания. Тортилья и паэлья | 29m | ||
| 20:59 | Будет вкусно!, 20 эп | 31m | ||
| 21:30 | Будет вкусно!, 21 эп | 30m | ||
| 22:00 | Обед безбрачия, 26 эп. Котлеты с пюре | 30m | ||
| 22:30 | Обед безбрачия, 27 эп. Рыба под маринадом | 29m | ||
| 22:59 | Обед безбрачия, 28 эп. Гороховый суп | 31m | ||
| 23:30 | Обед безбрачия, 29 эп. Кнедлики с грибами | 30m |
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_9qkg3enh/schedule?date=2026-10-11&tz=Europe/Kyiv" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9qkg3enh/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9qkg3enh/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_9qkg3enh/schedule?date=2026-10-11&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_9qkg3enh/schedule?date=2026-10-11&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_9qkg3enh/schedule", params={"date": "2026-10-11", "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_9qkg3enh/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_hv66a9d4", "channel": "ch_9qkg3enh", "start": "2026-10-10T21:00:00Z", "stop": null, "title": "Обед безбрачия, 29 эп. Кнедлики с грибами", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 52, "date": "2026-10-11", "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.