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_qgkj5gcw/schedule?date=2026-10-11&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:50 | TV 동물농장 1200회▶ 노부부와 새끼냥이 해피 : 노부부의 아픈 손가락 <해피>, 해피에게도 기적이 찾아올 수 있을까?노부부의 새끼 고양이 <해피>! 뒷다리에 붕대를 감고 힘겹게... | 입이 짧아도 너~무 짧은 라떼 | 1h 10m | |
| 00:01 | TV 동물농장 1201회▶ 부산 불법 번식장 1부 [지옥의 현장] : 은밀히 숨겨진 개들의 지옥! 그 첫 번째 이야기!▶ 진순아 같이 살자! : 돌무덤 근처를 떠나지 않는 <진순이>. 녀석... | 진순아 같이 살자! | 1h 9m | |
| 01:10 | TV 동물농장 1202회▶ 왕커개 11마리랑 사는 법 (feat. 질투왕 달이) : 엄마 껌딱지 쉽독 <달이>! 그가 질투왕이 될 수밖에 없었던 이유!쉽독부터 버니즈마운틴독까지 대형견 11... | 냥좌의 게임 | 1h 10m | |
| 02:20 | TV 동물농장 1204회▶ 냥좌의 게임 2 : 집 나가면 냥고생(?)! <잘난 척>이 자꾸만 가출을 감행하는 이유는?▶ 복권집 마스코트 고양이 : 복권 1등의 비결이 뭐냐옹~? 행운을 부르... | 복권집 마스코트 고양이 | 1h 11m | |
| 03:31 | TV 동물농장 1197회▶ 미용실에서 출산 준비하냥 : 5 꼬물이 단골 예약할게요~ 미용실에서 벌어지는 <애기>의 깜짝 출산 프로젝트!미용실을 제집처럼 드나드는 길고양이 <애기>가... | 이건 사랑일까? 단짝 ‘고란희' | 1h 11m | |
| 04:42 | TV 동물농장 1198회▶ 바닥 껌딱지냥 루피 : 바닥과 한 몸이 되고 싶다냥~ 못 말리는 바닥 러버, <루피>!이보다 희한한 견공이 있을까?! 7마리의 강아지와 함께 사는 아톰이에게... | 바닥 껌딱지냥 루피 | 1h 9m | |
| 05:51 | TV 동물농장 1199회24년간 <동물농장>의 목소리를 담당한 성우 안지환이 ‘말하는 강아지'의 비밀을 밝히기 위해 전문가들과 만났다. 조삼래 교수는 ‘말하는' 앵무새까지 등장시... | 옷장 속 크림이! 이제 그만 나오라옹~ | 1h 9m | |
| 07:00 | TV 동물농장 1200회▶ 입이 짧아도 너~무 짧은 라떼 : 도무지 이유를 알 수 없는 단식 투쟁(?)! “제발 밥 좀 먹어줘 라떼야~”▶ 노부부와 새끼냥이 해피 : 노부부의 아픈 손가락 <... | 입이 짧아도 너~무 짧은 라떼 | 1h 10m | |
| 08:11 | TV 동물농장 1201회들판 한가운데 의문의 돌무덤과 그 곁을 떠나지 않는 견공 <진순이>. 자신의 몸보다 몇 배나 큰 돌덩이를 등지고 무언가를 지키듯 머물고 있다. 3년째 밥만 ... | 진순아 같이 살자! | 1h 9m | |
| 09:20 | TV 동물농장 1202회집과 마당에서 무려 25마리의 고양이가 사는 고양이 파라다이스. 하지만 대장 고양이 <까망이>와 피해묘 <둥이>의 전쟁은 끝나지 않고 있다. 24시간 둥이만 ... | 냥좌의 게임 | 1h 10m | |
| 10:30 | TV 동물농장 1204회아저씨만 졸졸 따라다니던 견공 <복실이>가 어느 순간 집 뒤로 사라졌다! 그런데 그곳엔 복실이를 쏙 빼닮은 새하얀 꼬물이들이 있었는데! 놀랍게도 매년 출... | 복권집 마스코트 고양이 | 1h 11m | |
| 11:41 | TV 동물농장 1197회▶ 좀비 개가 나타났다?! : 마을을 공포로 몰아넣은 기괴한 몰골의 개! 끔찍한 외모 뒤에 숨겨진 비밀은?!야생 고라니와 사람이 둘도 없는 친구가 될 수 있을... | 이건 사랑일까? 단짝 ‘고란희' | 1h 11m | |
| 12:51 | TV 동물농장 1198회▶ 밥그릇 응가 테러(?)견 아톰 : 누가 내 밥그릇에 똥 쌌어?! 식사 시간만 되면 벌어지는 밥그릇 대참사!▶ 할머니와 누더기견 북극이 : 10년간 경계 모드 ON!... | 바닥 껌딱지냥 루피 | 1h 9m | |
| 14:01 | TV 동물농장 1199회▶ 옷장 속 크림이! 이제 그만 나오라옹~ : 옷장에서 절대 나오지 않는다는 고양이 크림이. 녀석에게 숨겨진 사연은?고양이 7마리와 행복하게 지내던 집에서 ... | 옷장 속 크림이! 이제 그만 나오라옹~ | 1h 9m | |
| 15:10 | TV 동물농장 1200회▶ 애견쉼터를 맴도는 몽실이의 정체는? : 애견쉼터의 질서 반장, 몽실이의 주인을 찾아라!!▶ 입이 짧아도 너~무 짧은 라떼 : 도무지 이유를 알 수 없는 단식 ... | 입이 짧아도 너~무 짧은 라떼 | 1h 10m | |
| 16:21 | TV 동물농장 1201회▶ 진순아 같이 살자! : 돌무덤 근처를 떠나지 않는 <진순이>. 녀석이 그곳을 지켜야만 했던 이유는?▶ 까순이와 할부지 : 야생 까치 까순이와 할아버지의 특별... | 진순아 같이 살자! | 1h 9m | |
| 17:30 | TV 동물농장 1202회▶ 왕커개 11마리랑 사는 법 (feat. 질투왕 달이) : 엄마 껌딱지 쉽독 <달이>! 그가 질투왕이 될 수밖에 없었던 이유!수많은 개들이 뜬장에 갇혀 있던 부산 불... | 냥좌의 게임 | 1h 10m | |
| 18:39 | TV 동물농장 1204회복권 1등 당첨자가 수차례 나온 복권집의 마스코트 <김야웅>! 계산대에 앉아 손님을 맞는 야웅이 덕에 가게는 늘 북적북적하다는데. 그런데 매일 닦아줘도 다... | 복권집 마스코트 고양이 | 1h 11m | |
| 19:51 | TV 동물농장 1197회▶ 이건 사랑일까? 단짝 ‘고란희' : 야생 고라니도 사람과 ‘찐친'이 될 수 있다?! 동욱 씨와 <라니>가 쓴 동화 같은 이야기!야생 고라니와 사람이 둘도 없는 ... | 이건 사랑일까? 단짝 ‘고란희' | 1h 11m | |
| 21:01 | TV 동물농장 1198회이보다 희한한 견공이 있을까?! 7마리의 강아지와 함께 사는 아톰이에게는 식사 시간마다 벌어지는 특이한 습관이 있다. 맛있게 밥을 먹던 녀석이 갑자기 자... | 바닥 껌딱지냥 루피 | 1h 9m | |
| 22:10 | TV 동물농장 1199회고양이 7마리와 행복하게 지내던 집에서 터줏대감 크림이가 한 달 전부터 옷장 속에 숨어 나오지 않고 있다. 거실로 데려와도 다른 고양이들의 눈치를 보며 ... | 옷장 속 크림이! 이제 그만 나오라옹~ | 1h 9m | |
| 23:20 | TV 동물농장 1200회1년 넘게 밥을 거의 먹지 않는 말티푸 <라떼>! 하루에 사료 한 알도 먹지 않을 때가 있어 보호자의 애를 태운다. 삼겹살은 물론 100가지가 넘는 사료까지 준... | 입이 짧아도 너~무 짧은 라떼 | 1h 10m |
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_qgkj5gcw/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_qgkj5gcw/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qgkj5gcw/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qgkj5gcw/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_qgkj5gcw/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_qgkj5gcw/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_qgkj5gcw/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_9b3n7jm3", "channel": "ch_qgkj5gcw", "start": "2026-10-10T13:50:57Z", "stop": "2026-10-10T15:01:24Z", "title": "TV 동물농장 1200회", "sub_title": "입이 짧아도 너~무 짧은 라떼", "description": "▶ 노부부와 새끼냥이 해피 : 노부부의 아픈 손가락 <해피>, 해피에게도 기적이 찾...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 22, "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.