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 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_szbbzc9n/schedule?date=2026-10-12&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Phim Việt Nam: Bình minh trên ngọn lửa - T.17 | 45m | ||
| 00:45 | Kinh tế: Khơi thông nguồn lực công nghiệp thương mại thúc đẩy tăng trưởng kinh tế | 15m | ||
| 01:00 | Phim Việt Nam: Tía ơi đừng say - T. 25 | 1h | ||
| 02:00 | Phim Việt Nam: Lý lẽ kẻ ngoại tình –T.5 | 45m | ||
| 02:45 | Nhìn ra thế giới: Khám phá Jamaica - P.1 | 15m | ||
| 03:00 | Phim Việt Nam: Bồ công anh trước gió - T.13 | 1h | ||
| 04:00 | Phim Việt Nam: Có hẹn với yêu thương - T.8 | 45m | ||
| 04:45 | Không gian mới sức sống mới | 15m | ||
| 05:00 | Giải trí truyền hình: Ký ức ngọt ngào 2023 - T.11 | 45m | ||
| 05:45 | Cổ tích Việt Nam: Sự tích chú Cuôi cây đa- P.1 | 30m | ||
| 06:15 | Phim hoạt hình: Hoàng tử ngốc - P.3 | 15m | ||
| 06:30 | Phim Sitcom: Em trai bố dượng - T.99 | 30m | ||
| 07:00 | Phim Việt Nam: Trần Trung kỳ án P.2 - T.13 | 45m | ||
| 07:45 | Vì an ninh tổ quốc: Phòng cháy chữa cháy và cứu nạn cứu hộ: nền tảng an toàn cho sự phát triển | 15m | ||
| 08:00 | Phim Việt Nam: Kế hoạch hoàn hảo - T.37 | 45m | ||
| 08:45 | Phút thư giãn | 15m | ||
| 09:00 | Phim Việt Nam: Có hẹn với yêu thương - T.9 | 45m | ||
| 09:45 | Phim Việt Nam: Tía ơi đừng say - T. 26 | 1h | ||
| 10:45 | Giải trí truyền hình: Tỏa sáng sao đôi - 2025 T.10 | 30m | ||
| 11:15 | Thắp sáng niềm tin | 45m | ||
| 12:00 | Phim Việt Nam: Ông trùm - T.19-20 | 1h 50m | ||
| 13:50 | Nhìn ra thế giới | 20m | ||
| 14:10 | Phim Việt Nam: Ải trần gian - T. 21 | 50m | ||
| 15:00 | Phim Việt Nam: Bình minh trên ngọn lửa - T.17 | 45m | ||
| 15:45 | Cổ tích Việt Nam: Sự tích chú Cuôi cây đa- P.1 | 30m | ||
| 16:15 | Phim Việt Nam: Tía ơi đừng say - T. 26 | 45m | ||
| 17:00 | Giải trí truyền hình: Tỏa sáng sao đôi - 2025 T.11 | 45m | ||
| 17:45 | Phóng sự đồng hành | 15m | ||
| 18:00 | Nhịp sống đồng bằng: Đón cá trên đồng nước ven biên | 20m | ||
| 18:20 | Phút thư giãn | 10m | ||
| 18:30 | Ca nhạc: Sông quê | 45m | ||
| 19:15 | Phim Việt Nam: Kế hoạch hoàn hảo - T.37 | 45m | ||
| 20:00 | Phim Việt Nam: Ông trùm - T.21-22 | 1h 30m | ||
| 21:30 | Phim sitcom: Em trai bố dượng - T.99 | 30m | ||
| 22:00 | Trong nhà ngoài ngõ - T.109 | 15m | ||
| 22:15 | Phim Việt Nam: Trần Trung kỳ án P.2 - T.13 | 45m | ||
| 23:00 | Phim Việt Nam: Ải trần gian - T. 22 | 1h |
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_szbbzc9n/schedule?date=2026-10-12&tz=Asia/Ho_Chi_Minh" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_szbbzc9n/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_szbbzc9n/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_szbbzc9n/schedule?date=2026-10-12&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_szbbzc9n/schedule?date=2026-10-12&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_szbbzc9n/schedule", params={"date": "2026-10-12", "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_szbbzc9n/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_53cdqrk4", "channel": "ch_szbbzc9n", "start": "2026-10-11T17:00:00Z", "stop": "2026-10-11T17:45:00Z", "title": "Phim Việt Nam: Bình minh trên ngọn lửa - T.17", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 37, "date": "2026-10-12", "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 | 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.