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_b50qvhfw/schedule?date=2026-10-13&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:46 | 우레탄창 달고 단풍구경 다녀왔어요 | 캠핑장 예약이 앞으로 힘들어지는 이유 |우레탄창 달고 단풍구경 다녀왔어요 | 캠핑장 예약이 앞으로 힘들어지는 이유 | 가평 | 31m | ||
| 00:17 | 바닷가 바로 앞 개별화장실이 있는 신규캠핑장 다녀왔어요 | 떡볶이에 뱅쇼 그바닷가 바로 앞 개별화장실이 있는 신규캠핑장 다녀왔어요 | 떡볶이에 뱅쇼 그리고 따뜻한 이웃들 | 강화도 | 31m | ||
| 00:48 | 8.5평 어닝룸에서 겨울 나는 방법 | 트렁크 열어놓고 따뜻하게 잤어요! | 가평8.5평 어닝룸에서 겨울 나는 방법 | 트렁크 열어놓고 따뜻하게 잤어요! | 가평 | 33m | ||
| 01:21 | 멈춰서는 곳이 곧 나의 집 | 봄바다 스텔스 차박 | 오징어물회에 혼술, 광어회덮멈춰서는 곳이 곧 나의 집 | 봄바다 스텔스 차박 | 오징어물회에 혼술, 광어회덮밥 | 31m | ||
| 01:52 | 서해바다 바로 앞 솔숲 차박 | 1박에 18000원!? | 맥반석 삼겹살 | 서해바다 차박서해바다 바로 앞 솔숲 차박 | 1박에 18000원!? | 맥반석 삼겹살 | 서해바다 차박 | 30m | ||
| 02:23 | 트렁크에 원터치 차박텐트를 도킹해 보았습니다 | 아무도 없는 연못 앞 차박 |트렁크에 원터치 차박텐트를 도킹해 보았습니다 | 아무도 없는 연못 앞 차박 | 여기는 꼭 한번 가보세요! | 양평 | 34m | ||
| 02:57 | 화목난로 오븐구이와 함께하는 1박 | 차박 성지 목계솔밭이 재오픈 했다고!? | 닭화목난로 오븐구이와 함께하는 1박 | 차박 성지 목계솔밭이 재오픈 했다고!? | 닭오븐구이, 치아바타 샌드위치 | 충주 | 32m | ||
| 03:29 | 비오는 날 천장까지 뻥 뚫린 원터치 텐트 도킹 차박 | 베이컨말이 치즈 퐁듀, 양비오는 날 천장까지 뻥 뚫린 원터치 텐트 도킹 차박 | 베이컨말이 치즈 퐁듀, 양념갈비 | 포천 | 33m | ||
| 04:02 | 숲 속에 혼자 있을 땐 이정도 개방감은 있어야죠!? | 첫 콜라보 상품도 출시했어숲 속에 혼자 있을 땐 이정도 개방감은 있어야죠!? | 첫 콜라보 상품도 출시했어요! | 포천 | 37m | ||
| 04:39 | 한탄강 앞 초록초록 숲을 머금은 곳에서 하룻밤 | (feat. 개구리와 동침...?) | 숯불꼬한탄강 앞 초록초록 숲을 머금은 곳에서 하룻밤 | (feat. 개구리와 동침...?) | 숯불꼬치구이, 김치전, 비빔밥 | 포천 | 36m | ||
| 05:16 | 무더위의 초입, 화목난로가 오히려 좋은 이유 | 프렌치랙, 감자구이, 콩국수 | 또무더위의 초입, 화목난로가 오히려 좋은 이유 | 프렌치랙, 감자구이, 콩국수 | 또 가고싶은 캠핑장 | 강화도 | 39m | ||
| 05:55 | 밖에 좀 나갈 수 있게 해주세요ㅠㅠ | 이런 캠핑은 힐링이 아니야 | 역대급이었밖에 좀 나갈 수 있게 해주세요ㅠㅠ | 이런 캠핑은 힐링이 아니야 | 역대급이었던... 캠핑장 | 26m | ||
| 06:20 | 천하태평 말티즈와 조용한 숲 속 우중차박 | 새로운 타프로 어닝 만들기 | 양평 On now천하태평 말티즈와 조용한 숲 속 우중차박 | 새로운 타프로 어닝 만들기 | 양평 | 27m | ||
| 06:48 | 37°C 폭염에 캠핑은 제가 대신 다녀올게요| 여름 차박 시원하게 자는 꿀팁!(feat. 모37°C 폭염에 캠핑은 제가 대신 다녀올게요| 여름 차박 시원하게 자는 꿀팁!(feat. 모기장을 찢어버려!) | 대부도 | 28m | ||
| 07:16 | 역대급 넓은 사이트와 시원한 계곡이 있는 곳! 하루 12팀만 받는 소규모 캠핑장역대급 넓은 사이트와 시원한 계곡이 있는 곳! 하루 12팀만 받는 소규모 캠핑장 다녀왔어요 | 시원한 여름 차박 | 양평 | 25m | ||
| 07:41 | 화장실도 없고 개수대도 없다!? 비 내리는 숲 속에서 나홀로 1박 | 아롱사태찜에화장실도 없고 개수대도 없다!? 비 내리는 숲 속에서 나홀로 1박 | 아롱사태찜에 막걸리사이다땡초부추전에 닭갈비우동 | 포천 | 27m | ||
| 08:08 | 단돈 36,800원(배값+야영장비용)으로 섬 캠핑장에서 1박하기 | 수도권 거주자는 여단돈 36,800원(배값+야영장비용)으로 섬 캠핑장에서 1박하기 | 수도권 거주자는 여기 꼭 오셔야 합니다 | 장봉도 | 34m |
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_b50qvhfw/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_b50qvhfw/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_b50qvhfw/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_b50qvhfw/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_b50qvhfw/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_b50qvhfw/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_b50qvhfw/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_vc8wg03d", "channel": "ch_b50qvhfw", "start": "2026-10-12T14:46:49Z", "stop": "2026-10-12T15:17:56Z", "title": "우레탄창 달고 단풍구경 다녀왔어요 | 캠핑장 예약이 앞으로 힘들어지는 이유 |", "sub_title": null, "description": "우레탄창 달고 단풍구경 다녀왔어요 | 캠핑장 예약이 앞으로 힘들어지는 이유 | 가평", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 17, "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.