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/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_dm21xfk6/schedule?date=2026-10-19&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | 猛毒故事描述,身為外星共生體的「猛毒」因需寄託宿主才能生存,找上記者艾迪布洛克(湯姆哈迪 飾演)成為最新宿主,共生過程不僅賦與宿主超乎想像的強大能力,更將... | 2h 20m | ||
| 01:20 | (重)MLB看東森 聯盟冠軍系列賽(重)MLB看東森 聯盟冠軍系列賽 | 3h | ||
| 04:20 | 洋片幕後趣洋片幕後趣 | 2h | ||
| 06:20 | 死不開除正恩(劉多仁 飾)在公司工作7年,突然被派遣到下游廠商工作。正恩雖然想努力適應新環境,但職場同事令她感到十分不自在,讓她感到難以適應。想在這裡撐到一... | 2h 25m | ||
| 08:45 | 65-恐怖行星在一場嚴重的意外中,太空船駕駛米爾斯墜落在一個神祕的星球上,不過他很快地發現,這裡原來是6500萬年前的地球。為了尋求一線生機,米爾斯必須與另一位生存... | 2h | ||
| 10:45 | 355-諜影特攻當可怕的毀滅性武器落入跨國犯罪組織的手中,CIA探員「梅絲」決定找來各國的情報組織菁英,組成一支超越國界的間諜團隊「355」,試圖力挽狂瀾阻止第三次世界... | 2h 35m | ||
| 13:20 | 心裏美高中英文教師李淑敏努力教學,卻發現學生對她的課程始終興趣缺缺,反而熱衷到補習班上課,並視補教天王「KK何」為偶像。李淑敏潛入補習班一探究竟,在課程中... | 2h 10m | ||
| 15:30 | 摩登如來神掌如一般香港小市民,武德輝與厲遲(劉德華與陳百祥飾)在一家廣告公司任職,受盡凌辱。一次因公幹赴內地,兩人決定走私出土古物,遭解放軍追捕而墜入山崖,誤... | 2h 10m | ||
| 17:40 | 頭文字D講述一個十八歲的青年藤原拓海如何從默默無聞的送貨員變成出神入化賽車高手,在迂回曲折的秋明山路間面對一連串驚險的挑戰賽! | 2h 20m | ||
| 20:00 | 蜘蛛人-返校日少年蜘蛛人彼得帕克 (湯姆霍蘭德 飾演),將以使用蛛網裝置穿梭城市的超級英雄在《蜘蛛人:返校日》中透過全新身分展開新生活。在驚險刺激的英雄內戰之後,彼... | 2h 50m | ||
| 22:50 | 300壯士-帝國崛起故事開始於自命為神王的薛西斯大帝,他雖然在溫泉關戰役打敗了斯巴達國王雷奧尼達,臉上卻被雷奧尼達留下一道深深的傷口,而斯巴達300壯士的勇猛,也深深撼動... | 1h 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_dm21xfk6/schedule?date=2026-10-19&tz=Asia/Taipei" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dm21xfk6/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dm21xfk6/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_dm21xfk6/schedule?date=2026-10-19&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_dm21xfk6/schedule?date=2026-10-19&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_dm21xfk6/schedule", params={"date": "2026-10-19", "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_dm21xfk6/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_2gd6d00e", "channel": "ch_dm21xfk6", "start": "2026-10-18T15:00:00Z", "stop": "2026-10-18T17:20:00Z", "title": "猛毒", "sub_title": null, "description": "故事描述,身為外星共生體的「猛毒」因需寄託宿主才能生存,找上記者艾迪布洛克(湯...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 11, "date": "2026-10-19", "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 | 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.