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. Search any past day on the Archive plan.
All times Asia/Seoul. The same day from the API: GET /v1/channels/ch_5wsve0t5/schedule?date=2026-10-15&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 오 마이 주식 | 교양/정보, 증권 | 1h | |
| 01:00 | 주식학교 | 교양/정보, 일반 | 1h | |
| 02:00 | 방송 시간이 아닙니다(6시부터 방송 예정) | 교양/정보, 일반 | 4h | |
| 06:00 | 문명의 발자국 | 시사/다큐, 일반 | 1h | |
| 07:00 | 굿모닝 백세생활 | 교양/정보, 일반 | 20m | |
| 07:20 | 귀농 다큐 살어리랏다 | 시사/다큐, 일반 | 40m | |
| 08:00 | 천일야사세상을 지배한 리더들! 그들의 거대하고 치열한 승부의 역사가 시작된다. 지난 역사를 통해 오늘날 우리의 모습을 반추해보고 역사 속 사건과 인물들이 주는 ... | 연예/오락, 일반 | 1h 30m | |
| 09:30 | 다문화 고부 열전갈등 상황에 놓인 다문화 가정의 고부가 며느리의 나라를 함께 방문해 서로에 대한 이해와 공감의 폭을 넓혀가는 과정을 감동적으로 그려내는 화해 프로그램.... | 교양/정보, 일반 | 50m | |
| 10:20 | 조선팔도 자연애 산다 | 시사/다큐, 일반 | 50m | |
| 11:10 | 생방송 행복한 재테크 | 교양/정보, 일반 | 1h | |
| 12:10 | 리얼도전스토리 하이킥 | 교양/정보, 일반 | 30m | |
| 12:40 | 태군노래자랑 2 | 연예/오락, 일반 | 1h | |
| 13:40 | 오 마이 주식 | 교양/정보, 증권 | 1h | |
| 14:40 | 꾸러기TV | 교육, 유아 | 50m | |
| 15:30 | OBS 뉴스 <오늘> | 뉴스, 일반 | 1h | |
| 16:30 | 생방송 건강콜센터 | 교양/정보, 의료건강 | 1h | |
| 17:30 | OBS뉴스경인 530 | 뉴스, 일반 | 20m | |
| 17:50 | 다문화 고부 열전갈등 상황에 놓인 다문화 가정의 고부가 며느리의 나라를 함께 방문해 서로에 대한 이해와 공감의 폭을 넓혀가는 과정을 감동적으로 그려내는 화해 프로그램.... | 교양/정보, 일반 | 50m | |
| 18:40 | 토크쇼 김미화의 단짝 | 교양/정보, 일반 | 50m | |
| 19:30 | OBS뉴스 730 | 뉴스, 일반 | 40m | |
| 20:10 | 오늘의 월드 뉴스 | 뉴스 | 30m | |
| 20:40 | 독특한 연예 뉴스quot;독특한 연예뉴스는~ OBS만의 독특한, 그리고 독한 연예정보 프로그램을 지향합니다quot;. quot;독특한 연예뉴스는~ OBS만의 독특한, 그리고 독한 연예정... | 연예/오락, 연예매거진 | 20m | |
| 21:00 | 다문화 히어로 <한국9단> | 교양/정보, 일반 | 1h | |
| 22:00 | OBS 뉴스10 인천경기 | 뉴스, 일반 | 30m | |
| 22:30 | 다시 갈 지도 | 교양/정보, 일반 | 1h 20m | |
| 23:50 | 인천섬 완전정복 | 교양/정보, 풍물 | 10m |
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_5wsve0t5/schedule?date=2026-10-15&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5wsve0t5/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5wsve0t5/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_5wsve0t5/schedule?date=2026-10-15&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_5wsve0t5/schedule?date=2026-10-15&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_5wsve0t5/schedule", params={"date": "2026-10-15", "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_5wsve0t5/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_bsq05348", "channel": "ch_5wsve0t5", "start": "2026-10-14T15:00:00Z", "stop": "2026-10-14T16:00:00Z", "title": "오 마이 주식", "sub_title": null, "description": null, "category": [ "교양/정보", "증권" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 26, "date": "2026-10-15", "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 | Sunday 12 October 2025 | Category |
|---|---|---|
| 22:55 | OBS 희망나눔 프로젝트 | 교양/정보, 일반 |
| 00:05 | 오지:객 | 교양/정보, 일반 |
| 00:45 | OBS시청자채널 꿈꾸는 U | 시사/다큐, 라이프/휴먼 |
| 22 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 155 countries.