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