74.6M 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 Asia/Ho_Chi_Minh 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 Asia/Ho_Chi_Minh. The same day from the API: GET /v1/channels/ch_jy5qknyz/schedule?date=2026-10-14&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Kns - An Toàn Khi Nuôi Thú Cưng | 15m | ||
| 00:15 | Bác Sĩ Gấu Trúc 62 - Tập 19-20 | 15m | ||
| 00:30 | Con Yêu Ơi Đừng Sợ 100 - Tập 13 | 15m | ||
| 00:45 | Tiểu Anh Hùng Natra 52 - Tập 47 | 15m | ||
| 01:00 | Những Điều Tử Tế 41 - Tập 24 | 15m | ||
| 01:15 | Tâm Lý Học Đường 43 - Tập 27 100% Sói 52 - Tập 17 Lsn - Trẻ Em Cũng Có Quyền Riêng Tư | 30m | ||
| 01:45 | 100% Sói 52 - Tập 17 Lsn - Trẻ Em Cũng Có Quyền Riêng Tư | 30m | ||
| 02:15 | Lsn - Trẻ Em Cũng Có Quyền Riêng Tư | 15m | ||
| 02:30 | Y Tế Học Đường 16 - Tập 11-12 | 15m | ||
| 02:45 | Doraemon Mùa 13 52 - Tập 44 Bác Sĩ Gấu Trúc 62 - Tập 21-22 On now | 30m | ||
| 03:15 | Bác Sĩ Gấu Trúc 62 - Tập 21-22 | 15m | ||
| 03:30 | Gia Đình Nova Thám Hiểm Không Gian 52 - Tập 25 | 15m | ||
| 03:45 | Những Điều Tử Tế 41 - Tập 25 | 15m | ||
| 04:00 | Y Tế Học Đường 16 - Tập 13-14 | 15m | ||
| 04:15 | Tiểu Anh Hùng Natra 52 - Tập 48 | 15m | ||
| 04:30 | Gia Đình Nova Thám Hiểm Không Gian 52 - Tập 26 | 15m | ||
| 04:45 | Bác Sĩ Gấu Trúc 62 - Tập 23-24 | 15m | ||
| 05:00 | Tâm Lý Học Đường 43 - Tập 28 | 30m | ||
| 05:30 | 100% Sói 52 - Tập 18 | 30m | ||
| 06:00 | Lsn - Trộm Đồ Là Xấu | 15m | ||
| 06:15 | Doraemon Mùa 13 52 - Tập 45 | 30m | ||
| 06:45 | Những Chú Chuột Ngự Lâm 45 - Tập 29 | 15m | ||
| 07:00 | Bác Sĩ Gấu Trúc 62 - Tập 25-26 | 15m | ||
| 07:15 | Kns - Cách Xưng Hô Với Các Thành Viên Trong Gia Đình | 15m | ||
| 07:30 | Con Yêu Ơi Đừng Sợ 100 - Tập 14 | 15m | ||
| 07:45 | Gia Đình Nova Thám Hiểm Không Gian 52 - Tập 27 | 15m | ||
| 08:00 | Y Tế Học Đường 16 - Tập 15-16 | 15m | ||
| 08:15 | Tiểu Anh Hùng Natra 52 - Tập 49 | 15m | ||
| 08:30 | Những Điều Tử Tế 41 - Tập 25 | 15m | ||
| 08:45 | Kns - Cách Xưng Hô Với Các Thành Viên Trong Gia Đình | 15m | ||
| 09:00 | Lsn - Trộm Đồ Là Xấu | 15m | ||
| 09:15 | 100% Sói 52 - Tập 18 | 30m | ||
| 09:45 | Tiểu Anh Hùng Natra 52 - Tập 49 | 15m | ||
| 10:00 | Những Chú Chuột Ngự Lâm 45 - Tập 29 | 15m | ||
| 10:15 | Bác Sĩ Gấu Trúc 62 - Tập 25-26 | 15m | ||
| 10:30 | Doraemon Mùa 13 52 - Tập 45 | 30m | ||
| 11:00 | Con Yêu Ơi Đừng Sợ 100 - Tập 14 | 15m | ||
| 11:15 | Tâm Lý Học Đường 43 - Tập 28 | 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_jy5qknyz/schedule?date=2026-10-14&tz=Asia/Ho_Chi_Minh" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_jy5qknyz/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_jy5qknyz/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_jy5qknyz/schedule?date=2026-10-14&tz=Asia/Ho_Chi_Minh"); 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_jy5qknyz/schedule?date=2026-10-14&tz=Asia/Ho_Chi_Minh", { 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_jy5qknyz/schedule", params={"date": "2026-10-14", "tz": "Asia/Ho_Chi_Minh"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_jy5qknyz/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_8n2x0n23", "channel": "ch_jy5qknyz", "start": "2026-10-13T17:00:00Z", "stop": "2026-10-13T17:15:00Z", "title": "Kns - An Toàn Khi Nuôi Thú Cưng", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 38, "date": "2026-10-14", "tz": "Asia/Ho_Chi_Minh" } }
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 | Thursday 9 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.