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/Shanghai 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/Shanghai. The same day from the API: GET /v1/channels/ch_1xktpmyv/schedule?date=2026-10-18&tz=Asia/Shanghai
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 正点财经 | 1h 2m | ||
| 01:02 | 无辣不欢1-6分版 | 6m | ||
| 01:08 | 2026精品财经纪录-味道大师3 | 33m | ||
| 01:41 | 精品财经纪录-小酸村4 | 26m | ||
| 02:07 | 精品财经纪录-小酸村5 | 28m | ||
| 02:34 | 精品财经纪录-千年陕菜第二季3 | 25m | ||
| 03:00 | 舆图探山河-2 | 1h | ||
| 04:00 | 食安中国-2026-5 | 30m | ||
| 04:30 | 经济信息联播 | 1h | ||
| 05:30 | 对话-2026-40 | 46m | ||
| 06:16 | 大国重器-实业答卷-3 | 16m | ||
| 06:32 | 2026精品财经纪录-中国民居第三季-3 | 26m | ||
| 06:57 | 赢在AI+(第二季)-9 | 1h 35m | ||
| 08:32 | 2026精品财经纪录-神奇的嫦娥五号2 | 30m | ||
| 09:02 | 晋在眼前1-15分版 | 15m | ||
| 09:17 | 大国重器-实业答卷-3 | 17m | ||
| 09:34 | 舆图探山河-2 | 59m | ||
| 10:33 | 职场健康课-2026-41 | 58m | ||
| 11:31 | 对话-2026-40 | 45m | ||
| 12:16 | 天山通途-2 | 30m | ||
| 12:46 | 中国经济大讲堂-2026-39 | 46m | ||
| 13:32 | 回家吃饭-2026-210 | 27m | ||
| 13:59 | 经济信息联播 | 1h 1m | ||
| 15:00 | 第一时间 | 2h 2m | ||
| 17:02 | 职场健康课-2026-41 | 58m | ||
| 18:00 | 正点财经 | 30m | ||
| 18:30 | 经济半小时 | 27m | ||
| 18:57 | 精品财经纪录-日出之食第四季1 | 20m | ||
| 19:17 | 精品财经纪录-日出之食第四季2 | 20m | ||
| 19:37 | 2026精品财经纪录-大地餐桌8 | 23m | ||
| 20:00 | 天下财经 | 1h 1m | ||
| 21:01 | 中国经济大讲堂-2026-39 | 44m | ||
| 21:44 | 人类记忆中国的世界遗产2-15分版 | 16m | ||
| 22:00 | 正点财经 | 32m | ||
| 22:32 | 舆图探山河-2 | 59m | ||
| 23:31 | 奇妙中国第二季7-2分版 | 4m | ||
| 23:35 | 精品财经汇-2026-722 | 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_1xktpmyv/schedule?date=2026-10-18&tz=Asia/Shanghai" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1xktpmyv/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1xktpmyv/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_1xktpmyv/schedule?date=2026-10-18&tz=Asia/Shanghai"); 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_1xktpmyv/schedule?date=2026-10-18&tz=Asia/Shanghai", { 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_1xktpmyv/schedule", params={"date": "2026-10-18", "tz": "Asia/Shanghai"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_1xktpmyv/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_2gn0s30j", "channel": "ch_1xktpmyv", "start": "2026-10-17T16:00:00Z", "stop": "2026-10-17T17:02:10Z", "title": "正点财经", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 37, "date": "2026-10-18", "tz": "Asia/Shanghai" } }
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.