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_82p8q9p1/schedule?date=2026-10-12&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:45 | THỜI SỰ THÁI NGUYÊN | 20m | ||
| 00:05 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 22 | 40m | ||
| 00:45 | NHỮNG NẺO ĐƯỜNG VIỆT BẮC: VỀ NƠI CỬA NGÕ PHÍA NAM | 20m | ||
| 01:05 | THI ĐUA YÊU NƯỚC: HỢP TÁC XÃ THI ĐUA HƯỚNG ĐẾN FESTIVAL TRÀ QUỐC TẾ | 10m | ||
| 01:15 | CÂU CHUYỆN BẢN LÀNG: LAN TỎA TIẾNG THEN TỪ MÔ HÌNH CÂU LẠC BỘ HỌC ĐƯỜNG | 10m | ||
| 01:25 | KẾT NỐI VÙNG: KẾT NỐI TRI THỨC, NGUỒN NHÂN LỰC CHO PHÁT TRIỂN VÙNG | 15m | ||
| 01:40 | THÁI NGUYÊN SẮC MÀU VĂN HÓA: GÓP THÊM SỨC SỐNG TINH THẦN TRONG CỘNG ĐỒNG | 15m | ||
| 01:55 | BẢN TIN TIẾNG HÀN | 10m | ||
| 02:05 | ĐẠI ĐOÀN KẾT: ĐỒNG LÒNG ĐỂ MỞ LỐI | 10m | ||
| 02:15 | AN TOÀN GIAO THÔNG: ĐẢM BẢO AN TOÀN GIAO THÔNG TẠI CÁC TUYẾN ĐƯỜNG ĐANG THI CÔNG | 10m | ||
| 02:25 | TĂNG TRƯỞNG HAI CON SỐ: NỖ LỰC HOÀN THÀNH CÁC CHỈ TIÊU KINH TẾ | 10m | ||
| 02:35 | NGHỊ QUYẾT 57 | 10m | ||
| 02:45 | INSIDE THÁI NGUYÊN | 15m | ||
| 03:00 | THỜI SỰ THÁI NGUYÊN | 15m | ||
| 03:15 | PHIM TRUYỆN: CUỘC CHIẾN ĐẤU CÒN TIẾP DIỄN - PHẦN 1 | 1h | ||
| 04:15 | MINIGAME: VĂN HÓA GIAO THÔNG - SỐ 6 | 20m | ||
| 04:35 | CHƯƠNG TRÌNH TIẾNG MÔNG: NGƯỜI NỔI TIẾNG GÓP SỨC QUẢNG BÁ TRÀ THÁI NGUYÊN | 25m | ||
| 05:00 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 22 | 40m | ||
| 05:40 | MĂNG NON THÁI NGUYÊN | 15m | ||
| 05:55 | NHỊP SỐNG TRẺ: VỀ QUÊ LẬP NGHIỆP | 20m | ||
| 06:15 | THỜI SỰ TRONG NƯỚC VÀ QUỐC TẾ | 10m | ||
| 06:25 | TRUYỀN HÌNH HẢI QUÂN | 15m | ||
| 06:40 | CAMERA CUỘC SỐNG | 20m | ||
| 07:00 | TIẾP SÓNG THỜI SỰ VTV | 45m | ||
| 07:45 | THỜI SỰ THÁI NGUYÊN | 40m | ||
| 08:25 | HƯƠNG TRÀ XỨ THÁI | 10m | ||
| 08:35 | THỂ THAO CUỐI TUẦN: DẤU ẤN MỘT KỲ ĐẠI HỘI | 15m | ||
| 08:50 | THẾ GIỚI ĐÓ ĐÂY | 10m | ||
| 09:00 | NGHỊ QUYẾT 57: BIẾN CÔNG NGHỆ THÀNH LỢI THẾ CẠNH TRANH CHO DOANH NGHIỆP | 10m | ||
| 09:10 | ĐỒNG HÀNH CÙNG DOANH NGHIỆP | 10m | ||
| 09:20 | PHIM TRUYỆN: CUỘC CHIẾN ĐẤU CÒN TIẾP DIỄN - PHẦN 2 | 1h | ||
| 10:20 | BẢN TIN CUỐI NGÀY | 5m | ||
| 10:25 | CÂU CHUYỆN BẢN LÀNG: LAN TỎA TIẾNG THEN TỪ MÔ HÌNH CÂU LẠC BỘ HỌC ĐƯỜNG | 10m | ||
| 10:35 | CỬA SỔ THÁI NGUYÊN | 10m | ||
| 10:45 | TRUYỀN HÌNH HẢI QUÂN | 15m | ||
| 11:00 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 22 | 40m | ||
| 11:40 | NHỊP SỐNG TRẺ: VỀ QUÊ LẬP NGHIỆP | 20m | ||
| 12:00 | THỜI SỰ THÁI NGUYÊN | 35m | ||
| 12:35 | PHIM TRUYỆN: CUỘC CHIẾN ĐẤU CÒN TIẾP DIỄN - PHẦN 2 | 1h | ||
| 13:35 | THỜI SỰ TRONG NƯỚC VÀ QUỐC TẾ | 10m | ||
| 13:45 | ĐẠI ĐOÀN KẾT: ĐỒNG LÒNG ĐỂ MỞ LỐI | 10m | ||
| 13:55 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 22 | 40m | ||
| 14:35 | ĐỒNG HÀNH CÙNG DOANH NGHIỆP | 10m | ||
| 14:45 | HƯƠNG TRÀ XỨ THÁI | 10m | ||
| 14:55 | NGHỊ QUYẾT 57: BIẾN CÔNG NGHỆ THÀNH LỢI THẾ CẠNH TRANH CHO DOANH NGHIỆP | 10m | ||
| 15:05 | VẤN ĐỀ HÔM NAY: FESTIVAL TRÀ QUỐC TẾ 2026 - KỲ VỌNG TỪ NHỮNG VÙNG CHÈ | 25m | ||
| 15:30 | PHIM TRUYỆN: CUỘC CHIẾN ĐẤU CÒN TIẾP DIỄN - PHẦN 2 | 55m | ||
| 16:25 | THỂ THAO CUỐI TUẦN: DẤU ẤN MỘT KỲ ĐẠI HỘI | 15m | ||
| 16:40 | CHƯƠNG TRÌNH TIẾNG MÔNG: NGƯỜI NỔI TIẾNG GÓP SỨC QUẢNG BÁ TRÀ THÁI NGUYÊN | 20m | ||
| 17:00 | THẾ GIỚI ĐÓ ĐÂY | 10m | ||
| 17:10 | MĂNG NON THÁI NGUYÊN | 25m | ||
| 17:35 | THÁI NGUYÊN KHỎE VÀ ĐẸP | 5m | ||
| 17:40 | THÁI NGUYÊN NGÀY MỚI | 35m | ||
| 18:15 | PHIM TRUYỆN: CUỘC CHIẾN ĐẤU CÒN TIẾP DIỄN - PHẦN 2 | 1h | ||
| 19:15 | THỜI SỰ THÁI NGUYÊN | 35m | ||
| 19:50 | AN TOÀN GIAO THÔNG: ĐẢM BẢO AN TOÀN GIAO THÔNG TẠI CÁC TUYẾN ĐƯỜNG ĐANG THI CÔNG | 10m | ||
| 20:00 | THÁI NGUYÊN NGÀY MỚI | 30m | ||
| 20:30 | CỬA SỔ THÁI NGUYÊN | 10m | ||
| 20:40 | THỂ THAO CUỐI TUẦN: DẤU ẤN MỘT KỲ ĐẠI HỘI | 15m | ||
| 20:55 | CẢI CÁCH HÀNH CHÍNH: VƯỢT “ĐIỂM NGHẼN” HÀNH CHÍNH CƠ SỞ, LẤY SỰ HÀI LÒNG CỦA NHÂN DÂN LÀM THƯỚC ĐO | 10m | ||
| 21:05 | HỘP THƯ TRUYỀN HÌNH: GIẢI QUYẾT VƯỚNG MẮC ĐẤT ĐAI TẠI PHƯỜNG PHAN ĐÌNH PHÙNG | 10m | ||
| 21:15 | CÂU CHUYỆN BẢN LÀNG: LAN TỎA TIẾNG THEN TỪ MÔ HÌNH CÂU LẠC BỘ HỌC ĐƯỜNG | 10m | ||
| 21:25 | HƯƠNG TRÀ XỨ THÁI | 10m | ||
| 21:35 | ĐẠI ĐOÀN KẾT: ĐỒNG LÒNG ĐỂ MỞ LỐI | 10m | ||
| 21:45 | TẠP CHÍ TIẾNG DAO: THAY ĐỔI CÁCH NUÔI CÁ, NÂNG CAO HIỆU QUẢ KINH TẾ | 30m | ||
| 22:15 | OCOP THÁI NGUYÊN: PHÁT HUY LỢI THẾ, XÂY DỰNG THƯƠNG HIỆU SẢN PHẨM OCOP Ở CÁC XÃ PHÍA BẮC | 15m | ||
| 22:30 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 22 | 40m | ||
| 23:10 | TRUYỀN HÌNH HẢI QUÂN | 15m | ||
| 23:25 | MĂNG NON THÁI NGUYÊN | 20m | ||
| 23:45 | THỜI SỰ THÁI NGUYÊN | 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_82p8q9p1/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_82p8q9p1/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_82p8q9p1/history?from=2026-02-21T00:00:00Z&to=2026-02-22T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_82p8q9p1/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_82p8q9p1/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_82p8q9p1/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_82p8q9p1/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_gqcwej20", "channel": "ch_82p8q9p1", "start": "2026-10-11T16:45:00Z", "stop": "2026-10-11T17:05:00Z", "title": "THỜI SỰ THÁI NGUYÊN", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 70, "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 | Saturday 21 February 2026 | 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.