72.1M 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_vcw938ge/schedule?date=2026-10-12&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Phim truyện: Quyền thừa kế danh giá - Tập 52 (82 tập) | 45m | ||
| 00:45 | Giới thiệu phóng sự, chuyên mục, giới thiệu phim | 5m | ||
| 00:50 | Chương trình văn nghệ: Tình khúc Mùa thu | 30m | ||
| 01:20 | Hội thao nghiệp vụ chữa cháy và cứu nạn, cứu hộ tỉnh Sơn La năm 2026 - Tập 2 | 1h | ||
| 02:20 | Phim tài liệu: Chung một mái nhà | 35m | ||
| 02:55 | Giới thiệu phóng sự, chuyên mục, Chương trình | 5m | ||
| 03:00 | Thời sự | 20m | ||
| 03:20 | Giới thiệu phóng sự, chuyên mục, giới thiệu phim | 5m | ||
| 03:25 | Phim truyện: Xin chào công tố viên - Tập 25 (45 tập) | 45m | ||
| 04:10 | Bản tin tiếng Thái | 20m | ||
| 04:30 | Bản tin Chính phủ tuần qua | 15m | ||
| 04:45 | Phim tài liệu: Arabica Sơn La - Hương vị từ miền đất dốc - Tập 2 | 15m | ||
| 05:00 | Điểm báo | 5m | ||
| 05:05 | Giới thiệu phóng sự, chuyên mục, Chương trình | 5m | ||
| 05:10 | Phim truyện: Vòng tròn tội ác - Tập 13 (30 tập) | 45m | ||
| 05:55 | Phim hoạt hình thiếu nhi: Không gian tình bạn - Tập 48 (52 tập) | 15m | ||
| 06:10 | Bản tin tiếng Mông | 20m | ||
| 06:30 | Văn hoá đời sống: Sắc màu văn hóa vùng cao | 10m | ||
| 06:40 | Bản tin 5 châu bốn biển | 5m | ||
| 06:45 | Bản tin Y tế | 5m | ||
| 06:50 | Bản tin trong nước | 5m | ||
| 06:55 | Thông tin quảng cáo | 5m | ||
| 07:00 | Tiếp sóng VTV1 | 42m | ||
| 07:42 | Thông tin quảng cáo, giới thiệu, cổ động | 3m | ||
| 07:45 | Thời sự | 30m | ||
| 08:15 | Thông tin quảng cáo | 5m | ||
| 08:20 | Tiêu Điểm | 10m | ||
| 08:30 | Phóng sự: Bảo vệ trẻ em trước nguy cơ lao động sớm | 10m | ||
| 08:40 | Chuyên mục Dân số: Không định kiến, không lựa chọn giới tính | 10m | ||
| 08:50 | Phóng sự: Hiệu quả từ quỹ dịch vụ môi trường rừng | 10m | ||
| 09:00 | Đẹp cùng Snews: Hòa mình trong không gian của Sỏi Ecolodge | 10m | ||
| 09:10 | Phim truyện: Vòng tròn tội ác - Tập 14 (30 tập) | 45m | ||
| 09:55 | Chương trình văn nghệ: Tiếng hát ca sỹ Hương Ly | 30m | ||
| 10:25 | Tọa đàm: Giữ gìn chữ thái cổ | 30m | ||
| 10:55 | Thời sự | 30m | ||
| 11:25 | Bản tin tiếng Mông | 20m | ||
| 11:45 | Bản tin trong nước | 5m | ||
| 11:50 | Bản tin 5 châu bốn biển | 5h 33m | ||
| 17:23 | Giới thiệu chương trình | 5m | ||
| 17:28 | Chương trình Văn nghệ | 31m | ||
| 17:59 | Chào ngày mới | 16m | ||
| 18:15 | Tạp chí kinh tế: : Kết nối thị trường - Nâng tầm giá trị cà phê arabica Sơn La | 15m | ||
| 18:30 | Thời sự | 30m | ||
| 19:00 | Giới thiệu Luật | 5m | ||
| 19:05 | Bản tin tiếng Mông | 20m | ||
| 19:25 | Phim tài liệu: : Mặt trận không tiếng súng | 30m | ||
| 19:55 | Thông tin quảng cáo | 5m | ||
| 20:00 | Phim truyện: : Vòng tròn tội ác - Tập 7 | 45m | ||
| 20:45 | Đẹp cùng Snews: | 10m | ||
| 20:55 | Chuyên mục Alô 114: : Nâng cao PCCC&CNCN ở cơ sở | 5m | ||
| 21:00 | Phim truyện: : Một nửa hoàn hảo - Tập 2 | 45m | ||
| 21:45 | Tiêu điểm | 10m | ||
| 21:55 | Thông tin quảng cáo | 5m | ||
| 22:00 | Phim truyện: : Xin chào công tố viên - Tập 19 | 45m | ||
| 22:45 | Phim hoạt hình thiếu nhi: : Không gian tình bạn - Tập 45 | 15m | ||
| 23:00 | Phóng sự: : Sơn La hợp tác phát triển nông nghiệp hữu cơ, tuần hoàn | 10m | ||
| 23:10 | Bản tin tiếng Thái | 20m | ||
| 23:30 | Thời sự | 20m | ||
| 23:50 | Thông tin quảng cáo | 5m | ||
| 23:55 | Bản tin Y tế | 5m |
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_vcw938ge/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_vcw938ge/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_vcw938ge/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_vcw938ge/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_vcw938ge/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_vcw938ge/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_vcw938ge/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_dawf55p0", "channel": "ch_vcw938ge", "start": "2026-10-11T17:00:00Z", "stop": "2026-10-11T17:45:00Z", "title": "Phim truyện: Quyền thừa kế danh giá - Tập 52 (82 tập)", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 60, "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 | 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 154 countries.