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_544jg8fn/schedule?date=2026-10-12&tz=Europe/Moscow
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:45 | т/с Квест: 3 c | 45m | ||
| 00:30 | т/с Квест: 4 c | 45m | ||
| 01:15 | т/с Обручальное кольцо: 447 c | 45m | ||
| 02:00 | Егерский кордон: 6 c | 25m | ||
| 02:25 | м/ф Колыбельные цветняшек: 1 серия – Спать пора | 5m | ||
| 02:30 | Неделя с Толком | 25m | ||
| 02:55 | Живой портрет писателя: Евгения Гармс | 10m | ||
| 03:05 | м/ф Цветняшки: 26 серия – Хвостики | 5m | ||
| 03:10 | м/ф Цветняшки: 27 серия – Рыбки | 5m | ||
| 03:15 | м/ф Цветняшки: 28 серия – Верёвочка | 10m | ||
| 03:25 | м/ф Колыбельные цветняшек: 7 серия – Ночная страна | 30m | ||
| 03:55 | Живой портрет писателя: Алексей Власов | 10m | ||
| 04:05 | О животных и не только | 25m | ||
| 04:30 | Неделя с Толком | 30m | ||
| 05:00 | Живая детская книга Алтая: Анна Никольская. Кондитерские истории. О ромовой бабе | 5m | ||
| 05:05 | м/ф Цветняшки: 38 серия – Обручи | 5m | ||
| 05:10 | м/ф Цветняшки: 39 серия – Песенка леса | 5m | ||
| 05:15 | м/ф Цветняшки: 40 серия – Пятнышко | 10m | ||
| 05:25 | м/ф Цветняшки: 41 серия – Стройка | 5m | ||
| 05:30 | Неделя с Толком | 25m | ||
| 05:55 | Еда для меня: 19 серия – Козье молоко | 10m | ||
| 06:05 | х/ф Облепиховое лето | 1h 35m | ||
| 07:40 | Не иностранец: Ливан | 15m | ||
| 07:55 | х/ф 9 причин, чтобы жить | 1h 30m | ||
| 09:25 | Не иностранец: 6 серия – Травайе Роман. Франция | 20m | ||
| 09:45 | т/с Обручальное кольцо: 448 c | 45m | ||
| 10:30 | т/с Обручальное кольцо: 449 c | 45m | ||
| 11:15 | Интервью | 15m | ||
| 11:30 | Неделя с Толком | 30m | ||
| 12:00 | Культурный марафон: Наследие Алтая: вопросы сохранения | 10m | ||
| 12:10 | О животных и не только | 25m | ||
| 12:35 | Физруки. Будущее за настоящим: 9 c | 35m | ||
| 13:10 | Интервью | 15m | ||
| 13:25 | х/ф Барышня-крестьянка | 1h 50m | ||
| 15:15 | Интервью | 15m | ||
| 15:30 | День с Толком | 25m | ||
| 15:55 | х/ф Культурный марафон | 20m | ||
| 16:15 | х/ф Коммуналка: 1 c | 50m | ||
| 17:05 | Живой портрет писателя: Валерий Тихонов | 5m | ||
| 17:10 | Не иностранец: 7 серия – США | 20m | ||
| 17:30 | т/с Квест | 1h 30m | ||
| 19:15 | т/с Любовь и море: 1 c | 50m | ||
| 20:05 | Еда для меня: 11 серия – Шоколад | 10m | ||
| 20:15 | Интервью | 15m | ||
| 20:30 | День с Толком | 25m | ||
| 20:55 | х/ф Точка невозврата | 1h 50m | ||
| 22:45 | Билет домой: 3 c | 5m | ||
| 22:50 | Фотоохота с Евгением Полонским: 11 c | 25m | ||
| 23:15 | О животных и не только | 30m | ||
| 23:45 | х/ф Коммуналка: 1 c | 45m |
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_544jg8fn/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_544jg8fn/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_544jg8fn/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_544jg8fn/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_544jg8fn/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_544jg8fn/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_544jg8fn/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_0xrpm6g7", "channel": "ch_544jg8fn", "start": "2026-10-11T20:45:00Z", "stop": "2026-10-11T21:30:00Z", "title": "т/с Квест: 3 c", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 50, "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.