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_qfd6sekn/schedule?date=2026-10-11&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:40 | 搶救科學怪屋第1季:我的怪廚房(普) | 50m | ||
| 00:30 | 海灘翻修誰最強第5季:戰況白熱化(普) | 50m | ||
| 01:20 | 湖濱淘寶翻修篇第4季:萬中選一(普) | 50m | ||
| 02:10 | 鄰里妙事多第1季:尋常的一天(普) | 25m | ||
| 02:35 | 鄰里妙事多第1季:不算太糟(普) | 25m | ||
| 03:00 | 改造滯銷屋第2季:翻修出租屋(普) | 50m | ||
| 03:50 | 克林特的老屋修復之旅第1季:佛蒙特穀倉(普) | 50m | ||
| 04:40 | 造美宅好扎根第1季:引進大自然(普) | 50m | ||
| 05:30 | 國際房屋獵人第203季:荷蘭兼顧工作寶寶(普) | 30m | ||
| 06:00 | 探索驚奇屋第1季:室內好驚奇(普) | 30m | ||
| 06:30 | 探索驚奇屋第1季:全員集合(普) | 30m | ||
| 07:00 | 古宅變新家第4季:不再古怪(普) | 50m | ||
| 07:50 | 伊茲來包辦第1季:防水工程水噹噹(普) | 50m | ||
| 08:40 | 古宅變新家第4季:加州情侶夢幻屋(普) | 50m | ||
| 09:30 | 買屋好成家第3季:單身漢的理想之家(普) | 50m | ||
| 10:20 | 搶救科學怪屋第1季:我的怪廚房(普) | 50m | ||
| 11:10 | 湖濱淘寶翻修篇第4季:萬中選一(普) | 50m | ||
| 12:00 | 海灘翻修誰最強第5季:戰況白熱化(普) | 50m | ||
| 12:50 | 小鎮翻修趣:大家的旅店第1季:完美無缺(普) | 50m | ||
| 13:40 | 全球超值夢幻宅第1季:哥斯大黎加利蒙(普) | 25m | ||
| 14:05 | 全球超值夢幻宅第1季:哥斯大黎加旁塔雷納斯(普) | 25m | ||
| 14:30 | 全美最恐怖住家第2季:毛骨悚然的東部(普) | 25m | ||
| 14:55 | 全美最恐怖住家第2季:群魔亂舞的中部(普) | 25m | ||
| 15:20 | 低預算造街區第4季:押寶底特律(普) | 50m | ||
| 16:10 | 鄰里妙事多第1季:尋常的一天(普) | 25m | ||
| 16:35 | 鄰里妙事多第1季:不算太糟(普) | 25m | ||
| 17:00 | 搶救科學怪屋第1季:分隔之家(普) | 50m | ||
| 17:50 | 搶救科學怪屋第1季:我的怪廚房(普) | 50m | ||
| 18:40 | 小鎮翻修趣:大家的旅店第1季:完美無缺(普) | 50m | ||
| 19:30 | 全球超值夢幻宅第1季:哥斯大黎加利蒙(普) | 25m | ||
| 19:55 | 全球超值夢幻宅第1季:哥斯大黎加旁塔雷納斯(普) | 25m | ||
| 20:20 | 湖濱淘寶翻修篇第4季:萬中選一(普) | 50m | ||
| 21:10 | 海灘翻修誰最強第5季:戰況白熱化(普) | 50m | ||
| 22:00 | 低預算造街區第4季:押寶底特律(普) | 50m | ||
| 22:50 | 樂透夢想屋第18季:二度中獎(普) | 25m | ||
| 23:15 | 樂透夢想屋第18季:平靜匹爾斯堡(普) | 25m | ||
| 23:40 | 房屋獵人:明星帶看篇第1季:改造滯銷屋的抉擇(普) | 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_qfd6sekn/schedule?date=2026-10-11&tz=Asia/Taipei" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qfd6sekn/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qfd6sekn/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qfd6sekn/schedule?date=2026-10-11&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_qfd6sekn/schedule?date=2026-10-11&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_qfd6sekn/schedule", params={"date": "2026-10-11", "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_qfd6sekn/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_6eyk9xj0", "channel": "ch_qfd6sekn", "start": "2026-10-10T15:40:00Z", "stop": "2026-10-10T16:30:00Z", "title": "搶救科學怪屋第1季:我的怪廚房(普)", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 37, "date": "2026-10-11", "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 155 countries.