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-14&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 24 | 45m | ||
| 00:50 | ĐỒNG HÀNH CÙNG DOANH NGHIỆP: THÁO GỠ KHÓ KHĂN CHO DOANH NGHIỆP KHAI KHOÁNG | 10m | ||
| 01:00 | HÀNH TRÌNH CẢI THIỆN CHỈ SỐ PCI: DOANH NGHIỆP NÂNG CAO SỨC CẠNH TRANH | 10m | ||
| 01:10 | THÁI NGUYÊN SẮC MÀU VĂN HÓA: BẢO TỒN VĂN HÓA GẮN VỚI PHÁT TRIỂN DU LỊCH | 15m | ||
| 01:25 | OCOP THÁI NGUYÊN: ĐẨY MẠNH XÚC TIẾN SẢN PHẨM OCOP THÁI NGUYÊN - HÀ NỘI | 15m | ||
| 01:40 | BẢN TIN TIẾNG ANH | 10m | ||
| 01:50 | THỂ THAO TUẦN QUA: DẤU ẤN SAU MỘT KỲ ĐẠI HỘI TDTT | 15m | ||
| 02:05 | SỨC KHỎE VÀ ĐỜI SỐNG: NHA KHOA NGOÀI CÔNG LẬP - THÊM LỰA CHỌN VÀ TRÁCH NHIỆM | 10m | ||
| 02:15 | TRUYỀN HÌNH HẢI QUÂN | 15m | ||
| 02:30 | PHIM TÀI LIỆU: MẪU SƠN HUYỀN THOẠI TRONG MÂY - TẬP 1 | 20m | ||
| 02:50 | HƯƠNG TRÀ XỨ THÁI: NHỮNG VÙNG CHÈ HƯỚNG TỚI FESTIVAL TRÀ QUỐC TẾ NĂM 2026 On now | 10m | ||
| 03:00 | THỜI SỰ THÁI NGUYÊN | 15m | ||
| 03:15 | PHIM TRUYỆN: BỨC TƯỜNG KHÔNG XÂY - PHẦN 1 | 55m | ||
| 04:10 | NHỊP SỐNG TRẺ: VỀ QUÊ LẬP NGHIỆP | 20m | ||
| 04:30 | VẤN ĐỀ HÔM NAY: FESTIVAL TRÀ QUỐC TẾ - KỲ VỌNG TỪ NHỮNG VÙNG CHÈ | 20m | ||
| 04:50 | THẾ GIỚI ĐÓ ĐÂY: CUỘC ĐUA AI GIỮA NĂNG LỰC VÀ AN TOÀN | 10m | ||
| 05:00 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 24 | 45m | ||
| 05:45 | CHƯƠNG TRÌNH THIẾU NHI | 15m | ||
| 06:00 | CỬA SỔ THÁI NGUYÊN: HƯƠNG CỐM MÙA THU KHẨU NUA LẾCH | 10m | ||
| 06:10 | ĐỒNG HÀNH CÙNG DOANH NGHIỆP: THÁO GỠ KHÓ KHĂN CHO DOANH NGHIỆP KHAI KHOÁNG | 10m | ||
| 06:20 | THỜI SỰ TRONG NƯỚC VÀ QUỐC TẾ | 10m | ||
| 06:30 | HÀNH TRÌNH CẢI THIỆN CHỈ SỐ PCI: DOANH NGHIỆP NÂNG CAO SỨC CẠNH TRANH | 10m | ||
| 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 | ĐẠI BIỂU QUỐC HỘI, HĐND VỚI CỬ TRI: GIÁM SÁT ĐỂ NÂNG HIỆU QUẢ ĐẦU TƯ CÔNG, NGÂN SÁCH | 15m | ||
| 08:40 | QUẢN LÝ VÀ BẢO VỆ RỪNG | 10m | ||
| 08:50 | BẢO HIỂM XÃ HỘI | 10m | ||
| 09:00 | CHUYỂN ĐỘNG CÙNG CHƯƠNG TRÌNH MTQG | 10m | ||
| 09:10 | BẢN TIN TIẾNG TRUNG | 10m | ||
| 09:20 | PHIM TRUYỆN: BỨC TƯỜNG KHÔNG XÂY - PHẦN 2 | 50m | ||
| 10:10 | BẢN TIN CUỐI NGÀY | 5m | ||
| 10:15 | PHIM TÀI LIỆU: MẪU SƠN HUYỀN THOẠI TRONG MÂY - TẬP 2 | 20m | ||
| 10:35 | CAMERA CUỘC SỐNG | 15m | ||
| 10:50 | SỨC KHỎE VÀ ĐỜI SỐNG: NHA KHOA NGOÀI CÔNG LẬP - THÊM LỰA CHỌN VÀ TRÁCH NHIỆM | 10m | ||
| 11:00 | PHIM TRUYỆN: PHIÊN TÒA ÁC MA - TẬP 24 | 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_82p8q9p1/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_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-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_82p8q9p1/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_82p8q9p1/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_82p8q9p1/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_7zq61058", "channel": "ch_82p8q9p1", "start": "2026-10-13T16:45:00Z", "stop": "2026-10-13T17:05:00Z", "title": "THỜI SỰ THÁI NGUYÊN", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 37, "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 | 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.