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/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_p0z94xm7/schedule?date=2026-10-20&tz=Asia/Hong_Kong
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:55 | 怪談在迷霧村,為人養子的文傑反復夢見同一個噩夢。為了解開身世之謎,他捲入連串神秘的失蹤案件中。隨著更多村民相繼離奇死去,村民更深信不疑千年來的井龍王詛咒。... | 1h 15m | ||
| 01:10 | Malee四名好友在一座古老宅邸重聚,出席一場葬禮,因一時魯莽觸碰被詛咒的瑪諾拉舞者頭飾,意外喚醒如影隨形的厲鬼。隨著靈異現象接連發生,他們被迫揭開宅邸深藏的黑... | 1h 30m | ||
| 02:40 | 淩晨三點鐘 - 營地一群漠視勸誡的年青人貿然闖進詭異森林露營作樂,入夜之後,他們內心的邪念驅使他們落入性與愛的關係陷阱,引來了森林裡一連串的靈異事件。黎明將至,他們當中有... | 55m | ||
| 03:35 | Chop Chop一個寧靜的晚上,一名患精神病的連環殺手擾亂了年輕夫婦的平淡生活。當這對夫婦為生存而戰時,他們隱藏多年的秘密亦隨之揭開,期間更意外地被牽連到黑社會的地下... | 1h 25m | ||
| 05:00 | Hide Seek (aka The Last Hide Seek)七名好友童年時在一棟廢棄大樓玩捉迷藏,卻意外害死了NuAon。十三年後,舊址改建成大學校園,這群年輕人竟再次聚首。當校園接連爆發無法解釋的靈異命案,一名酷似... | 1h 35m | ||
| 06:35 | 青木劫民國初年,富甲一方的康氏慘遭滅門,唯一的目擊證人—家中的幼女—在親眼目睹全家被殺後離奇失蹤。幾十年間,位於青木巷的廢棄康宅充斥著靈異驚悚的氣氛。隨著真相... | 1h 25m |
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_p0z94xm7/schedule?date=2026-10-20&tz=Asia/Hong_Kong" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_p0z94xm7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_p0z94xm7/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_p0z94xm7/schedule?date=2026-10-20&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_p0z94xm7/schedule?date=2026-10-20&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_p0z94xm7/schedule", params={"date": "2026-10-20", "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_p0z94xm7/schedule?date=2026-10-20, the first programme { "data": [ { "id": "ls_xbrhhg51", "channel": "ch_p0z94xm7", "start": "2026-10-19T15:55:00Z", "stop": "2026-10-19T17:10:00Z", "title": "怪談", "sub_title": null, "description": "在迷霧村,為人養子的文傑反復夢見同一個噩夢。為了解開身世之謎,他捲入連串神秘的...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 6, "date": "2026-10-20", "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.