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_eabf41gd/schedule?date=2026-10-13&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | ĐẾN PHONG ĐIỀN THƯỞNG THỨC BÁNH HỎI MẶT VÕNG ĐẬU HỦ KHO GỪNG | 30m | ||
| 00:30 | QUÁI VẬT VÀ PHÙ THỦY- HỒ NƯỚC BÍ ẨN | 1h | ||
| 01:30 | CẦN LINH CỔ TỰ - DẤU XƯA TÍCH CŨ | 20m | ||
| 01:50 | TOUR DE VIETNAM SỐ 84:BÌNH YÊN CÙ LAO XANH | 10m | ||
| 02:00 | BÍ ẨN NHỮNG CON SỐ: Π - CON SỐ THẦN BÍ CỦA THIÊN ĐƯỜNG PHẦN 2 | 30m | ||
| 02:30 | CÂU CHUYỆN BẮC CỰC PHẦN 2 | 1h | ||
| 03:30 | CHẠM VÀO VỊ GIÁC TẬP 4 | 30m | ||
| 04:00 | QUÁI VẬT VÀ PHÙ THỦY-BÍ MẬT CỦA TRANG TRẠI | 1h | ||
| 05:00 | MIỀN ĐẤT LÀNH | 20m | ||
| 05:20 | GIỮ GÌN NGHỀ THÊU, DỆT THỔ CẨM TRUYỀN THỐNG Ở GIA CÁT | 10m | ||
| 05:30 | GIẤC MƠ ĐỒNG QUÊ: BRITTANY | 30m | ||
| 06:00 | LOÀI ẾCH-RANH GIỚI XANH MONG MANH On now | 1h | ||
| 07:00 | CỎ XƯỚC VÀ MÓN ĂN VÙNG SÔNG NƯỚC GỎI XOÀI NẤM TUYẾT | 30m | ||
| 07:30 | MOKSGM’OL – HÀNH TRÌNH ĐI TÌM GẤU THẦN | 1h | ||
| 08:30 | DU KÝ 212026 | 20m | ||
| 08:50 | TOUR DE VIETNAM SỐ 85 - KHÁM PHÁ DU LỊCH BIỂN BÌNH ĐỊNH | 10m | ||
| 09:00 | CHUYẾN BAY TỬ THẦN MH17 PHẦN 1 | 30m | ||
| 09:30 | VƯỜN THỦY SINH SATOYAMA NHẬT BẢN PHẦN 1 | 1h | ||
| 10:30 | SIÊU ĐẦU BẾP TRANH TÀI TẬP 15 | 30m | ||
| 11:00 | CONGO – BẢO TỒN KHU RỪNG CỦA LOÀI GORILLA | 1h | ||
| 12:00 | DẤU TÍCH CHĂM GIỮA LÒNG HÀ NỘI | 20m | ||
| 12:20 | ĐI TÌM MÓN NGON TẬP 7 - GỎI ĐU ĐỦ THÁI LAN | 10m | ||
| 12:30 | CHUYẾN BAY TỬ THẦN MH17 PHẦN 2 | 30m | ||
| 13:00 | VƯỜN THỦY SINH SATOYAMA NHẬT BẢN PHẦN 2 | 1h | ||
| 14:00 | CHẠM VÀO VỊ GIÁC TẬP 5 | 30m | ||
| 14:30 | VÙNG ĐẤT DIỆU KỲ PHẦN 1 | 1h | ||
| 15:30 | TRÊN THƯỢNG NGUỒN SÔNG HỒNG | 20m | ||
| 15:50 | HƯƠNG VỊ CỦA ĐƯỜNG LÂM - MÓN QUÀ QUÊ DÂN DÃ | 10m | ||
| 16:00 | THẾ GIỚI BÍ MẬT CỦA THẢO MỘC - ẤN ĐỘ PHẦN 1 | 30m | ||
| 16:30 | KIẾN TẤN CÔNG | 1h | ||
| 17:30 | NGÀY VUI Ở VƯỜN QUÝT TÀU HỦ KY CUỘN MỘC NHĨ | 30m | ||
| 18:00 | QUÁI VẬT VÀ PHÙ THỦY- BÍ ẨN CỦA KHU RỪNG | 1h | ||
| 19:00 | ĐÌNH KIM NGÂN - VẺ ĐẸP DÁNG XƯA | 20m | ||
| 19:20 | TOUR DE VIETNAM SỐ 83 - NÉT THỜI GIAN THÁP CHĂM BÌNH ĐỊNH | 11h 40m |
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_eabf41gd/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_eabf41gd/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_eabf41gd/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_eabf41gd/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_eabf41gd/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_eabf41gd/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_eabf41gd/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_ct5yz34t", "channel": "ch_eabf41gd", "start": "2026-10-12T17:00:00Z", "stop": "2026-10-12T17:30:00Z", "title": "ĐẾN PHONG ĐIỀN THƯỞNG THỨC BÁNH HỎI MẶT VÕNG ĐẬU HỦ KHO GỪNG", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 34, "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 | Sunday 12 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 155 countries.