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_3r3art4x/schedule?date=2026-10-13&tz=Asia/Ho_Chi_Minh
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 18:45 | Bản tin GTV News | 7h 15m | ||
| 02:00 | Chào ngày mới | 30m | ||
| 02:30 | Theo dòng Thời sự | 5m | ||
| 02:35 | Thời sự Jrai | 15m | ||
| 02:50 | Thời sự Bahnar | 15m | ||
| 03:05 | Phim truyện: Tuyết trung hãn đao hành - Tập 10 | 45m | ||
| 03:50 | Phim truyện Việt Nam: Tình đầu - Tập 2 | 45m | ||
| 04:35 | Phổ biến kiến thức pháp luật | 5m | ||
| 04:40 | Phóng sự: Nghĩa tình nơi dải đất biên cương | 20m | ||
| 05:00 | Thời sự GTV | 5m | ||
| 05:05 | Chương trình tổng hợp Bahnar | 30m | ||
| 05:35 | Phim hoạt hình | 25m | ||
| 06:00 | Truyền hình quân khu 5 | 15m | ||
| 06:15 | Phóng sự: Đại ngàn chạm biển xanh - Lan tỏa niềm tin số | 15m | ||
| 06:30 | Hộp thư truyền hình | 15m | ||
| 06:45 | Phóng sự: Bộ đội biên phòng Gia Lai xây dựng lực lượng vững mạnh | 15m | ||
| 07:00 | Phim truyện Việt Nam: Anh yêu mẹ đơn thân - Tập 6 | 45m | ||
| 07:45 | Thời sự GTV | 15m | ||
| 08:00 | Bản tin Thị trường | 5m | ||
| 08:05 | Phim truyện: Tháp Công Chúa - Tập 1 | 45m | ||
| 08:50 | Phim hoạt hình | 25m | ||
| 09:15 | Phóng sự: Nâng tầm hương vị rượu ghè truyền thống | 15m | ||
| 09:30 | Phim truyện: Thanh xuân không sợ hãi - Tập 13+14 | 1h 30m | ||
| 11:00 | Thời sự GTV | 5m | ||
| 11:05 | Giao lưu: R’combus- chàng trai của núi rừng | 35m | ||
| 11:40 | Ký sự Gia Lai đất và người: Vĩnh Lợi ngày mới | 20m | ||
| 12:00 | Phim truyện Việt Nam: Mở khóa con tim - Tập 26 | 45m | ||
| 12:45 | Phóng sự: Nâng cao nhận thức chăm sóc sức khoẻ bà mẹ trẻ em DTTS | 15m | ||
| 13:00 | Đến với sân khấu truyền thống: Lê Đại Cang- Trọn một chữ Trung | 30m | ||
| 13:30 | Giáo dục và đào tạo: Khát vọng đổi mới từ Cuộc thi Youth Hackathon | 15m | ||
| 13:45 | Hộp thư truyền hình | 15m | ||
| 14:00 | Phim truyện: Ước mơ nơi phồn hoa - Tập 13 | 45m | ||
| 14:45 | Bản tin Thị trường | 5m | ||
| 14:50 | Phổ biến kiến thức pháp luật | 10m | ||
| 15:00 | Tiếp sóng chương trình thời sự Đài Truyền hình Việt Nam | 45m | ||
| 15:45 | Thời sự GTV | 40m | ||
| 16:25 | An Ninh Gia Lai: Những chuyến hồi hương | 15m | ||
| 16:40 | Phim truyện: Vua Sư Tử hùng mạnh - Tập 5 | 45m | ||
| 17:25 | Bản tin Thị trường | 5m | ||
| 17:30 | Phim truyện Việt Nam: Đò Xuôi Vạn Lý - Tập 3 | 45m | ||
| 18:15 | Thời sự cuối ngày | 10m | ||
| 18:25 | Bản tin GTV News On now | 12h 35m |
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_3r3art4x/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_3r3art4x/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3r3art4x/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3r3art4x/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_3r3art4x/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_3r3art4x/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_3r3art4x/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_tae3299t", "channel": "ch_3r3art4x", "start": "2026-10-12T11:45:00Z", "stop": "2026-10-12T19:00:00Z", "title": "Bản tin GTV News", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 42, "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 | Friday 10 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.