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/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_ahby546f/schedule?date=2026-10-14&tz=Europe/Kyiv
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Д/ф "Адмиралтейство" | 1h | ||
| 01:00 | "Магия музыки". "Игра в бисер": легенда о музыковедении | 30m | ||
| 01:30 | Российский экологический оператор. Поступай правильно с Маргаритой Мамун | 5m | ||
| 01:35 | Непровинция. Владивосток - дальше некуда! | 35m | ||
| 02:10 | "Домой, в Россию". Костромская область. Царственный край | 35m | ||
| 02:45 | "Телевидение - профессия и судьба". Любовь Терехова - комментатор, режиссёр, ведущая телепрограмм | 45m | ||
| 03:30 | ТопВуз, 5 эп. Санкт-Петербургский государственный университет - СПбГУ | 30m | ||
| 04:00 | Новости, 165 эп. "Время русского мира" | 15m | ||
| 04:15 | "Ночной перекресток". Гость: Тамара Сёмина о Сергее Филиппове | 45m | ||
| 05:00 | "Я изобретатель". Лампы | 30m | ||
| 05:30 | Российский экологический оператор. Новый год | 5m | ||
| 05:35 | Непровинция. В Тулу со своим самоваром | 35m | ||
| 06:10 | Музеемания, 33 эп. Исаакиевский собор | 20m | ||
| 06:30 | #БытьВКурсе, 8 эп. Владислав Сотников: "Психология. Можно ли стать психологом, окончив курсы" | 50m | ||
| 07:20 | Иностранные выпускники России, 3 эп. Моника Локман (Ирландия) | 40m | ||
| 08:00 | Расскажи миру о своей Родине, 95 эп | 40m | ||
| 08:40 | #ЯЗдесь, 7 эп. Ток-шоу "Pro Маст" | 20m | ||
| 09:00 | Х/ф "Дни и ночи" | 1h 30m | ||
| 10:30 | "Человек космический", 5 эп | 25m | ||
| 10:55 | Любимый русский, 16 эп. Сесть в лужу | 5m | ||
| 11:00 | "Движение мысли", 5 эп | 35m | ||
| 11:35 | "Мысли великих людей" | 25m | ||
| 12:00 | Победили вместе. Д/ф "Почаще смотрите на звезды" | 1h | ||
| 13:00 | Профессии будущего, 7 эп. Проектировщик наноматериалов | 15m | ||
| 13:15 | История одной картины. Опять двойка | 15m | ||
| 13:30 | Российский экологический оператор. Ремонт | 5m | ||
| 13:35 | Непровинция. Тот самый Великий! | 35m | ||
| 14:10 | Зелёная "школа". Урок 1: "Почему нельзя мусорить и чем мусор отличается от отходов? 1-4 класс" | 20m | ||
| 14:30 | Новые территории. Д/ф "Воскресенье твоё, Христе спасе" | 50m | ||
| 15:20 | Литературная дуэль, 3 эп. Писателем может стать каждый? | 40m | ||
| 16:00 | Честное слово, 4 эп. Речевой этикет | 55m | ||
| 16:55 | Эффект слова. Для галочки | 5m | ||
| 17:00 | Лекторий Dостоевский, 11 эп. Режиссер Станислав Ростоцкий | 30m | ||
| 17:30 | Российский экологический оператор. Подарить вторую жизнь хомяку | 5m | ||
| 17:35 | Непровинция. Алтай - центр четырёх океанов | 35m | ||
| 18:10 | "Я - студент!". Проект "Зачислено", 4 эп. Московский государственный институт международных отношений - МГИМО | 35m | ||
| 18:45 | Российские IT лидеры, 8 эп. Компания "Mango Office" | 35m | ||
| 19:20 | Золотые лекции, 13 эп. Что делал Леонардо да Винчи в Москве? | 40m | ||
| 20:00 | Культурный код России, 2 эп. Алла Йопше и Стахан Рахимов | 40m | ||
| 20:40 | Пророки, 12 эп. Влад Маленко | 20m | ||
| 21:00 | На встречу времени, 1 эп. Электромонтаж | 30m | ||
| 21:30 | Российский экологический оператор. Сдавай технику на переработку с Яном Диланом | 5m | ||
| 21:35 | Непровинция. Калининград. Самый немецкий из российских.. | 35m | ||
| 22:10 | "Ночной перекресток". Гость: Александр Бурдонский о Любови Дбржанской | 50m | ||
| 23:00 | "Школа шахмат", 6 эп | 30m | ||
| 23:30 | "Человек в кубе", 6 эп | 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_ahby546f/schedule?date=2026-10-14&tz=Europe/Kyiv" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ahby546f/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ahby546f/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_ahby546f/schedule?date=2026-10-14&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_ahby546f/schedule?date=2026-10-14&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_ahby546f/schedule", params={"date": "2026-10-14", "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_ahby546f/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_ngqz5rxe", "channel": "ch_ahby546f", "start": "2026-10-13T21:00:00Z", "stop": "2026-10-13T22:00:00Z", "title": "Д/ф \"Адмиралтейство\"", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 46, "date": "2026-10-14", "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.