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_vcw938ge/schedule?date=2026-10-14&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Phim truyện: Quyền thừa kế danh giá - Tập 55+56 (82 tập) | 1h 30m | ||
| 01:30 | Giới thiệu phóng sự, chuyên mục, GT Phim | 5m | ||
| 01:35 | Chương trình văn nghệ: Sơn La mảnh đất tình yêu | 30m | ||
| 02:05 | Tạp chí tiếng Mông (08/10) | 30m | ||
| 02:35 | Phim tài liệu: Tây Yên Tử - Con đường tâm linh Trúc Lâm | 20m | ||
| 02:55 | Thông tin quảng cáo, Giới thiệu chương trình | 5m | ||
| 03:00 | Thời sự | 20m | ||
| 03:20 | Thông tin quảng cáo, giới thiệu chương trình+ GT Phim | 5m | ||
| 03:25 | Phim truyện: Xin chào công tố viên - Tập 27 (45 tập) | 45m | ||
| 04:10 | Bản tin tiếng Thái | 20m | ||
| 04:30 | Tiêu Điểm | 10m | ||
| 04:40 | Phóng sự: Bảo vệ trẻ em trước nguy cơ lao động sớm | 10m | ||
| 04:50 | Đẹp cùng Snews: Hòa mình trong không gian của Sỏi Ecolodge | 15m | ||
| 05:05 | Thông tin quảng cáo, giới thiệu chương trình+ GT Phim | 5m | ||
| 05:10 | Phim truyện: Một nửa hoàn hảo - Tập 9 (46 tập) | 45m | ||
| 05:55 | Tạp chí thiếu nhi: Cùng em kể chuyện yêu thích | 15m | ||
| 06:10 | Bản tin tiếng Mông | 20m | ||
| 06:30 | Chuyên mục Dân số: Không định kiến, không lựa chọn giới tính | 10m | ||
| 06:40 | Bản tin 5 châu bốn biển | 5m | ||
| 06:45 | Chuyên mục alo 114 | 5m | ||
| 06:50 | Bản tin trong nước | 5m | ||
| 06:55 | Thông tin quảng cáo, giới thiệu chương trình | 5m | ||
| 07:00 | Tiếp sóng VTV1 | 43m | ||
| 07:43 | Thông tin quảng cáo, giới thiệu chương trình | 2m | ||
| 07:45 | Thời sự | 25m | ||
| 08:10 | Truyền hình trực tiếp Bế mạc Lễ hội cà phê ARABICA Sơn La | 1h 30m | ||
| 09:40 | Văn hoá & Đời sống: Những đôi bàn tay giữ nghề truyền thống | 10m | ||
| 09:50 | Tạp chí kinh tế: Đẩy mạnh giải ngân vốn đầu tư công những tháng cuối năm | 15m | ||
| 10:05 | Chuyên mục Diễn đàn doanh nghiệp: Cầu nối để doanh nghiệp phát triển bền vững | 10m | ||
| 10:15 | Phim truyện: Vòng tròn tội ác - Tập 16 (30 tập) | 45m | ||
| 11:00 | Tạp chí Thái (Mới) | 30m |
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-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_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-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_vcw938ge/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_vcw938ge/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_vcw938ge/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_pdgn8xn3", "channel": "ch_vcw938ge", "start": "2026-10-13T17:00:00Z", "stop": "2026-10-13T18:30:00Z", "title": "Phim truyện: Quyền thừa kế danh giá - Tập 55+56 (82 tập)", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 31, "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 | 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.