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_3z0z2vds/schedule?date=2026-10-11&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:45 | CHUYỂN ĐỘNG THÀNH PHỐ | 20m | ||
| 00:05 | THẾ GIỚI CẬP NHẬT TRƯA | 10m | ||
| 00:15 | BẢN TIN THỂ THAO TRƯA | 5m | ||
| 00:20 | PHIM TRUYỆN 26T: TRÙNG SINH CHO MÔN - TẬP 23 | 45m | ||
| 01:05 | PHIM TRUYỆN 29T: CÔ DÂU CỦA THẦN RẮN - TẬP 18 | 45m | ||
| 01:50 | CHƯƠNG TRÌNH TIẾNG CHƠ RO | 15m | ||
| 02:05 | THÔNG BÁO - QUẢNG CÁO | 5m | ||
| 02:10 | HÀNH TRÌNH NĂM CHÂU | 50m | ||
| 03:00 | TĐTT TIÊU ĐIỂM TRONG TUẦN (30') | 30m | ||
| 03:30 | KHÚC HÁT TUỔI THƠ | 20m | ||
| 03:50 | PHIM HOẠT HÌNH 26T: PONY BÉ NHỎ - TÌNH BẠN DIỆU KỲ P.2 - TẬP 03 | 25m | ||
| 04:15 | TỪ SẢN XUẤT ĐẾN TIÊU DÙNG | 10m | ||
| 04:25 | NHỊP ĐẬP 365 | 15m | ||
| 04:40 | CÂU CHUYỆN VĂN HÓA | 30m | ||
| 05:10 | NHỊP ĐẬP CUỘC SỐNG | 5m | ||
| 05:15 | NHẠC KỊCH BẮC SƠN | 45m | ||
| 06:00 | THỜI SỰ - TIÊU ĐIỂM 18 GIỜ | 30m | ||
| 06:30 | THẾ GIỚI CHUYỂN ĐỘNG | 10m | ||
| 06:40 | BẢN TIN THỂ THAO TỐI | 10m | ||
| 06:50 | NÔNG NGHIỆP XANH | 10m | ||
| 07:00 | KẾT QUẢ XỔ SỐ BÌNH PHƯỚC | 5m | ||
| 07:05 | PHIM VIỆT CỦA MỌI NHÀ (31T): MASTER LỤA - TẬP 28 | 45m | ||
| 07:50 | VÌ MỤC TIÊU TĂNG TRƯỞNG | 15m | ||
| 08:05 | BẢN TIN THỜI TIẾT | 5m | ||
| 08:10 | PHIM TRUYỆN 34T: ĐOÁ HOA ẨN MÌNH - TẬP 4 | 45m | ||
| 08:55 | THÔNG BÁO - QUẢNG CÁO | 5m | ||
| 09:00 | TĐ: BÍ MẬT HẠNH PHÚC | 30m | ||
| 09:30 | DU LỊCH ĐỒNG NAI | 10m | ||
| 09:40 | HÀNH TRÌNH NĂM CHÂU | 20m | ||
| 10:00 | THỜI SỰ - VIỆT NAM TRONG NGÀY | 10m | ||
| 10:10 | BẢN TIN TIẾNG ANH | 7m | ||
| 10:17 | BẢN TIN TIẾNG HOA | 7m | ||
| 10:24 | BẢN TIN TIẾNG NHẬT | 7m | ||
| 10:31 | BẢN TIN TIẾNG HÀN | 9m | ||
| 10:40 | PHIM TRUYỆN 67T: ANH VÀ EM - TẬP 53 | 50m | ||
| 11:30 | PHIM TÀI LIỆU | 1h | ||
| 12:30 | NHỮNG ĐIỀU KỲ THÚ | 20m | ||
| 12:50 | TỌA ĐÀM | 30m | ||
| 13:20 | CA NHẠC | 30m | ||
| 13:50 | HÀNH TRÌNH NĂM CHÂU | 20m | ||
| 14:10 | PHÓNG SỰ PTL | 15m | ||
| 14:25 | TỌA ĐÀM | 30m | ||
| 14:55 | CA NHẠC | 30m | ||
| 15:25 | SÂN KHẤU | 1h 50m | ||
| 17:15 | PHÓNG SỰ PTL | 20m | ||
| 17:35 | CHÀO THÀNH PHỐ ĐỒNG NAI | 30m | ||
| 18:05 | THẾ GIỚI ĐA CHIỀU (THỜI SỰ SÁNG) | 10m | ||
| 18:15 | BẢN TIN THỂ THAO SÁNG | 5m | ||
| 18:20 | PHIM HOẠT HÌNH 52T: NHỮNG ANH EM SIÊU NHÂN - TẬP 4 | 25m | ||
| 18:45 | CÂU CHUYỆN VĂN HÓA | 15m | ||
| 19:00 | NÔNG NGHIỆP XANH T3 | 15m | ||
| 19:15 | PHIM TÀI LIỆU: ĐẢNG CỘNG SẢN VIỆT NAM VÌ DÂN TỘC VIỆT NAM - TẬP 2 3554 | 45m | ||
| 20:00 | 08G00:TỌA ĐÀM VẤN ĐỀ QUỐC TẾ (30') | 40m | ||
| 20:40 | BẢN TIN THỂ THAO CẬP NHẬT (TRỰC TIẾP) | 10m | ||
| 20:50 | HÀNH TRÌNH NĂM CHÂU | 25m | ||
| 21:15 | TÀI TỬ PHƯƠNG NAM (60') | 1h | ||
| 22:15 | TĐ BÍ MẬT HẠNH PHÚC 30' | 35m | ||
| 22:50 | VƯỜN HOA ÂM NHẠC TUỔI THƠ | 25m | ||
| 23:15 | BẢN TIN TIÊU ĐIỂM KINH TẾ THẾ GIỚI | 10m | ||
| 23:25 | KHUYẾN CÔNG TUẦN CUỐI | 15m | ||
| 23:40 | THÔNG BÁO - QUẢNG CÁO | 5m | ||
| 23:45 | CHUYỂN ĐỘNG THÀNH PHỐ | 20m |
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_3z0z2vds/schedule?date=2026-10-11&tz=Asia/Ho_Chi_Minh" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3z0z2vds/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3z0z2vds/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3z0z2vds/schedule?date=2026-10-11&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_3z0z2vds/schedule?date=2026-10-11&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_3z0z2vds/schedule", params={"date": "2026-10-11", "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_3z0z2vds/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_fsa9c07t", "channel": "ch_3z0z2vds", "start": "2026-10-10T16:45:00Z", "stop": "2026-10-10T17:05:00Z", "title": "CHUYỂN ĐỘNG THÀNH PHỐ", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 62, "date": "2026-10-11", "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.