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_s08xrcph/schedule?date=2026-10-12&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:49 | 미스트롯4 6회벼랑 끝에서 살아남을 자는 무패의 강자도 한 번의 패배면 탈락 후보. 자비 없는 데스매치에서 살아남기 위해 전력을 다해라! 진 vs 진, 전설 vs 전설, 천재 ... | 3h 14m | ||
| 02:03 | 미스트롯4 8회1위 팀부터 꼴찌인 5위 팀까지 점수 차이는 미미하다! 1위도 몰락할 수 있고, 5위도 비상할 수 있는 초박빙의 1라운드! 모든 팀이 1위를 넘보는 혼전 속, 이... | 2h 57m | ||
| 05:00 | 미스트롯4 9회준결승으로 향하는 마지막 관문, 레전드 미션이 시작된다! 시리즈 사상 최초! 레전드도 평가에 참여한다! 트롯계의 살아있는 전설 앞에서, 레전드의 노래를 ... | 3h 14m | ||
| 08:14 | 미스트롯4 10회TOP10이 결정된다 레전드 미션의 마지막, 2라운드 개인전! 1라운드의 순위는 잊어라. 대역전, 대이변, 대혼돈의 결과가 펼쳐진다! 드디어 오늘 밤, 대망의 TO... | 3h 38m | ||
| 11:51 | 미스트롯4 11회미스트롯 최초! 생방송으로 진행되는 준결승전. 영광의 TOP5, 실시간 문자 투표로 국민이 결정한다! TOP5가 되기 위해 정통 트롯으로 맞붙어라. 절대 강자들... | 3h 45m | ||
| 15:36 | 미스트롯4 12회3개월간의 대장정, 그 대미를 장식할 결승전이 시작된다! 최후의 무대 위에서 인생을 녹여낸 노래로 맞붙는다! 실시간 문자 투표와 함께 펼쳐지는 TOP5의 인... | 3h 11m | ||
| 18:47 | 미스트롯4 갈라쇼 1회경연의 부담을 털어낸 미스트롯4 탑9의 사랑스러운 무대를 즐기러 가볼까요?대한민국을 홀린 아홉 여제들! 축제를 즐기러 갈라쇼로 돌아왔다. 역대급 스페셜 ... | 2h 19m | ||
| 21:06 | 미스트롯4 갈라쇼 2회세상을 홀리고 평정 트롯여제들이 시청자들의 성원에 감사한 마음을 전하고... | 2h 14m | ||
| 23:20 | 미스트롯4 토크콘서트 1회'미스트롯4 토크콘서트 혹독한 예능 수련회'편이 공개된다. | 2h 8m |
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_s08xrcph/schedule?date=2026-10-12&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_s08xrcph/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_s08xrcph/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_s08xrcph/schedule?date=2026-10-12&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_s08xrcph/schedule?date=2026-10-12&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_s08xrcph/schedule", params={"date": "2026-10-12", "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_s08xrcph/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_k3awa3x8", "channel": "ch_s08xrcph", "start": "2026-10-11T13:49:22Z", "stop": "2026-10-11T17:03:07Z", "title": "미스트롯4 6회", "sub_title": null, "description": "벼랑 끝에서 살아남을 자는\r무패의 강자도 한 번의 패배면 탈락 후보. 자비 없는 ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-12", "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 150 countries.