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_6cv00vm7/schedule?date=2026-10-19&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 經典音樂河:有福的確據(239)(普) | 15m | ||
| 00:15 | 禱告大軍迎接復興(1552)(普) | 30m | ||
| 00:45 | 恩典365(1586)(普) | 10m | ||
| 00:55 | 遇見祝福:危機就是轉機(27)(普) | 5m | ||
| 01:00 | 家庭8點檔轉轉發現愛:傳道人的不容易誰能懂?(743)(普) | 50m | ||
| 01:50 | 機智青年生活:三十歲職場生存遊戲(81)(普) | 10m | ||
| 02:00 | 頌泉心靈醫治特會:創傷與羞恥(27)(普) | 1h | ||
| 03:00 | 空中聖經學院:詩篇正典讀法(3)(普) | 30m | ||
| 03:30 | 生命的贏家(雙語):動盪將使你提升(13)(普) | 30m | ||
| 04:00 | 大衛鮑森講座:誰該下地獄(54)(普) | 1h | ||
| 05:00 | 恩典365(1587)(普) | 5m | ||
| 05:05 | 為祢唱新歌:史茵茵-Just A Closer Walk With Thee 主 我願更親近祢(79)(普) | 25m | ||
| 05:30 | 經典音樂河:長存到永遠(241)(普) | 15m | ||
| 05:45 | 經典音樂河:暴風雨中的避難所(249)(普) | 15m | ||
| 06:00 | 禱告大軍迎接復興(1553)(普) | 30m | ||
| 06:30 | 天堂敬拜:更深之處(58)(普) | 30m | ||
| 07:00 | 共享觀點:走出自卑陰影(205)(普) | 30m | ||
| 07:30 | 禱告大軍迎接復興(1553)(普) | 30m | ||
| 08:00 | 經典音樂河:God Is Love 上帝是愛(302)(普) | 15m | ||
| 08:15 | 為祢唱新歌:桑布伊-maava 擁抱(83)(普) | 15m | ||
| 08:30 | 空中聖經學院:詩篇正典讀法(3)(普) | 30m | ||
| 09:00 | 大衛鮑森講座:天堂的賞賜(55)(普) | 1h | ||
| 10:00 | 奔向標竿(雙語)(188)(普) | 1h | ||
| 11:00 | 頌泉心靈醫治特會:創傷與羞恥(27)(普) | 1h | ||
| 12:00 | 遇見祝福:危機就是轉機(27)(普) | 5m | ||
| 12:05 | 真情部落格:最好的禮物(536)(普) | 55m | ||
| 13:00 | 家庭8點檔轉轉發現愛:傳道人的不容易誰能懂?(743)(普) | 50m | ||
| 13:50 | 機智青年生活:三十歲職場生存遊戲(81)(普) | 10m | ||
| 14:00 | 羔羊戰士禱告復興特會:當基督的面事奉祂(5)(普) | 1h | ||
| 15:00 | 奔向標竿(雙語)(188)(普) | 1h | ||
| 16:00 | 無名小英雄:一觸即發(21)(普) | 30m | ||
| 16:30 | 空中聖經學院:希伯來詩歌文學特徵(4)(普) | 30m | ||
| 17:00 | 大衛鮑森講座:天堂的賞賜(55)(普) | 1h | ||
| 18:00 | 共享觀點:幫助主管成功(175)(普) | 30m | ||
| 18:30 | 寇住幸福:父親居然饒恕侵犯我的人!多年後我才知...|《寇住幸福》第23集|仇敵的詭計(23)(普) | 30m | ||
| 19:00 | 家庭8點檔轉轉發現愛:孩子管不動?爸媽真沒轍(541)(普) | 50m | ||
| 19:50 | 機智青年生活:三十歲職場生存遊戲(81)(普) | 10m | ||
| 20:00 | 遇見祝福:你們放心!是我,不要怕!(10)(普) | 5m | ||
| 20:05 | 真情部落格:明光照耀(378)(普) | 55m | ||
| 21:00 | 道在人間-國語:學會擺脫憂慮(443)(普) | 1h | ||
| 22:00 | 奔向標竿(雙語)(188)(普) | 1h | ||
| 23:00 | 經典音樂河:Amazing Grace 奇異恩典(305)(普) | 20m | ||
| 23:20 | 愛我們的家:丈夫是婆媳間的關鍵橋樑(195)(普) | 10m | ||
| 23:30 | 寇住幸福:父親居然饒恕侵犯我的人!多年後我才知...|《寇住幸福》第23集|仇敵的詭計(23)(普) | 30m |
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_6cv00vm7/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_6cv00vm7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_6cv00vm7/history?from=2026-06-25T00:00:00Z&to=2026-06-26T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_6cv00vm7/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_6cv00vm7/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_6cv00vm7/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_6cv00vm7/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_3rq2j0sw", "channel": "ch_6cv00vm7", "start": "2026-10-18T16:00:00Z", "stop": "2026-10-18T16:15:00Z", "title": "經典音樂河:有福的確據(239)(普)", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 44, "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 | Thursday 25 June 2026 | 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.