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_p7md85t6/schedule?date=2026-10-18&tz=Asia/Tokyo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 【講談】神田香織「哀しみの母子像」神田伊織「被爆太郎の物語」〜師弟講談会!世界に紛争が蔓延する不穏な時代だからこそ伝えたい!戦争の愚かしさや悲惨さを訴え続けている人気女流講談師が久々登場。東大大学院卒の愛弟子と共に反戦講... | 1h 30m | ||
| 01:30 | 今年は午年!深川の春 浅草午歳五人男〜小志ん・鶴遊・一太郎・岡大介・猪馬ぽん太午年生まれの人気者が結集!柳家小志ん「落語:馬大家」田辺鶴遊「講談:孝女秋色」東家一太郎「浪曲野狐三次 大井川の義侠」岡大介「カンカラ三線」猪馬ぽん... | 2h | ||
| 03:30 | 春風亭昇々「待ちわびて」〜一世を風靡した「成金」の一人が真打昇進後初登場!イケメン落語家ランキング2年連続1位、でも実は、オタクでシャイ?春風亭昇太の弟子・昇々が繰り拡げる『昇々ワールド』を存分お届け。 | 30m | ||
| 04:00 | 三遊亭丈助「なまはげ小噺〜八九升/師匠と私」〜波乱万丈!懸命のリハビリが奇跡を!新作落語の神様・三遊亭円丈に憧れ42歳で脱サラして入門、還暦間際の59歳で史上最年長新真打に。脳梗塞の病に倒れて以来初の独演会を堂々開催! | 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_p7md85t6/schedule?date=2026-10-18&tz=Asia/Tokyo" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_p7md85t6/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_p7md85t6/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_p7md85t6/schedule?date=2026-10-18&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_p7md85t6/schedule?date=2026-10-18&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_p7md85t6/schedule", params={"date": "2026-10-18", "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_p7md85t6/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_rgzt654r", "channel": "ch_p7md85t6", "start": "2026-10-17T15:00:00Z", "stop": "2026-10-17T16:30:00Z", "title": "【講談】神田香織「哀しみの母子像」神田伊織「被爆太郎の物語」〜師弟講談会!", "sub_title": null, "description": "世界に紛争が蔓延する不穏な時代だからこそ伝えたい!戦争の愚かしさや悲惨さを訴...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 4, "date": "2026-10-18", "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 | 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.