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/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_g507481r/schedule?date=2026-10-15&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:00 | 범죄도시 | 영화, 액션 | 2h 10m | |
| 22:50 | 천박사 퇴마 연구소: 설경의 비밀 | 영화, 환상/sf | 3h 50m | |
| 00:10 | 스타쉽 트루퍼스세계적인 SF작가 로버트 하인라인의 동명 소설을 영화화한 작품. lt;원초적 본능gt;의 폴 버호벤 감독이 SF에 복귀한 작품으로, 총 1억 5천만 달러가 투입된 ... | 영화, 환상/sf | 2h 40m | |
| 02:40 | 뺑반Hit and Run 상황 발생, 순마 출동합니다! | 영화, 액션 | 2h 30m | |
| 02:50 | 더 수어사이드 스쿼드 | 영화, 액션 | 2h 30m | |
| 05:10 | 애니멀 킹덤 | 영화, 미스터리/스릴러 | 2h 20m | |
| 05:20 | 굿모닝 | 영화, 드라마 | 1h 50m | |
| 07:10 | 우리들의 교복시절 | 영화, 드라마 | 2h | |
| 07:30 | 장난을 잘 치는 타카기 양 | 영화, 코미디 | 2h 10m | |
| 09:10 | 존 윅 4 | 영화, 액션 | 3h | |
| 09:40 | 핸섬가이즈 | 영화, 코미디 | 2h | |
| 11:40 | 유령 | 영화, 액션 | 2h 20m | |
| 12:10 | 밀수 | 영화, 액션 | 2h 20m | |
| 14:00 | 트랜스포머:최후의 기사 | 영화, 액션 | 2h 40m | |
| 14:30 | 성난황소 | 영화, 액션 | 2h 10m | |
| 16:40 | 스트리트 파이터세계적으로 커다란 인기를 누리던 컴퓨터 게임을 영화화. 장 끌로드 반담의 화려한 액션연기와 lt;아담스 패밀리gt;lt;거미여인의 키스gt; 등에서 개성적인 ... | 영화, 액션 | 1h 50m | |
| 18:30 | 킹덤 오브 헤븐 | 영화, 액션 | 2h 30m | |
| 18:40 | 탑 건:매버릭 | 영화, 드라마 | 2h 20m | |
| 21:00 | 극한직업낮에는 치킨장사! 밤에는 잠복근무! 지금까지 이런 수사는 없었다! 범인을 잡을 것인가, 닭을 잡을 것인가! | 영화, 코미디 | 2h | |
| 23:00 | 비키퍼 | 영화, 액션 | 3h | |
| 23:50 | 더 이퀄라이저낮에는 평범한 마트 직원이지만 밤이 되면 세상의 심판자로 나서는 이퀄라이저의 거친 활약을 그린 하드보일드 액션 | 영화, 액션 | 2h 20m |
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_g507481r/schedule?date=2026-10-15&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_g507481r/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_g507481r/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_g507481r/schedule?date=2026-10-15&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_g507481r/schedule?date=2026-10-15&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_g507481r/schedule", params={"date": "2026-10-15", "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_g507481r/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_yse4vazw", "channel": "ch_g507481r", "start": "2026-10-14T13:00:00Z", "stop": "2026-10-14T15:10:00Z", "title": "범죄도시", "sub_title": null, "description": null, "category": [ "영화", "액션" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 21, "date": "2026-10-15", "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 |
|---|---|---|
| 23:00 | 야당 | 영화, 미스터리/스릴러 |
| 01:20 | 데스티네이션 | 영화, 공포 |
| 03:00 | 나쁜 녀석들:악의 도시 | 드라마, 액션 |
| 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.