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/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_x69hqzhh/schedule?date=2026-10-19&tz=Asia/Tokyo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 仰天!運び屋vs取締屋in全米エアポート 6「人身売買大捜査線」空港ではカルテルの関係者を追い、テロ予告により逮捕状の出た乗客を拘束。捜査局は人身売買の捜査で容疑者を逮捕し被害者を救う。検問所では不審な車から薬... | 1h | ||
| 01:00 | 密着!空港警察:南アメリカ「抵抗する容疑者たち」反抗的な態度の容疑者がX線検査を前に妊娠していると衝撃の告白をする。妄想的な発言を繰り返す容疑者の持ち物から薬が発見され、精神障害を持っている可能性... | 1h | ||
| 02:00 | 衝撃!カメラが捉えた海の巨大嵐「日本を襲った台風 ハギビス」24時間以内という異例のスピードで熱帯低気圧から台風へと発達した「ハギビス」。向かう先には日本が。さらにその先にはタラバガニ漁が行われるベーリング海... | 1h | ||
| 03:00 | メーデー:重大航空機事故を回避せよ!「ブリティッシュミッドランド航空92便」47名の犠牲者を出したブリティッシュ・ミッドランド航空92便不時着事故の原因は、単純かつ重大な判断ミスだった。どうすればミスを避けて、無事に着陸できた... | 1h | ||
| 04:00 | 衝撃の瞬間6「エベレスト大量遭難事故」2011年制作/エベレスト下山途中で起きた大量遭難事故。原因は、猛烈な吹雪と人為的ミスによるものだった。気象条件や登山者の心理など、高地での危険性を検... | 21h |
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_x69hqzhh/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_x69hqzhh/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x69hqzhh/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_x69hqzhh/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_x69hqzhh/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_x69hqzhh/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_x69hqzhh/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_wm2vvedz", "channel": "ch_x69hqzhh", "start": "2026-10-18T15:00:00Z", "stop": "2026-10-18T16:00:00Z", "title": "仰天!運び屋vs取締屋in全米エアポート 6「人身売買大捜査線」", "sub_title": null, "description": "空港ではカルテルの関係者を追い、テロ予告により逮捕状の出た乗客を拘束。捜査局...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 5, "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.