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/Hong_Kong 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/Hong_Kong. The same day from the API: GET /v1/channels/ch_y4a6a431/schedule?date=2026-10-18&tz=Asia/Hong_Kong
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:15 | 卡特教頭一名高中籃球教練因球員學業成績欠佳,不惜暫停這支保持不敗紀錄的球隊參賽,要求他們先改善學業。 | 2h 30m | ||
| 00:45 | 紅龍安東尼·霍普金斯再度飾演他奪得奧斯卡®的經典角色—漢尼拔·萊達醫生。這部驚險前傳講述一名退休FBI探員被召回,追捕一名難以捉摸的連環殺手。 | 2h 30m | ||
| 03:15 | 尖峰時刻3:巴黎打通關故事移師巴黎,基斯·德加與成龍這對來自東西方的怪拍檔,再度聯手對抗華人黑幫三合會的一個分支,在連場精彩動作與連串爆笑場面中,展開新一輪冒險。 | 2h | ||
| 05:15 | 卡特教頭一名高中籃球教練因球員學業成績欠佳,不惜暫停這支保持不敗紀錄的球隊參賽,要求他們先改善學業。 | 2h 30m | ||
| 07:45 | 尖峰時刻3:巴黎打通關故事移師巴黎,基斯·德加與成龍這對來自東西方的怪拍檔,再度聯手對抗華人黑幫三合會的一個分支,在連場精彩動作與連串爆笑場面中,展開新一輪冒險。 | 2h | ||
| 09:45 | 七夜冤靈一名記者調查一盒受到詛咒的錄影帶,傳聞任何看過影片的人都會在七日後死亡。 | 2h 15m | ||
| 12:00 | 卡特教頭一名高中籃球教練因球員學業成績欠佳,不惜暫停這支保持不敗紀錄的球隊參賽,要求他們先改善學業。 | 2h 30m | ||
| 14:30 | 桃色血案一名前檢察官受命為一名被控殺害妻子強姦犯的陸軍軍官辯護,卻發現真相始終撲朔迷離。 | 3h | ||
| 17:30 | V怪客在一個走向法西斯統治的未來英國,一名戴著面具的義警「V」挺身而出,為解放國家而戰。他與一名被他救下的年輕女子聯手,點燃反抗暴政的革命火種。 | 2h 30m | ||
| 20:00 | 失蹤兩名私家偵探受託尋找一名失蹤女孩,在追查真相的過程中面對一連串挑戰道德與信念的抉擇。 | 2h 15m | ||
| 22:15 | 捉鬼特攻隊在寧靜的小鎮費爾沃特,一股邪惡力量甦醒了——它的力量之強,甚至能從陰間伸出魔爪! | 2h 15m |
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_y4a6a431/schedule?date=2026-10-18&tz=Asia/Hong_Kong" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_y4a6a431/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_y4a6a431/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_y4a6a431/schedule?date=2026-10-18&tz=Asia/Hong_Kong"); 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_y4a6a431/schedule?date=2026-10-18&tz=Asia/Hong_Kong", { 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_y4a6a431/schedule", params={"date": "2026-10-18", "tz": "Asia/Hong_Kong"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_y4a6a431/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_a1rn270w", "channel": "ch_y4a6a431", "start": "2026-10-17T14:15:00Z", "stop": "2026-10-17T16:45:00Z", "title": "卡特教頭", "sub_title": null, "description": "一名高中籃球教練因球員學業成績欠佳,不惜暫停這支保持不敗紀錄的球隊參賽,要求...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 11, "date": "2026-10-18", "tz": "Asia/Hong_Kong" } }
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.