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_k9kzks84/schedule?date=2026-10-15&tz=Asia/Tokyo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 今日の調教 #899「秋華賞、富士S 他」. | 30m | ||
| 00:30 | 先週のレースリプレイ「第4回東京競馬第3・4・5日、第4回京都競馬第3・4・5日」. | 3h | ||
| 03:30 | 今日の調教 #899「秋華賞、富士S 他」. | 30m | ||
| 04:00 | GC番宣・ロゴ・カラーバー | 2h 30m | ||
| 06:30 | カラーバー・GCロゴ | 30m | ||
| 07:00 | がんばる!畜産!9 #19「特別編 ヨーロッパアルプ酪農 総集編」. | 30m | ||
| 07:30 | がんばる!畜産!8 #8「特別編 「ヨーロッパアルプ酪農の力とチーズ街道〜オーストリア」」. | 30m | ||
| 08:00 | がんばる!畜産!7 #8「なるほど!畜産現場 東京食肉市場まつり2023&2023動物感謝デー」. | 30m | ||
| 08:30 | がんばる!畜産!6 #8「畜産DX 養鶏編 エッグファームオートメーション」. | 30m | ||
| 09:00 | グリーンチャンネル傑作選(須田鷹雄と梅田陽子のアイルランド競馬紀行) #83「須田鷹雄と梅田陽子のアイルランド競馬紀行」. | 1h | ||
| 10:00 | 新・馬学講座ホースアカデミー #115「サラブレッドの最新遺伝学〜近親交配の影響〜」. | 30m | ||
| 10:30 | Green Healing大自然の中でのびのびと過ごす馬の姿をお届けします。. | 30m | ||
| 11:00 | 新・競馬ワンダラー3 #12本州最涯の地へ…【2016年放送】. | 30m | ||
| 11:30 | 草野仁のGate J.プラス(稲村亜美 前編) #305「稲村亜美(前編)」. | 30m | ||
| 12:00 | 栄光の名馬たちセレクション(エリモシック)#107「エリモシック」. | 1h | ||
| 13:00 | 栄光の名馬たちセレクション(ステージチャンプ)#100「ステージチャンプ」. | 1h | ||
| 14:00 | 栄光の名馬たちセレクション(ダンスパートナー)#101「ダンスパートナー」. | 1h | ||
| 15:00 | 馬産地通信 #354「サマーセールリポート(2)&育成馬便り&活躍馬のふるさと」. | 30m | ||
| 15:30 | [生]グリーンチャンネル地方競馬中継(園田オータムトロフィー・園田)園田オータムトロフィー(園田). | 1h 30m | ||
| 17:00 | [生]GCH地方競馬中継(YJSトライアルラウンド川崎、ゴールド争覇・名古屋)ヤングジョッキーズシリーズトライアルラウンド川崎. | 2h | ||
| 19:00 | スタリオンライブラリー #93「ベンバトル、フォーウィールドライブ」. | 30m | ||
| 19:30 | 競馬場の達人(吉村裕基) #618「吉村裕基」. | 30m | ||
| 20:00 | 重賞メモリアル #1033当該週に行われる重賞競走の過去のレース映像をお届けします。. | 1h | ||
| 21:00 | 井上咲楽のうままち散歩〜第3弾!永島まなみ騎手と一緒に、栗東うま飯クッキング!「うままち散歩第3弾は栗東TC、永島まなみ騎手とクッキング!」. | 30m | ||
| 21:30 | 草野仁のGate J.プラス(稲村亜美 後編) #306「稲村亜美(後編)」. | 30m | ||
| 22:00 | 今週の調教 #926「秋華賞、富士S 他」. | 1h | ||
| 23:00 | トレセンまるごと情報局 #576東西トレセンからの取れたて情報をお届け!. | 1h |
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_k9kzks84/schedule?date=2026-10-15&tz=Asia/Tokyo" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_k9kzks84/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_k9kzks84/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_k9kzks84/schedule?date=2026-10-15&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_k9kzks84/schedule?date=2026-10-15&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_k9kzks84/schedule", params={"date": "2026-10-15", "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_k9kzks84/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_fy0de68q", "channel": "ch_k9kzks84", "start": "2026-10-14T15:00:00Z", "stop": "2026-10-14T15:30:00Z", "title": "今日の調教 #899", "sub_title": null, "description": "「秋華賞、富士S 他」.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 27, "date": "2026-10-15", "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.