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_v0argw52/schedule?date=2026-10-18&tz=Asia/Tokyo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | [録]プロ野球 阪神−ファーストステージ勝者スカイA猛虎中継 2026 JERA クライマックスシリーズ セ ファイナルステージ 【同日録画】第4戦 阪神−ファーストステージ勝者 PB:14:00 @甲子園球場 | 4h | ||
| 03:00 | 菅原大地のサイコーSWING シーズン3 #2シーズン3 #2 サイコードライバー▽出演:菅原大地プロ、黒田カントリークラブ | 15m | ||
| 03:15 | ゴルフギアQ年間試打本数2000本以上、ゴルフ誌で活躍のクラブフィッター鹿又芳典がドライバーからウェッジまで、クラフトマンシップ溢れる ギアを紹介▽出演:鹿又芳典、や... | 15m | ||
| 03:30 | 登山で頂きメシ!#96#96 弓立山(埼玉県) 原田龍二▽日本各地の山を登り、自然を満喫、山頂を目指します。絶景の中頂きで食べる絶賛グルメとは! | 30m | ||
| 04:00 | 遠藤章造VS.GOLF! SEASON6#264#264 遠藤章造(ココリコ)と月替りのゲストが番組グランドチャンピオン決定戦への出場権を賭けてプロに挑戦! | 30m | ||
| 04:30 | インフォメーション | 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_v0argw52/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_v0argw52/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_v0argw52/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_v0argw52/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_v0argw52/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_v0argw52/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_v0argw52/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_rpyyg96b", "channel": "ch_v0argw52", "start": "2026-10-17T14:00:00Z", "stop": "2026-10-17T18:00:00Z", "title": "[録]プロ野球 阪神−ファーストステージ勝者", "sub_title": null, "description": "スカイA猛虎中継 2026 JERA クライマックスシリーズ セ ファイナルステージ\n【同...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 6, "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.