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/Taipei 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/Taipei. The same day from the API: GET /v1/channels/ch_spy0hte3/schedule?date=2026-10-16&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:20 | 跆拳對決洪榮客原本是萬世高中的流氓,某天與豬朋狗友狠揍了同校跆拳道隊三流選手的學生。學生送醫,榮客則被逮捕,校長來保釋他們,並給他們兩個選擇,一是被學校開... | 2h 10m | ||
| 01:30 | 風暴高級督察呂明哲一心想捉拿犯罪集團頭目曹楠,就在到手之際竟被多年不見的中學同學陶成邦攪局。陶成邦為挽回女友對自己的愛,求呂明哲為他捏造臥底身份,以解... | 2h 10m | ||
| 03:40 | 失速青春一名前途光明的田徑選手道原,因意外受傷後,回到兒時故鄉養傷。他再度遇到了兒時的朋友鎮秀,重逢的喜悅只持續了一會兒,因為鎮秀已經不是道原所熟悉的純樸... | 2h | ||
| 05:40 | 我不要演癩蛤蟆一場御天十兵衛主持的選秀活動,爭奪參加英國愛丁堡藝術節的機會,新、舊演員輪番上陣,但是一個很重要的角色-癩蛤蟆,卻遲遲無法找到扮演的人,究竟最後花... | 2h 45m | ||
| 08:25 | 電影濕背秀在一個炎熱潮濕的夏天,一家小戲院正要播放一部藝術電影的新片試映,導演及演員都將到場參加映後座談。戲院老闆以防疫政策為由,拒絕開啟空調而導致觀眾酷熱... | 1h 30m | ||
| 09:55 | 生而為人一名男孩南擁有雙重生殖系統,外表看似普通的他,卻像女生一樣每個月都會有月經。他的同學因此嘲笑他「好娘」,甚至直接叫他「女生」,讓大家感到不舒服。這... | 2h 5m | ||
| 12:00 | 藍色海女傳說紀錄片導演慶勛到濟州島想拍攝被列入金氏紀錄能在海中憋氣最久的海女真玉的故事。起初,真玉的反應十分冷淡,但後來漸漸被慶勛的真誠打動,答應了他的拍攝。... | 1h 55m | ||
| 13:55 | 北海小英雄當北海小英雄小威遇上雷神索爾,撞出新滋味。在維京群島住著一群海盜,海盜船長黑龍的兒子小威,一心嚮往登上父親的維京船,沿著北歐海岸展開冒險。當黑龍從... | 1h 35m | ||
| 15:30 | 愛在記憶倒數時承賢和智雅在讀書時期就很欣賞對方,但還來不及訴說心意,彼此就各奔東西。七年後,擔心自己會和母親一樣罹患阿茲海默症的承賢,放棄升學留在故鄉成為了烘培... | 2h | ||
| 17:30 | 白天的星星座落在星光部落星光國小旁的雜貨店「免姨商店」,是星光國小的小朋友放學後的天堂。獨自經營雜貨店的老闆兼店員阿免姨,熱心照料著每個肚子餓的小朋友。老郵... | 1h 55m | ||
| 19:25 | 女孩們的夏日浮光在探索世界盡頭時,我們意外的長大了!四名攝影社的國中生,從老師那裡獲得一台膠捲相機。老師請她們在暑假時,拿著這台相機,拍有關「世界盡頭」的照片回來... | 1h 35m | ||
| 21:00 | 回到20歲壞脾氣的老奶奶,除了前管家之外,沒有人喜歡她,連她的媳婦也因同住一屋簷下壓力過大而住院,全家除了孫子外都覺得該送奶奶去養老院。奶奶傷心之際路過照相... | 2h 30m | ||
| 23:30 | 金錢帝國-追虎擒龍1973年,香港警察與黑道勾結,在統制者英國人指使下貪污巨利,荼毒市民,已是見怪不怪的常態。港督終於決定成立廉政公署,兩位檢察官為黑白雙煞陳克和白松安... | 2h 5m |
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_spy0hte3/schedule?date=2026-10-16&tz=Asia/Taipei" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_spy0hte3/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_spy0hte3/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_spy0hte3/schedule?date=2026-10-16&tz=Asia/Taipei"); 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_spy0hte3/schedule?date=2026-10-16&tz=Asia/Taipei", { 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_spy0hte3/schedule", params={"date": "2026-10-16", "tz": "Asia/Taipei"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_spy0hte3/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_6t78c7nf", "channel": "ch_spy0hte3", "start": "2026-10-15T15:20:00Z", "stop": "2026-10-15T17:30:00Z", "title": "跆拳對決", "sub_title": null, "description": "洪榮客原本是萬世高中的流氓,某天與豬朋狗友狠揍了同校跆拳道隊三流選手的學生。...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-16", "tz": "Asia/Taipei" } }
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.