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/Tokyo 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/Tokyo. The same day from the API: GET /v1/channels/ch_8955a4gm/schedule?date=2026-10-19&tz=Asia/Tokyo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 横浜市長選挙開票速報 | 10m | ||
| 00:10 | weather report県内の天気予報 | 5m | ||
| 00:15 | 有村劇場3.0▽オデュッセイア映画コメンテーター有村昆がいま一番オススメの映画の見どころを紹介! | 15m | ||
| 00:30 | 秋季関東地区高校野球ダイジェスト | 30m | ||
| 01:00 | 横浜市長選挙開票速報 | 10m | ||
| 01:10 | weather report県内の天気予報 | 5m | ||
| 01:15 | どすこいすしずもう[再]もしも、おすしがすもうをとったら……? そんな奇天烈な発想からうまれた、絵本作家・アンマサコによる「どすこいすしずもう」。 | 15m | ||
| 01:30 | 弱気MAX令嬢なのに、辣腕婚約者様の賭けに乗ってしまったモブ悪役令嬢なのに、溺愛が止まらない…!?シリーズ累計120万部、「小説家になろう」発の大人気悪役令嬢系溺愛ラブコメディが、待望のTVアニメ化決定! | 30m | ||
| 02:00 | ごりやくさん▽下鴨神社[字][再]全国各地の「御利益(ごりやく)が得られる」として有名な神社を訪問、その御利益の形を紐解き、歴史や風土を紹介する、あらたな視点の紀行番組です。 | 25m | ||
| 02:25 | PPV最新のミュージックビデオを紹介 | 5m | ||
| 02:30 | weather report県内の天気予報 | 5m | ||
| 02:35 | あおほしイラストレーター、キン・シオタニが描く神奈川発・地球環境アニメーション | 1h 25m | ||
| 04:00 | 朝の周波数カードアルバム「青を込めて」 宇雪 | 25m | ||
| 04:25 | ドロンコロンあすの地球と子どもたちのために・・神奈川発・地球環境アニメーション | 5m | ||
| 04:30 | weather report県内の天気予報 | 5m | ||
| 04:35 | 日本ふるさと百景▽群馬編3[字]豊かな自然を有する独立放送局のエリアの魅力をハイビジョン映像で紹介する。 | 20h 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_8955a4gm/schedule?date=2026-10-19&tz=Asia/Tokyo" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8955a4gm/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8955a4gm/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_8955a4gm/schedule?date=2026-10-19&tz=Asia/Tokyo"); 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_8955a4gm/schedule?date=2026-10-19&tz=Asia/Tokyo", { 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_8955a4gm/schedule", params={"date": "2026-10-19", "tz": "Asia/Tokyo"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_8955a4gm/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_efjv0rt0", "channel": "ch_8955a4gm", "start": "2026-10-18T15:00:00Z", "stop": "2026-10-18T15:10:00Z", "title": "横浜市長選挙開票速報", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 16, "date": "2026-10-19", "tz": "Asia/Tokyo" } }
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.