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-11&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:16 | 미스트롯4 미공개 스페셜 4회'미스트롯4 눈물의 무대'편이 공개된다. | 1h 57m | ||
| 01:14 | 미스트롯4 미공개 스페셜 5회미스트롯4 미공개 스페셜 '1:1 데스매치'편이 공개된다. | 2h 5m | ||
| 03:19 | 미스트롯4 미공개 스페셜 6회미스트롯4 미공개 스페셜 '1:1 데스매치 베스트 무대'편이 공개된다. | 2h 5m | ||
| 05:24 | 미스트롯4 7회시리즈 사상 최초! 미스와 미스터가 하나로 뭉쳤다! 미스터트롯3 TOP7과 함께하는 전무후무 혼성팀 메들리 대전! 트롯 사상 가장 화려한 메들리 전쟁이 펼쳐... | 2h 54m | ||
| 08:18 | 미스트롯4 1회사상 최초! 마스터가 되어 돌아온 원조 트롯 여제 송가인부터 〈미스터트롯3〉 김용빈까지! 역대 진(眞)들이 마스터 군단으로 총출동한다! 과연 여인 천하의 ... | 2h 52m | ||
| 11:10 | 미스트롯4 2회드디어 막을 올린 트롯 여제를 향한 대장정! 지금껏 쌓아온지금껏 증명해 온 한 서린 괴물 현역의 내공! 아직 놀라긴 이르다. 지금껏 보지 못한 트롯의 신세... | 2h 59m | ||
| 14:09 | 미스트롯4 3회최강의 부서를 가려라 살벌했던 마스터 예심, 그 끝이 다가온다. 최강의 현역들과 신예들, 과연 영광의 진을 차지할 사람은 누구인가! 진이 되었더라도, 방심... | 2h 52m | ||
| 17:01 | 미스트롯4 4회본격적인 팀 배틀이 펼쳐진다! 이긴 팀은 올라가고, 진 팀은 떨어진다. 냉혹한 승부에서 승리를 만끽할 팀은 어느 곳이 될 것인가! 그리고 발표되는 팀 배틀... | 2h 49m | ||
| 19:49 | 미스트롯4 5회지옥의 데스매치 가장 잔인한 대결, 1:1 데스매치가 본격적으로 시작된다! 오직 승리와 패배, 생존과 탈락밖에 없다. 무승부는 없는 지옥의 데스매치, 과연 ... | 3h | ||
| 22:49 | 미스트롯4 6회벼랑 끝에서 살아남을 자는 무패의 강자도 한 번의 패배면 탈락 후보. 자비 없는 데스매치에서 살아남기 위해 전력을 다해라! 진 vs 진, 전설 vs 전설, 천재 ... | 3h 14m |
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-11&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-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_s08xrcph/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_s08xrcph/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_s08xrcph/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_j6nq8939", "channel": "ch_s08xrcph", "start": "2026-10-10T14:16:52Z", "stop": "2026-10-10T16:14:07Z", "title": "미스트롯4 미공개 스페셜 4회", "sub_title": null, "description": "'미스트롯4 눈물의 무대'편이 공개된다.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 10, "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 150 countries.