74.3M 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_v72s9fc7/schedule?date=2026-10-13&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Phim truyện Trung Quốc : Đồng tiền đen - Tập 24 | 45m | ||
| 00:45 | Âm vang miền cửa biển : Giữ hồn tre Việt | 15m | ||
| 01:00 | Phim truyện Trung Quốc : Hãy gọi tôi là sếp - Tập 19 | 45m | ||
| 01:45 | Ngày nữa để yêu thương | 10m | ||
| 01:55 | Nông thôn mới Hải Phòng : Nuôi thủy sản theo nhu cầu thị trường | 20m | ||
| 02:15 | Mãi mãi ngày hôm qua : Giữa miền sóng hát | 30m | ||
| 02:45 | Chuyển đổi số và cải cách hành chính : Chuyển đổi số từ cơ sở, gần dân và thiết thực | 15m | ||
| 03:00 | Phim truyện Việt Nam : Hồng nhan - Tập 13 | 45m | ||
| 03:45 | Ẩm thực : Vị chè bốn phương giữa lòng đất Cảng | 5m | ||
| 03:50 | Vitamin tuổi hồng : Kỹ năng sống - Phần 10 | 40m | ||
| 04:30 | Nhịp sống 24h | 30m | ||
| 05:00 | Phim truyện Trung Quốc : Ngược dòng thanh xuân - Tập 28 | 50m | ||
| 05:50 | Bản tin thể thao | 10m | ||
| 06:00 | Lăng kính tuổi hoa | 30m | ||
| 06:30 | Bản tin Quốc tế | 10m | ||
| 06:40 | Chương trình 10 phút vàng | 10m | ||
| 06:50 | Hộp thư truyền hình | 10m | ||
| 07:00 | Chuyển tiếp Thời sự Đài Truyền hình Việt Nam | 45m | ||
| 07:45 | Bản tin Thời sự tối | 45m | ||
| 08:30 | Phim truyện Trung Quốc : Chinh phục quân vương - Tập 4 | 45m | ||
| 09:15 | Xây dựng Đảng | 20m | ||
| 09:35 | Phim truyện Mê-hi-cô : Kế hoạch đào tẩu - Tập 66 | 45m | ||
| 10:20 | An toàn giao thông | 20m | ||
| 10:40 | Bản tin thời sự cuối ngày | 15m | ||
| 10:55 | Thế giới mỗi ngày | 10m | ||
| 11:05 | Bản tin thời sự Hải Phòng bằng tiếng Anh | 15m | ||
| 11:20 | Bản tin thời sự Hải Phòng bằng tiếng Trung Quốc | 15m | ||
| 11:35 | Ca nhạc : Âm thanh nguồn cội | 30m | ||
| 12:05 | Phim hoạt hình: Ngày sinh nhật của Shipa | 15m | ||
| 12:20 | Phim truyện Trung Quốc: Nghe nói em thích tôi (Tập 34) | 45m | ||
| 13:05 | Phim truyện Việt Nam: Mở khóa con tim (Tập 25) | 45m | ||
| 13:50 | Pháp luật và cuộc sống: Tháo gỡ điểm nghẽn, khơi thông nguồn thu từ đất | 15m | ||
| 14:05 | Phim truyện Trung Quốc: Ngược dòng thanh xuân (Tập 28) | 45m | ||
| 14:50 | Phim hoạt hình: Ngày sinh nhật của Shipa | 15m | ||
| 15:05 | Phim truyện Đài Loan (Trung Quốc): Yêu không lối thoát (Tập 22) | 45m | ||
| 15:50 | Chuyển đổi số và cải cách hành chính: Chuyển đổi số từ cơ sở, gần dân và thiết thực | 15m | ||
| 16:05 | Phim truyện Trung Quốc: Lưu công kỳ án (Tập 19) | 45m | ||
| 16:50 | Mãi mãi ngày hôm qua: Giữa miền sóng hát | 40m | ||
| 17:30 | Thể dục buổi sáng | 15m | ||
| 17:45 | Phim hoạt hình: Sư tử và thỏ | 15m | ||
| 18:00 | Điểm nhấn 365: Khuyến công - Khơi dậy nội lực, tạo đà bứt phá | 15m | ||
| 18:15 | Bản tin Thời sự sáng | 15m | ||
| 18:30 | Phim truyện Việt Nam: Hồng nhan (Tập 14) | 45m | ||
| 19:15 | Phim hoạt hình: Sư tử và thỏ | 15m | ||
| 19:30 | An toàn giao thông: Thực trạng và giải pháp chống ùn tắc giao thông đô thị | 15m | ||
| 19:45 | Xây dựng Đảng: Vận dụng tư tưởng Hồ Chí Minh - Hiện thực hóa mục tiêu vì nhân dân | 25m | ||
| 20:10 | Khám phá thế giới: Xác suất thống kê - Khi con số giúp dự báo tương lai | 15m | ||
| 20:25 | Diễn đàn văn học nghệ thuật: Từ trái tim đất Cảng đến Trường Sa | 30m | ||
| 20:55 | Hộp thư truyền hình | 5m | ||
| 21:00 | Sống khỏe cùng bạn | 1h | ||
| 22:00 | Phim truyện Việt Nam: Người tình bố già (Tập 9) | 45m | ||
| 22:45 | Tuổi trẻ Hải Phòng: Đảng viên trẻ tiên phong, gương mẫu | 25m | ||
| 23:10 | Pháp luật và cuộc sống: Tranh chấp đất đai: Gỡ vướng từ cơ sở pháp lý | 20m | ||
| 23:30 | Bản tin Thời sự trưa | 20m | ||
| 23:50 | Chính sách pháp luật | 10m |
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_v72s9fc7/schedule?date=2026-10-13&tz=Asia/Ho_Chi_Minh" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_v72s9fc7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_v72s9fc7/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_v72s9fc7/schedule?date=2026-10-13&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_v72s9fc7/schedule?date=2026-10-13&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_v72s9fc7/schedule", params={"date": "2026-10-13", "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_v72s9fc7/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_z68scwqt", "channel": "ch_v72s9fc7", "start": "2026-10-12T17:00:00Z", "stop": "2026-10-12T17:45:00Z", "title": "Phim truyện Trung Quốc : Đồng tiền đen - Tập 24", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 55, "date": "2026-10-13", "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.