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_xnjshhk9/schedule?date=2026-10-13&tz=Asia/Taipei
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 公益時段/生活資訊公益時段/生活資訊 | 5h | ||
| 05:00 | 桃史漫遊-桃園職人魂(重播)桃史漫遊-桃園職人魂(重播) | 30m | ||
| 05:30 | 桃史漫遊-桃園職人魂桃史漫遊-桃園職人魂 | 30m | ||
| 06:00 | 桃園心晴天 On now桃園心晴天 | 30m | ||
| 06:30 | 桃園施政成果及城市意象桃園施政成果及城市意象 | 30m | ||
| 07:00 | T-NEWS聯播新聞大豐有線電視與台灣寬頻合作,打破經營區藩籬限制,整合打造T-NEWS聯播網。聯播網將串聯新北、桃園、新竹、苗栗、台中及高雄6個縣市,包含交通建設、教育社福... | 1h | ||
| 08:00 | 桃園新聞桃園新聞 | 30m | ||
| 08:30 | 2025桃園培力坊學員成果新聞2025桃園培力坊學員成果新聞 | 30m | ||
| 09:00 | 新北社造咖新北社造咖 | 30m | ||
| 09:30 | 時時嗑客遊桃園節目帶領觀眾走訪桃園客庄景點,透過主持人導覽與趣味互動,在輕鬆氛圍中學客語、品文化,感受道地客家風情。 | 30m | ||
| 10:00 | 風傳媒桃園地方文化 PODCAST風傳媒桃園地方文化 PODCAST | 1h | ||
| 11:00 | 神氣家族神氣家族 | 30m | ||
| 11:30 | 神氣家族神氣家族 | 30m | ||
| 12:00 | 法相山(重播)法相山(重播) | 30m | ||
| 12:30 | 法相山(重播)法相山(重播) | 30m | ||
| 13:00 | 共下來講客—客語能力認證課程共下來講客—客語能力認證課程 | 1h | ||
| 14:00 | 桃園新聞桃園新聞 | 30m | ||
| 14:30 | 桃園城市紀錄片培訓作品(重播)桃園城市紀錄片培訓作品(重播) | 30m | ||
| 15:00 | 好客好歌線上學好客好歌線上學 | 30m | ||
| 15:30 | 桃園市性別平等影像女性宣傳影片(重播 )桃園市性別平等影像女性宣傳影片(重播 ) | 30m | ||
| 16:00 | 民代心在地情民代心在地情 | 30m | ||
| 16:30 | 小小智攻隊小小智攻隊 | 30m | ||
| 17:00 | 桃園新聞桃園新聞 | 30m | ||
| 17:30 | 時時嗑客遊桃園節目帶領觀眾走訪桃園客庄景點,透過主持人導覽與趣味互動,在輕鬆氛圍中學客語、品文化,感受道地客家風情。 | 30m | ||
| 18:00 | 共下來講客—客語能力認證課程共下來講客—客語能力認證課程 | 1h | ||
| 19:00 | 青春還鄉2024青春還鄉2024 | 1h | ||
| 20:00 | 桃園新聞桃園新聞 | 30m | ||
| 20:30 | 美栗大觀園美栗大觀園 | 30m | ||
| 21:00 | 共下來講客—客語能力認證課程共下來講客—客語能力認證課程 | 1h | ||
| 22:00 | 青春還鄉2024青春還鄉2024 | 1h | ||
| 23:00 | 桃園施政成果及城市意象桃園施政成果及城市意象 | 30m | ||
| 23:30 | 桃史漫遊-桃園職人魂桃史漫遊-桃園職人魂 | 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_xnjshhk9/schedule?date=2026-10-13&tz=Asia/Taipei" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xnjshhk9/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xnjshhk9/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_xnjshhk9/schedule?date=2026-10-13&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_xnjshhk9/schedule?date=2026-10-13&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_xnjshhk9/schedule", params={"date": "2026-10-13", "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_xnjshhk9/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_k01zp1cm", "channel": "ch_xnjshhk9", "start": "2026-10-12T16:00:00Z", "stop": "2026-10-12T21:00:00Z", "title": "公益時段/生活資訊", "sub_title": null, "description": "公益時段/生活資訊", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 32, "date": "2026-10-13", "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.