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/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_qttvdz36/schedule?date=2026-10-12&tz=Europe/Moscow
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:57 | +100500 ЗАЩИТНЫЙ КОСТЮМ КУРИЛЬЩИКА | 11m | ||
| 00:08 | +100500 Затычка | 8m | ||
| 00:16 | +100500 Заводная Газонокосилка | 12m | ||
| 00:28 | +100500 Змеечлен | 7m | ||
| 00:35 | +100500 ЗОЛОТАЯ МАСКА ОТ КОРОНАВИРУСА | 15m | ||
| 00:50 | +100500 Зря старался | 7m | ||
| 00:57 | +100500 1-ое Сентября Во Владивостоке | 11m | ||
| 01:08 | +100500 10 КЛАССИЧЕСКИХ ВИДОСОВ | 33m | ||
| 01:41 | +100500 37 Личинок | 4m | ||
| 01:45 | +100500 100k | 8m | ||
| 01:53 | +100500 2016 | 8m | ||
| 02:01 | +100500 2220 (новогодний выпуск) | 12m | ||
| 02:13 | +100500 LuCAS | 5m | ||
| 02:18 | +100500 TikTok | 12m | ||
| 02:30 | +100500 VR Бабуля | 8m | ||
| 02:38 | +100500 Абхазский Андрей Малахов | 10m | ||
| 02:48 | +100500 Абсент | 11m | ||
| 02:59 | +100500 Абсурд | 9m | ||
| 03:08 | +100500 Адский Разгон | 11m | ||
| 03:19 | +100500 А КАК НАСЧЁТ ПОПЫ | 16m | ||
| 03:35 | +100500 Алкаша Чуть Не Сбила Электричка | 18m | ||
| 03:53 | +100500 Алкаш На Льду | 5m | ||
| 03:58 | +100500 Алкаш в метро | 8m | ||
| 04:06 | +100500 Алкоспортсмен Будущего | 12m | ||
| 04:18 | +100500 Алкотерминатор | 12m | ||
| 04:30 | +100500 Алкозамес | 9m | ||
| 04:39 | +100500 Алые Паруса | 9m | ||
| 04:48 | +100500 Анальная Чакра | 7m | ||
| 04:55 | +100500 Аннигиляторная Пушка | 10m | ||
| 05:05 | +100500 Аплодисменты | 7m | ||
| 05:12 | +100500 Аркадий Давидович | 14m | ||
| 05:26 | +100500 Аттракцион | 9m | ||
| 05:35 | +100500 Багаж | 6m | ||
| 05:41 | +100500 Банка | 8m | ||
| 05:49 | +100500 Барнаульская Новостройка | 10m | ||
| 05:59 | +100500 Барри | 7m | ||
| 06:06 | +100500 Бег с Препятствиями | 6m | ||
| 06:12 | +100500 Белка и Намасленная Палка | 9m | ||
| 06:21 | +100500 БЕЛОРУССКАЯ ПРОПАГАНДА | 13m | ||
| 06:34 | +100500 Бесполезный репортаж | 9m | ||
| 06:43 | +100500 Безудержное Веселье | 10m | ||
| 06:53 | +100500 Безумные Усилия | 8m | ||
| 07:01 | +100500 Безумный Повар | 6m | ||
| 07:07 | +100500 Безупречный Монтаж | 7m | ||
| 07:14 | +100500 БИГ МАК КОНСТИТУЦИЯ | 10m | ||
| 07:24 | +100500 Бобёр Тусовщик | 7m | ||
| 07:31 | +100500 Болт в Лобовухе и Маленько Перебрал | 7m | ||
| 07:38 | +100500 Большие яйца | 8m | ||
| 07:46 | +100500 Большой Русский Босс | 6m | ||
| 07:52 | +100500 Бомбилы | 7m | ||
| 07:59 | +100500 Боря Хряк Застрял | 10m | ||
| 08:09 | +100500 Бракованный Хомяк | 10m | ||
| 08:19 | +100500 Бредор | 6m | ||
| 08:25 | +100500 Бритый Кошачий Хвост | 12m | ||
| 08:37 | +100500 Брусок | 7m | ||
| 08:44 | +100500 Бухой Оптимус Прайм | 8m | ||
| 08:52 | +100500 Бухой Прямой Эфир | 14m | ||
| 09:06 | +100500 Буксировка Перевёрнутого Прицепа | 10m | ||
| 09:16 | +100500 Бык На Стероидах | 7m | ||
| 09:23 | +100500 Ценители Бояры | 13m | ||
| 09:36 | +100500 Чесотка | 6m | ||
| 09:42 | +100500 Чифирщик | 8m | ||
| 09:50 | +100500 Чирлидерши | 7m | ||
| 09:57 | +100500 Член | 5m | ||
| 10:02 | +100500 Чмоки-Чмоки | 6m | ||
| 10:08 | +100500 ЧСВ САМКА И ГРУЗИНСКИЙ ЭКОНОМИСТ | 10m | ||
| 10:18 | +100500 Чудо-Сиськи | 5m | ||
| 10:23 | +100500 Чумазоид | 9m | ||
| 10:32 | +100500 Чуть Не Укатало | 7m | ||
| 10:39 | +100500 Чувак Спалил Кухню Кипящим Маслом | 10m | ||
| 10:49 | +100500 Дальнобойщик Угостил Ворона Пирожком | 10m | ||
| 10:59 | +100500 Данчик | 11m | ||
| 11:10 | +100500 Давай По Лужам | 10m | ||
| 11:20 | +100500 Деда-Ловелас | 12m | ||
| 11:32 | +100500 Дед На Каблуках и Говорящий Кот | 10m | ||
| 11:42 | +100500 ДЕДУШКА И ЁЛОЧКА | 13m | ||
| 11:55 | +100500 ДЕГТЯРЁВ ПРИМАНИВАЕТ ЕДУ | 12m | ||
| 12:07 | +100500 Дельтаплан | 9m | ||
| 12:16 | +100500 Денчик | 11m | ||
| 12:27 | +100500 Дерзкий Мужик | 6m | ||
| 12:33 | +100500 Дети Цветов | 4m | ||
| 12:37 | +100500 Детская Коляска На Дороге в Челябинске и Фанат Стаса Михайлова | 9m | ||
| 12:46 | +100500 Детский Хардкор | 6m | ||
| 12:52 | +100500 Девка За Рулём и Салют в Подъезде | 13m | ||
| 13:05 | +100500 ДЕЗИНФЕКЦИЯ МАСОК В МИКРОВОЛНОВКЕ | 10m | ||
| 13:15 | +100500 Дичайший Пердёж | 11m | ||
| 13:26 | +100500 Дикая невеста | 9m | ||
| 13:35 | +100500 Дирижабль, Ага! | 4m | ||
| 13:39 | +100500 Джесси Пинкман | 8m | ||
| 13:47 | +100500 Для Прикола | 10m | ||
| 13:57 | +100500 Долой Уныние! | 8m | ||
| 14:05 | +100500 Домашний Телефон | 10m | ||
| 14:15 | +100500 Дональд Трамп в Переходе | 10m | ||
| 14:25 | +100500 Дорога домой | 8m | ||
| 14:33 | +100500 Доска Почета | 6m | ||
| 14:39 | +100500 Древоёб | 6m | ||
| 14:45 | +100500 Дружба | 7m | ||
| 14:52 | +100500 Дружко Шоу и Член Сына Государственной Думы | 10m | ||
| 15:02 | +100500 ДТП с БТР | 14m | ||
| 15:16 | +100500 ДТП | 9m | ||
| 15:25 | +100500 Дворники | 9m | ||
| 15:34 | +100500 Двойной Удар | 4m | ||
| 15:38 | +100500 Двухсотый | 7m | ||
| 15:45 | +100500 Ебануться! | 8m | ||
| 15:53 | +100500 Еду Я На Родину | 5m | ||
| 15:58 | +100500 Экскаватор в Пропасть и Солдат-Кран | 11m | ||
| 16:09 | +100500 Электрики | 8m | ||
| 16:17 | +100500 Ёлочки и Водочка | 7m | ||
| 16:24 | +100500 Эмоциональный | 7m | ||
| 16:31 | +100500 Эпик Феис | 7m | ||
| 16:38 | +100500 Это Круто | 4m | ||
| 16:42 | +100500 ЭТО МОЙ РАЗМЕР! | 9m | ||
| 16:51 | +100500 Эволюция | 6m | ||
| 16:57 | +100500 Евро Доллар | 7m | ||
| 17:04 | +100500 ЕВРОПРОТОКОЛ. СЛОЖНОСТИ ОФОРМЛЕНИЯ | 11m | ||
| 17:15 | +100500 ФЕЙК ТАКСИ 6 | 9m | ||
| 17:24 | +100500 Фейловый | 10m | ||
| 17:34 | +100500 Формула 1 | 9m | ||
| 17:43 | +100500 Фрисби | 7m | ||
| 17:50 | +100500 ФСОШНИК ПЕРФЕКЦИОНИСТ НА ВСТРЕЧЕ ПУТИНА И ЛУКАШЕНКО | 1h 10m | ||
| 19:00 | +100500 Гололед | 6m | ||
| 19:06 | +100500 Голубь Мира | 6m | ||
| 19:12 | +100500 Голубые в Кировске | 4m | ||
| 19:16 | +100500 ГОЛЫЙ ПРЕЗИДЕНТ | 10m | ||
| 19:26 | +100500 ГРИБНАЯ БРОНЬ, СОН В ГРОБУ, АДСКИЙ ТУАЛЕТ И КАЗАЧЬЯ ПОРКА | 18m | ||
| 19:44 | +100500 Гроза Танцпола | 7m | ||
| 19:51 | +100500 ГУБЕРНАТОР КУБАНИ И ЕГО КРАЙ | 10m | ||
| 20:01 | +100500 Химическая реакция | 6m | ||
| 20:07 | +100500 Ходячие Мертвецы | 6m | ||
| 20:13 | +100500 Хороший Бросок | 8m | ||
| 20:21 | +100500 Хороший Тост | 7m | ||
| 20:28 | +100500 Хот-Дог | 6m | ||
| 20:34 | +100500 ХОУЛИ ФАКИН ЩИТ | 8m | ||
| 20:42 | +100500 Хованчик | 10m | ||
| 20:52 | +100500 Хреновый Грабитель | 6m | ||
| 20:58 | +100500 ХРУЩ | 8m | ||
| 21:06 | +100500 Хрюшка С Подогревом | 6m | ||
| 21:12 | +100500 Хватит Нюхать! | 12m | ||
| 21:24 | +100500 И Что с Этим Делать Теперь | 7m | ||
| 21:31 | +100500 Идеальный Английский | 11m | ||
| 21:42 | +100500 ИДИ НА КАСТИНГ | 9m | ||
| 21:51 | +100500 Игорь Николаевич | 10m | ||
| 22:01 | +100500 Император Леонид Сжёг Автокран | 10m | ||
| 22:11 | +100500 Индийское Кино 2.0 | 8m | ||
| 22:19 | +100500 Индийское Кино | 6m | ||
| 22:25 | +100500 Индомесилово | 8m | ||
| 22:33 | +100500 Индусы Затусили Прямо в Кино! | 8m | ||
| 22:41 | +100500 ИНОПРИШЕЛЕНЕЦ | 11m | ||
| 22:52 | +100500 Интервью На Первом и Замес На НТВ On now | 20h 8m |
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_qttvdz36/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_qttvdz36/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qttvdz36/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qttvdz36/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_qttvdz36/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_qttvdz36/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_qttvdz36/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_0rey1can", "channel": "ch_qttvdz36", "start": "2026-10-11T20:57:00Z", "stop": "2026-10-11T21:08:00Z", "title": "+100500 ЗАЩИТНЫЙ КОСТЮМ КУРИЛЬЩИКА", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 149, "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 | Monday 13 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.