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_qhs82h9p/schedule?date=2026-10-19&tz=Asia/Tokyo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | ナゴ酒メシ 格式の高いお店へ『番組初!格式の高いお店へ 摩訶不思議!?同じお酒で味比べ』。人気お笑い芸人・おいでやす小田が、名古屋の街で“旨い酒&絶品メシ”を堪能します | 30m | ||
| 00:30 | ナゴ酒メシ とにかく明るい安村さん登場『初恋の味!?甘酸っぱい一杯 とにかく明るい安村さん登場!』。人気お笑い芸人・おいでやす小田が、名古屋の街で“旨い酒&絶品メシ”を堪能します | 30m | ||
| 01:00 | 田舎で暮らそう 三重県伊勢志摩より今やブームとも言える「移住」。自分や家族の生き方を見直し移住を選択する人びとや受け入れる地域の現在を地域の魅力と共に伝えます <ナレーション:紺野... | 30m | ||
| 01:30 | 田舎で暮らそう 佐賀県伊万里より今やブームとも言える「移住」。自分や家族の生き方を見直し移住を選択する人びとや受け入れる地域の現在を地域の魅力と共に伝えます <ナレーション:紺野... | 30m | ||
| 02:00 | ふるさと選 富山県秋の便り全国各地のケーブルテレビ局から届いた美しい風景や名所旧跡などの映像を、心地よい自然の音やBGMにのせてお届けします | 30m | ||
| 02:30 | ふるさと選 冬の北海道 東川町全国各地のケーブルテレビ局から届いた美しい風景や名所旧跡などの映像を、心地よい自然の音やBGMにのせてお届けします | 30m | ||
| 03:00 | ふるさと選 東京都江東区・中央区百景 2全国各地のケーブルテレビ局から届いた美しい風景や名所旧跡などの映像を、心地よい自然の音やBGMにのせてお届けします | 30m | ||
| 03:30 | ふるさと選 静岡県岳南鉄道・大井川鐵道全国各地のケーブルテレビ局から届いた美しい風景や名所旧跡などの映像を、心地よい自然の音やBGMにのせてお届けします | 30m | ||
| 04:00 | ふるさと選 東京都東京クルージング旅全国各地のケーブルテレビ局から届いた美しい風景や名所旧跡などの映像を、心地よい自然の音やBGMにのせてお届けします | 30m | ||
| 04:30 | ふるさと選 長野県雪国いいやまの風景 1全国各地のケーブルテレビ局から届いた美しい風景や名所旧跡などの映像を、心地よい自然の音やBGMにのせてお届けします | 20h 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_qhs82h9p/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_qhs82h9p/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qhs82h9p/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qhs82h9p/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_qhs82h9p/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_qhs82h9p/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_qhs82h9p/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_k4hnbzzc", "channel": "ch_qhs82h9p", "start": "2026-10-18T15:00:00Z", "stop": "2026-10-18T15:30:00Z", "title": "ナゴ酒メシ 格式の高いお店へ", "sub_title": null, "description": "『番組初!格式の高いお店へ 摩訶不思議!?同じお酒で味比べ』。人気お笑い芸人...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 10, "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.