74.6M 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/Seoul 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/Seoul. The same day from the API: GET /v1/channels/ch_awsmkae9/schedule?date=2026-10-20&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:50 | 시카고 PD 시즌13 | 드라마, 미스터리/스릴러 | 50m | |
| 00:40 | 악녀한 조직 전체를 살인한 사건으로 경찰에 잡힌 숙희. 킬러로 자란 그녀는 숙희는 국정원에 비밀 스카우트되어 새로운 인생을 살게 된다. 얼굴도 고치고, 본격... | 영화, 액션 | 2h 40m | |
| 03:20 | 모리타니안 | 영화, 미스터리/스릴러 | 2h 30m | |
| 05:50 | 하이재킹 | 영화, 액션 | 2h | |
| 07:50 | NCIS 시즌9해군과 해병대에 연루된 범죄들을 해결하는 특수수사팀의 이야기를 그린 드라마 | 드라마, 미스터리/스릴러 | 1h | |
| 08:50 | NCIS 시즌9해군과 해병대에 연루된 범죄들을 해결하는 특수수사팀의 이야기를 그린 드라마 | 드라마, 미스터리/스릴러 | 1h | |
| 09:50 | NCIS 시즌9해군과 해병대에 연루된 범죄들을 해결하는 특수수사팀의 이야기를 그린 드라마 | 드라마, 미스터리/스릴러 | 1h | |
| 10:50 | 악마와의 토크쇼 | 영화, 공포 | 2h | |
| 12:50 | 시카고 PD 시즌13 | 드라마, 미스터리/스릴러 | 1h | |
| 13:50 | 시카고 PD 시즌13 | 드라마, 미스터리/스릴러 | 1h 10m | |
| 15:00 | 미션 파서블 | 영화, 액션 | 2h | |
| 17:00 | 리틀 포레스트 | 영화, 드라마 | 2h | |
| 19:00 | 스즈메의 문단속 | 영화, 애니메이션 | 2h 10m | |
| 21:10 | 공공의 적 2 | 영화, 액션 | 2h 50m |
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_awsmkae9/schedule?date=2026-10-20&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_awsmkae9/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_awsmkae9/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_awsmkae9/schedule?date=2026-10-20&tz=Asia/Seoul"); 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_awsmkae9/schedule?date=2026-10-20&tz=Asia/Seoul", { 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_awsmkae9/schedule", params={"date": "2026-10-20", "tz": "Asia/Seoul"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_awsmkae9/schedule?date=2026-10-20, the first programme { "data": [ { "id": "ls_c8t5g1ec", "channel": "ch_awsmkae9", "start": "2026-10-19T14:50:00Z", "stop": "2026-10-19T15:40:00Z", "title": "시카고 PD 시즌13", "sub_title": null, "description": null, "category": [ "드라마", "미스터리/스릴러" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-20", "tz": "Asia/Seoul" } }
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 |
|---|---|---|
| 22:00 | 범죄도시 | 영화, 액션 |
| 00:20 | 파묘 | 영화, 미스터리/스릴러 |
| 02:50 | 오아시스 | 영화, 드라마 |
| 11 more programmes that day, on Archive | ||
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.