72.1M 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_t4hdmcsv/schedule?date=2026-10-17&tz=Europe/Moscow
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:10 | На троих | 55m | ||
| 00:05 | Наши. Борис Эйфман | 35m | ||
| 00:40 | Особое мнение. Выпуск от 22 мая 2018. Кирилл Мартынов | 40m | ||
| 01:20 | Особое мнение. Выпуск от 22 мая 2018. Виктор Ерофеев | 40m | ||
| 02:00 | Час Speak. Павел Лемберский | 55m | ||
| 02:55 | В Нью-Йорке с Виктором Топаллером. Евгений Стычкин | 55m | ||
| 03:50 | Шоб я так ел | 30m | ||
| 04:20 | Лиза из Сохо | 25m | ||
| 04:45 | Особое мнение. Выпуск от 16 января 2018. Сергей Смирнов | 40m | ||
| 05:25 | Особое мнение. Выпуск от 16 января 2018. Сергей Удальцов | 40m | ||
| 06:05 | Чужестранцы. Социальное расслоение | 30m | ||
| 06:35 | Американский ликбез. Первые штаты Америки | 25m | ||
| 07:00 | Особое мнение. Выпуск от 28 мая 2018. Аркадий Дубнов | 40m | ||
| 07:40 | Особое мнение. Выпуск от 28 мая 2018. Глеб Павловский | 40m | ||
| 08:20 | Особое мнение. Выпуск от 7 марта 2018. Николай Усков | 35m | ||
| 08:55 | Особое мнение. Выпуск от 7 марта 2018. Дмитрий Гудков | 40m | ||
| 09:35 | Наши. Елена Довлатова | 30m | ||
| 10:05 | Наши. Сергей Дрезнин | 35m | ||
| 10:40 | Наши. Алексей Ратманский | 30m | ||
| 11:10 | Нам надо поговорить. Что мы не знаем о мужчинах? | 1h | ||
| 12:10 | Дилетант. Экономические реформы времен перестройки: почему они не осуществились | 1h | ||
| 13:10 | Дилетант. Пушкин: с властью и против власти | 50m | ||
| 14:00 | Дилетант. Вечно ли живой Ленин? | 1h | ||
| 15:00 | Час Speak. Павел Лемберский | 1h | ||
| 16:00 | Особое мнение. Выпуск от 13 июня 2018. Елена Лукьянова | 40m | ||
| 16:40 | Особое мнение. Выпуск от 13 июня 2018. Дмитрий Муратов | 40m | ||
| 17:20 | Особое мнение. Выпуск от 19 февраля 2018. Дмитрий Некрасов | 40m | ||
| 18:00 | Особое мнение. Выпуск от 19 февраля 2018. Андрей Колесников | 35m | ||
| 18:35 | Американский ликбез. Мифы истории | 25m | ||
| 19:00 | На троих | 55m | ||
| 19:55 | Особое мнение. Выпуск от 9 мая 2018. Михаил Фишман | 40m | ||
| 20:35 | Особое мнение. Выпуск от 9 мая 2018. Юрий Пивоваров | 40m | ||
| 21:15 | Особое мнение. Выпуск от 8 марта 2018. Дмитрий Глуховский | 40m | ||
| 21:55 | Особое мнение. Выпуск от 8 марта 2018. Максим Шевченко | 40m | ||
| 22:35 | Американский ликбез. Мифы истории | 25m | ||
| 23:00 | Час Speak. Александр Рапопорт | 55m | ||
| 23:55 | Особое мнение. Выпуск от 18 июня 2018. Андрей Нечаев | 40m |
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_t4hdmcsv/schedule?date=2026-10-17&tz=Europe/Moscow" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_t4hdmcsv/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_t4hdmcsv/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_t4hdmcsv/schedule?date=2026-10-17&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_t4hdmcsv/schedule?date=2026-10-17&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_t4hdmcsv/schedule", params={"date": "2026-10-17", "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_t4hdmcsv/schedule?date=2026-10-17, the first programme { "data": [ { "id": "ls_4mfw9gxc", "channel": "ch_t4hdmcsv", "start": "2026-10-16T20:10:00Z", "stop": "2026-10-16T21:05:00Z", "title": "На троих", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 37, "date": "2026-10-17", "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 155 countries.