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-15&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:50 | 高校功夫女神正義感十足的采映狠狠教訓過學校裡的惡霸後,轉學到了新學校,今天是她第一天上課。雖然她爸已經對此警告過她,但她又從惡霸手中救出了宗久。宗久因此非常崇... | 2h 15m | ||
| 01:05 | 看不見的目擊者濱中夏目在警察學校畢業典禮當晚,因車禍雙目失明,於是放棄成為警察的夢想。某天,夏目遭遇交通事故,在現場,她聽到車中傳出少女微弱的呼救聲,判斷車內可... | 2h 30m | ||
| 03:35 | 殺出個黃昏田立秋(謝賢 飾)、蔡鳳(馮寶寶 飾)、葉一叢(林雪 飾)於1960年代曾是讓人聞風喪膽的殺手組織,無奈時代蛻變,三人只好重歸平凡生活... | 1h 55m | ||
| 05:30 | 85年的夏天1985年,夏天的諾曼第海濱小鎮,少年艾雷在一次翻船意外中結識了出手相救的大衛。性格迥異的兩人意外擦出愛的火花。愛苗從海上燃起,延燒一整個炙熱盛夏,沿... | 2h | ||
| 07:30 | 我死去的那天在一個漆黑的颱風夜,一名揭露父親罪行的年輕證人在小島上失蹤了。人們在懸崖上發現她的鞋子,也在她的家裡發現一封遺書。但由於天氣惡劣,屍體未能尋獲。在... | 2h 15m | ||
| 09:45 | 誰是外星人2020年黃色液態外星人入侵世界時,幾位外星人研究俱樂部的成員躲在地堡倖免於難。但當外星人進入某個成員的體內時,混亂隨之而來。要是沒在30分鐘內找出並殺... | 1h 35m | ||
| 11:20 | 月影五月的愛人阿等車禍身亡,她只能透過慢跑撫平傷痛,途間遇到神秘女子有麗。阿等開車送親弟阿柊的女友弓子回家,結果雙雙身亡。女友死後,阿柊一直穿著弓子的... | 1h 50m | ||
| 13:10 | 相愛的保存期限「如果愛情有期限,分離就需要一個寬限期。」 娜琳在得知突然分手的消息後,無法接受與長期戀人恩燦的分手,因此她希望有一個月的寬限期讓恩燦的感情回歸。「... | 1h 55m | ||
| 15:05 | 自由特攻隊一群看似平凡的小英雄穿梭時空,進入經典的文學故事與神話中,阻止歷史被扭曲,展開一場拯救世界遺產的奇幻旅程。 | 1h 30m | ||
| 16:35 | 戀愛腦內諮商室31歲的黑田光子,一個人也能快樂生活的理由是腦內有諮商師A,在對人際關係和行為舉止感到迷惘時,另一個自己A總是給她正確的答案。和A一起一直過著平靜的單身... | 2h 40m | ||
| 19:15 | 男神訓練營范凡不務正業,父親覺得他不思進取,停止經濟資助。他被趕出家後,開辦男神訓練營。女朋友婉兒默默支持,他還收了四個徒弟。他意外結識Angelalady,卻在偷情... | 1h 45m | ||
| 21:00 | 馬粥街殘酷史一九七八年春天,在當年的學校裡,老師和學生之間的鬥爭可說是白熱化。老師的權力慾與問題學生的野性成了這段殘酷史的開始。模範生賢修在偶然間,認識了同校... | 2h 20m | ||
| 23:20 | 跆拳對決洪榮客原本是萬世高中的流氓,某天與豬朋狗友狠揍了同校跆拳道隊三流選手的學生。學生送醫,榮客則被逮捕,校長來保釋他們,並給他們兩個選擇,一是被學校開... | 2h 10m |
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-15&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-15&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-15&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-15", "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-15, the first programme { "data": [ { "id": "ls_xdsp2w4g", "channel": "ch_spy0hte3", "start": "2026-10-14T14:50:00Z", "stop": "2026-10-14T17:05:00Z", "title": "高校功夫女神", "sub_title": null, "description": "正義感十足的采映狠狠教訓過學校裡的惡霸後,轉學到了新學校,今天是她第一天上課...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-15", "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.