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/Seoul time, what is on now and next, and the same data in your app with one call.
All times Asia/Seoul. The same day from the API: GET /v1/channels/ch_9tbq8jax/schedule?date=2026-10-13&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:14 | 사랑을 위한 여행낯선 세 남녀가 ‘사랑을 위한 여행'을 시작했다! 세상으로부터 버림받은 소년과 소녀가 만나 무작정 길을 나섰다. 그들은 6년 만에 세상으로 나와 떠나야만 ... | 1h 48m | ||
| 00:01 | 울프 하운드코드네임 ‘울프 하운드' 런던 폭격을 막기 위한 비밀 전투 실화 연합군의 전투비행단이 독일 전투기에 급습을 당한다. 홀로 적진에 추락한 파일럿은 독일군의... | 2h 26m | ||
| 02:27 | 익스트림 라이더스맥스와 에이작 등 최고의 스피드 모터사이클 선수들이 유력한 정치인 디멜로가 개최하는 대형 모토사이클 레이싱 모터애슬론에 초대된다. 승리를 자축하던 맥... | 1h 59m | ||
| 04:26 | 고검기담요괴 출몰로 장안으로 급파된 천재수사관 '우황'. 그곳에서 만난 신녀 '음노'와 요괴를 물리친 후 각자의 목적을 안고 회수촌으로 향한다. 기이한 사건이 꼬... | 1h 23m | ||
| 05:49 | 우리 사랑이 향기로 남을 때 On now코 끝에서 시작되는 달콤한 사랑?! 삶에 치여 제대로 된 연애 한 번 못해본 남자 ‘창수'(윤시윤) 낯선 이에게 받은 향수를 뿌리자마자 여자들이 달려든다?! ... | 2h 2m | ||
| 07:50 | 버추얼 게임'첨단 저택에서 벌어지는 인공지능과의 승부!' 다섯 명의 학생들이 괴짜 억만장자 버츄의 첨단 저택을 차지하기 위한 경쟁에 초대된다. 자신들 간의 경쟁이라... | 1h 49m |
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_9tbq8jax/schedule?date=2026-10-13&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9tbq8jax/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9tbq8jax/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_9tbq8jax/schedule?date=2026-10-13&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_9tbq8jax/schedule?date=2026-10-13&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_9tbq8jax/schedule", params={"date": "2026-10-13", "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_9tbq8jax/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_y5p1xffe", "channel": "ch_9tbq8jax", "start": "2026-10-12T13:14:04Z", "stop": "2026-10-12T15:01:49Z", "title": "사랑을 위한 여행", "sub_title": null, "description": "낯선 세 남녀가 ‘사랑을 위한 여행'을 시작했다! 세상으로부터 버림받은 소년과 소...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 6, "date": "2026-10-13", "tz": "Asia/Seoul" } }
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.