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_1sfx1a2h/schedule?date=2026-10-11&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:20 | 송년회 메뉴 추천 특집부장님부터 MZ 사원까지 취향 저격인 송년회에 어울리는 진한 국물이 일품인 누룽지 닭백숙을 맛본다. 맛둥이 회원들과 함께 해 더 맛있는 회식 단골 메뉴 두... | 1h 20m | ||
| 00:40 | 태군 노래자랑태군 노래자랑 | 1h 20m | ||
| 02:00 | 명물인생각자만의 분야에서 오랜 시간과 노력을 기울여 달인의 경지에 오른 우리네 이웃들을 만나 이들의 땀방울과 삶을 들여다본다. | 30m | ||
| 02:30 | 명물인생각자만의 분야에서 오랜 시간과 노력을 기울여 달인의 경지에 오른 우리네 이웃들을 만나 이들의 땀방울과 삶을 들여다본다. | 30m | ||
| 03:00 | 스케치뷰스케치뷰 | 15m | ||
| 03:15 | 스케치뷰스케치뷰 | 15m | ||
| 03:30 | 뽕기충만 전국노래교실가수 성용하에게 그의 노래, '개똥아 밥먹어라'를 직접 배워볼 수 있는 특별한 노래 교실이 열리고, 왕탁의 앙코르곡 '달려라'도 만나본다. | 1h | ||
| 04:30 | 뽕기충만 전국노래교실미스터트롯 출신, 트로트계의 황소 김경민에게 그의 노래 '암행어사 출두여'를 직접 배울 수 있는 특별한 노래 교실이 열린다. | 55m | ||
| 05:25 | 눈에 띄는 그녀들눈에 띄는 그녀들 | 30m | ||
| 05:55 | 눈에 띄는 그녀들눈에 띄는 그녀들 | 30m | ||
| 06:25 | 눈에 띄는 그녀들눈에 띄는 그녀들 | 30m | ||
| 06:55 | 눈에 띄는 그녀들눈에 띄는 그녀들 | 30m | ||
| 07:25 | 눈에 띄는 그녀들눈에 띄는 그녀들 | 30m | ||
| 07:55 | 일본소박한 밥상부터 화려한 가이세키까지, 일본 음식에 스며든 불교의 영향력을 살펴보며 사찰음식의 원형을 추적한다. | 1h 15m | ||
| 09:10 | 전현무계획플라이투더스카이의 환희, 브라이언과 함께 맵기만 한 빨간 맛이 아닌, 맵찔이도 반할 강릉의 빨간 맛을 만끽한다. | 1h 40m | ||
| 10:50 | 이제 착하게 삽니다, 김기복 자연인시간이 멈추 듯한 산중 카페에서 호루라기 소리를 내며 등장한 신출귀몰의 자연인 김기복 씨를 만나본다. 후회가 많았던 인생을 정리하고 착하고 복되게 살기... | 1h 10m | ||
| 12:00 | 불편하고 즐겁게 자연인 박기철푹푹 찌는 여름날, 폭염 따위는 별것도 아니라는 듯 쉬지 않고 움직이면서 짜증스러운 표정 하나 보이지 않는 자연인 박기철 씨를 만난다. | 1h 10m | ||
| 13:10 | 송년회 메뉴 추천 특집부장님부터 MZ 사원까지 취향 저격인 송년회에 어울리는 진한 국물이 일품인 누룽지 닭백숙을 맛본다. 맛둥이 회원들과 함께 해 더 맛있는 회식 단골 메뉴 두... | 1h 25m | ||
| 14:35 | 탐정들의 영업비밀예복 업체의 사기로 피해 입은 예비부부들의 사연과 이를 해결하려는 탐정들의 노력과 의문의 사망 사건과 관련된 가족 간 불신을 조사하는 탐정의 활동을 보... | 1h 25m | ||
| 16:00 | 일본소박한 밥상부터 화려한 가이세키까지, 일본 음식에 스며든 불교의 영향력을 살펴보며 사찰음식의 원형을 추적한다. | 1h 15m | ||
| 17:15 | 당골집오랜 역사를 자랑하는 고창의 장어집을 찾아간다. 3대의 노력이 축적된 굽기 기술과 죽염으로 맛을 낸 고창 풍천장어를 만난다. | 30m | ||
| 17:45 | 불편하고 즐겁게 자연인 박기철푹푹 찌는 여름날, 폭염 따위는 별것도 아니라는 듯 쉬지 않고 움직이면서 짜증스러운 표정 하나 보이지 않는 자연인 박기철 씨를 만난다. | 1h 10m | ||
| 18:55 | 전현무계획플라이투더스카이의 환희, 브라이언과 함께 맵기만 한 빨간 맛이 아닌, 맵찔이도 반할 강릉의 빨간 맛을 만끽한다. | 1h 40m | ||
| 20:35 | 어디든 간대호어디든 간대호 | 1h 10m | ||
| 21:45 | 일본소박한 밥상부터 화려한 가이세키까지, 일본 음식에 스며든 불교의 영향력을 살펴보며 사찰음식의 원형을 추적한다. | 1h 15m | ||
| 23:00 | 태군 노래자랑태군 노래자랑 | 1h 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_1sfx1a2h/schedule?date=2026-10-11&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1sfx1a2h/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1sfx1a2h/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_1sfx1a2h/schedule?date=2026-10-11&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_1sfx1a2h/schedule?date=2026-10-11&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_1sfx1a2h/schedule", params={"date": "2026-10-11", "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_1sfx1a2h/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_wxvhk6my", "channel": "ch_1sfx1a2h", "start": "2026-10-10T14:20:00Z", "stop": "2026-10-10T15:40:00Z", "title": "송년회 메뉴 추천 특집", "sub_title": null, "description": "부장님부터 MZ 사원까지 취향 저격인 송년회에 어울리는 진한 국물이 일품인 누룽...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 26, "date": "2026-10-11", "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.