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_mv4v1a4f/schedule?date=2026-10-13&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:55 | Phim truyện: Tận hiến - Tập 8 | 45m | ||
| 00:40 | Ca nhạc | 25m | ||
| 01:05 | Phim truyện: Dã tâm thiên thần - Tập 19 | 45m | ||
| 01:50 | Nhịp sống Đô thị: Xu hướng kinh doanh trong ngõ nhỏ ở đô thị | 10m | ||
| 02:00 | Thời sự Nghệ An | 25m | ||
| 02:25 | Sức khỏe của bạn | 45m | ||
| 03:10 | Phim truyện: Người yêu tuyệt vời - Tập 85 | 45m | ||
| 03:55 | Khám phá thế giới - Thế giới động vật | 25m | ||
| 04:20 | Chuyển đổi số: Biến dữ liệu thành nguồn lực - Kiến tạo quản trị số | 10m | ||
| 04:30 | Chạm vị Nghệ: Trám - Hương vị thu quê hương | 10m | ||
| 04:40 | Tạp chí kinh tế cuối tuần: Nghệ An đồng hành cùng doanh nghiệp mở rộng thị trường Xuất khẩu | 15m | ||
| 04:55 | Đi mô ăn chi | 5m | ||
| 05:00 | Bản tin Chính phủ tuần qua | 10m | ||
| 05:10 | Trò chuyện cuối tuần: Trần Đại Thắng - Từ Đông A books đến chuyến xe Sách đến mọi nhà | 15m | ||
| 05:25 | Thiếu nhi | 20m | ||
| 05:45 | Phim truyện: Bí danh - Tập 6 | 45m | ||
| 06:30 | Nhịp sống 24h | 25m | ||
| 06:55 | Giới thiệu chương trình | 5m | ||
| 07:00 | Tiếp sóng Đài THVN | 40m | ||
| 07:40 | Thời sự Nghệ An | 30m | ||
| 08:10 | Dự báo Thời tiết - Quảng cáo - Quảng bá | 5m | ||
| 08:15 | Phim truyện: Một nửa hoàn hảo - Tập 10 | 45m | ||
| 09:00 | Bản tin thể thao | 10m | ||
| 09:10 | Phóng sự: Siết chặt an toàn và chất lượng bữa ăn học đường | 15m | ||
| 09:25 | Thế giới 24/7 Nóng | 10m | ||
| 09:35 | Trang Truyền hình Quân khu 4 | 10m | ||
| 09:45 | Phim truyện: Người yêu tuyệt vời - Tập 86 | 45m | ||
| 10:30 | Bản tin tiếng Anh | 10m | ||
| 10:40 | Phim tài liệu Người Công an Cách mạng - Tập 3: Vụ án phố Ôn Như Hầu - Ngàn cân treo sợi tóc | 35m | ||
| 11:15 | Bản tin tài chính | 10m | ||
| 11:25 | Thời sự Nghệ An - Dự báo Thời tiết | 35m | ||
| 12:00 | Phim truyện: Quý phu nhân - Tập 66 | 45m | ||
| 12:45 | Phim tài liệu Người Công an Cách mạng - Tập 2: Ánh bình minh On now | 30m | ||
| 13:15 | Khám phá Việt Nam: | 15m | ||
| 13:30 | Ca nhạc | 30m | ||
| 14:00 | Phim truyện: Má ơi, tỉnh mộng - Tập 12 | 45m | ||
| 14:45 | Khám phá thế giới - Thế giới động vật | 25m | ||
| 15:10 | Bản tin tiếng Anh | 10m | ||
| 15:20 | Bản tin Chính phủ tuần qua | 10m | ||
| 15:30 | Ca nhạc | 30m | ||
| 16:00 | Phim truyện: Muôn vàn cách yêu - Tập 9 | 45m | ||
| 16:45 | Nhịp sống Đô thị: Xu hướng kinh doanh trong ngõ nhỏ ở đô thị | 10m | ||
| 16:55 | Đi mô ăn chi | 5m | ||
| 17:00 | Giới thiệu chương trình | 5m | ||
| 17:05 | Ca nhạc | 25m | ||
| 17:30 | Tiếp sóng Chào buổi sáng VTV1 | 55m | ||
| 18:25 | Nghệ An ngày mới | 20m | ||
| 18:45 | Trò chuyện cuối tuần: Trần Đại Thắng - Từ Đông A books đến chuyến xe Sách đến mọi nhà | 15m | ||
| 19:00 | Chuyển đổi số: Biến dữ liệu thành nguồn lực - Kiến tạo quản trị số | 15m | ||
| 19:15 | Phim truyện: Một nửa hoàn hảo - Tập 10 | 45m | ||
| 20:00 | Ca nhạc: | 30m | ||
| 20:30 | Tạp chí kinh tế cuối tuần: Nghệ An đồng hành cùng doanh nghiệp mở rộng thị trường Xuất khẩu | 15m | ||
| 20:45 | Trang Truyền hình Quân khu 4 | 15m | ||
| 21:00 | Phim truyện: Cuộc chiến hôn nhân - Tập 31 | 45m | ||
| 21:45 | Chạm vị Nghệ: Trám - Hương vị thu quê hương | 15m | ||
| 22:00 | Sức khỏe của bạn | 40m | ||
| 22:40 | Dòng chảy Chính sách: Cú hích mới cho bảo hiểm nông nghiệp | 15m | ||
| 22:55 | Phóng sự: Nghệ An tăng tốc xúc tiến đầu tư, đồng hành cùng doanh nghiệp | 15m | ||
| 23:10 | Thiếu nhi: | 20m | ||
| 23:30 | Thời sự Nghệ An | 25m | ||
| 23:55 | Phim truyện: Tận hiến - Tập 9 | 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_mv4v1a4f/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_mv4v1a4f/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_mv4v1a4f/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_mv4v1a4f/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_mv4v1a4f/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_mv4v1a4f/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_mv4v1a4f/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_k243gktq", "channel": "ch_mv4v1a4f", "start": "2026-10-12T16:55:00Z", "stop": "2026-10-12T17:40:00Z", "title": "Phim truyện: Tận hiến - Tập 8", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 61, "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.