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-14&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:40 | 猛毒2-血蜘蛛《猛毒2:血蜘蛛》將由安迪瑟克斯執導,除了湯姆哈迪強勢回歸,上一集《猛毒》片尾彩蛋出現的神祕殺人魔克萊圖斯卡薩迪將在續集中掀起腥風血雨,讓觀眾在大銀... | 2h | ||
| 00:40 | 是誰搞的鬼五個朋友意外造成死亡車禍,決定隱瞞事實發誓保密。一年後,當時的所作所為又浮上檯面。透過特地前來南港製作與1997年有關的連環殺人案節目的Podcaster黛樂,... | 2h 20m | ||
| 03:00 | (重)MLB看東森 分區系列賽(重)MLB看東森 分區系列賽 | 3h | ||
| 06:00 | 洋片幕後趣洋片幕後趣 | 2h | ||
| 08:00 | (直)MLB看東森 聯盟冠軍系列賽(直)MLB看東森 聯盟冠軍系列賽 | 3h | ||
| 11:00 | 踏影而行總是在深夜潛入民宅盜竊的小偷.真壁修一(山崎將義 飾),因潛入技術巧妙而被警方稱之為「神偷壁」。某日深夜,真壁潛入縣議會議員的宅邸,偶然目擊殺人放火... | 2h 30m | ||
| 13:30 | 極地之王葛達在一次與精英隊伍獵捕獸群的行動中,因傷落單而與族人分離,他必須趕在冬日暴雪來臨前回到部落,否則將必死無疑。在這趟充滿生命威脅與嚴苛氣候的考驗下... | 2h | ||
| 15:30 | 你在天空彼岸女高中生小澪意識到自己對青梅竹馬阿新的感情,卻因無法傳達讓兩人陷入微妙的關係。某天,兩人因一點小事起了爭執,為了挽回與阿新的情誼,小澪不顧大雨前往... | 2h 5m | ||
| 17:35 | 哥吉拉大戰金剛兩位神級巨獸展開史詩般的殊死一戰,當傳奇正面對決時,世界的命運危在旦夕。金剛與牠的保護者,踏上危險的旅程,尋找牠真正的家園,同行的還有吉雅這名年輕... | 2h 25m | ||
| 20:00 | 驚奇隊長2在漫威影業的《驚奇隊長2》,驚奇隊長卡蘿丹佛斯(布麗拉森飾)從里人手中奪回自己的身分,並報復了至高智慧,然而卻意外引發了宇宙的不穩定。她隨著任務來到了... | 2h 10m | ||
| 22:10 | 奇異博士2-失控多重宇宙漫威宇宙進入第四階段,格局更宏大的多重宇宙,一個充滿危險,多重現實、奇異交錯的未知世界。奇異博士與信念相合的夥伴、神秘的盟友、還有敵我難分的故人,... | 2h 40m |
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-14&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-14&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-14&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-14", "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-14, the first programme { "data": [ { "id": "ls_cbm0znz0", "channel": "ch_dm21xfk6", "start": "2026-10-13T14:40:00Z", "stop": "2026-10-13T16:40:00Z", "title": "猛毒2-血蜘蛛", "sub_title": null, "description": "《猛毒2:血蜘蛛》將由安迪瑟克斯執導,除了湯姆哈迪強勢回歸,上一集《猛毒》片尾...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 11, "date": "2026-10-14", "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.