73.8M 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. Search any past day on the Archive plan.
All times Asia/Seoul. The same day from the API: GET /v1/channels/ch_5kp0bwxb/schedule?date=2026-10-17&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 영상문화콘텐츠 산업론 | 교육, 대학/방송대학 | 1h | |
| 01:00 | 채권총론 | 교육, 대학/방송대학 | 1h | |
| 02:00 | 가족과 문화 | 교육, 대학/방송대학 | 1h | |
| 03:00 | 자원식물학 | 교육, 대학/방송대학 | 1h | |
| 04:00 | 보건경제학 | 교육, 대학/방송대학 | 1h | |
| 05:00 | 체육철학 | 교육, 대학/방송대학 | 1h | |
| 06:00 | 한글서체-한글이 한글을 이야기하다 | 시사/다큐, 일반 | 1h | |
| 07:00 | 100세 경제 | 교양/정보, 일반 | 30m | |
| 07:30 | 솔라시스템 인 스페이스 | 교양/정보, 일반 | 30m | |
| 08:00 | 북플레이 | 교양/정보, 일반 | 45m | |
| 08:45 | 북플레이2 | 교양/정보, 일반 | 15m | |
| 09:00 | 일본어문법 | 교육, 일어 | 1h | |
| 10:00 | 일본어문법 | 교육, 일어 | 1h | |
| 11:00 | 일본어문법 | 교육, 일어 | 1h | |
| 12:00 | 일본어문법 | 교육, 일어 | 1h | |
| 13:00 | 일본어문법 | 교육, 일어 | 1h | |
| 14:00 | AI를 통해 본 미래 인류 | 교양/정보, 일반 | 1h | |
| 15:00 | 썰라운드 | 교양/정보, 일반 | 30m | |
| 15:30 | 혜화책방 2 | 교양/정보, 일반 | 30m | |
| 16:00 | 레디 미래인 | 교양/정보, 일반 | 30m | |
| 16:30 | 실버아이돌 | 교양/정보, 일반 | 30m | |
| 17:00 | THE 명강 2024 | 교양/정보, 강좌 | 1h | |
| 18:00 | 생활영어 | 교육, 영어 | 1h | |
| 19:00 | 생활영어 | 교육, 영어 | 1h | |
| 20:00 | 생활영어 | 교육, 영어 | 1h | |
| 21:00 | 생활영어 | 교육, 영어 | 1h | |
| 22:00 | 생활영어 | 교육, 영어 | 1h | |
| 23:00 | 행복강연, 인생 나침반 | 교양/정보, 강좌 | 1h |
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_5kp0bwxb/schedule?date=2026-10-17&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5kp0bwxb/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5kp0bwxb/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_5kp0bwxb/schedule?date=2026-10-17&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_5kp0bwxb/schedule?date=2026-10-17&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_5kp0bwxb/schedule", params={"date": "2026-10-17", "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_5kp0bwxb/schedule?date=2026-10-17, the first programme { "data": [ { "id": "ls_v4fvs0vn", "channel": "ch_5kp0bwxb", "start": "2026-10-16T15:00:00Z", "stop": "2026-10-16T16:00:00Z", "title": "영상문화콘텐츠 산업론", "sub_title": null, "description": null, "category": [ "교육", "대학/방송대학" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 28, "date": "2026-10-17", "tz": "Asia/Seoul" } }
What was on, on any date we hold: for research, catch-up, clip finding or proving a broadcast. Any window up to 31 days with /v1/channels/{id}/history on the Archive plan.
| Time | Monday 13 October 2025 | Category |
|---|---|---|
| 00:00 | 빛의 서사시, 마스터 피스 | 교양/정보, 일반 |
| 00:30 | 미인공감 4 | 교육, 대학/방송대학 |
| 00:45 | 미인공감 4 | 교육, 대학/방송대학 |
| 35 more programmes that day, on Archive | ||
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.