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-13&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:20 | 미스트롯4 토크콘서트 1회'미스트롯4 토크콘서트 혹독한 예능 수련회'편이 공개된다. | 2h 8m | ||
| 01:27 | 미스트롯4 토크콘서트 2회'미스트롯4 토크콘서트 화제의 그녀들'편이 공개된다. | 1h 55m | ||
| 03:22 | 미스트롯4 토크콘서트 3회'미스트롯4 토크콘서트 그룹신곡 TOP5〈홀려라〉녹음 현장'편이 공개된다. | 2h 5m | ||
| 05:28 | 미스트롯4 미공개 스페셜 1회 On now미스트롯4 미공개 스페셜 마스터 예심'편이 공개된다. | 1h 59m | ||
| 07:27 | 미스트롯4 미공개 스페셜 2회미스트롯4 미공개 스페셜 '마스터 예심'편이 공개된다. | 2h 5m |
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-13&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-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_s08xrcph/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_s08xrcph/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_s08xrcph/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_s08xrcph/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_ymaqzthy", "channel": "ch_s08xrcph", "start": "2026-10-12T14:20:15Z", "stop": "2026-10-12T16:27:51Z", "title": "미스트롯4 토크콘서트 1회", "sub_title": null, "description": "'미스트롯4 토크콘서트 혹독한 예능 수련회'편이 공개된다.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 5, "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.