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_cqnsw6z9/schedule?date=2026-10-17&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:30 | 꼬리에 꼬리를 무는 그날 이야기눈길을 사로잡는 그 날, 그 사건으로부터 한 사람의 소시민으로서 '내'가 느낀 바를, 온전히 '나'의 시점에서 주관적으로 전달한다. '너' 에게 꼭 들려주고 ... | 교양/정보, 일반 | 1h 30m | |
| 01:00 | 상남자의 여행법 in 대만 | 연예/오락, 버라이어티 | 2h | |
| 03:00 | 접속! 무비월드개봉을 앞둔 신작 중 최고의 기대작을 선별하여 소개, 각종 장르의 영화를 재미있게 비교해주며, 영화의 비하인드 스토리와 전문가의 멘트를 통해 색다른 영... | 연예/오락, 영화가이드 | 1h | |
| 04:00 | 꼬리에 꼬리를 무는 그날 이야기눈길을 사로잡는 그 날, 그 사건으로부터 한 사람의 소시민으로서 '내'가 느낀 바를, 온전히 '나'의 시점에서 주관적으로 전달한다. '너' 에게 꼭 들려주고 ... | 교양/정보, 일반 | 1h 30m | |
| 05:30 | 생활의 달인수십년간 한 분야에 종사하며 부단한 열정과 노력으로 달인의 경지에 이르게 된 사람들. 삶의 스토리와 리얼리티가 담겨 있는 ‘생활 달인’은 그 자체가 다큐... | 교양/정보, 일반 | 1h | |
| 06:30 | 미운 우리 새끼아들의 일상을 관찰하고, 육아일기라는 장치를 통해 순간을 기록하는 프로그램입니다. 아직도 철부지 같은 자식과, 늘 자식 걱정인 엄마의 이야기를 통해 ... | 연예/오락, 일반 | 2h | |
| 08:30 | 우리들의 발라드 2 | 연예/오락, 버라이어티 | 2h 10m | |
| 10:40 | 런닝맨최고의 연예인들과 미션 해결과 게임을 하며 대한민국 랜드마크들을 전격 공개한다. 도심에서 벌어지는 스펙터클, 신개념, 액션 버라이어티 프로그램. | 연예/오락, 버라이어티 | 1h 40m | |
| 12:20 | 런닝맨최고의 연예인들과 미션 해결과 게임을 하며 대한민국 랜드마크들을 전격 공개한다. 도심에서 벌어지는 스펙터클, 신개념, 액션 버라이어티 프로그램. | 연예/오락, 버라이어티 | 1h 50m | |
| 14:10 | 상남자의 여행법 in 대만 | 연예/오락, 버라이어티 | 2h | |
| 16:10 | 무엇이든 해줄 지니 비서진 | 연예/오락, 버라이어티 | 1h 40m | |
| 17:50 | 틈만 나면 | 연예/오락, 버라이어티 | 1h 50m | |
| 19:40 | 상남자의 여행법 in 대만 | 연예/오락, 버라이어티 | 2h 10m | |
| 21:50 | 무엇이든 해줄 지니 비서진 | 연예/오락, 버라이어티 | 1h 40m | |
| 23:30 | 무엇이든 해줄 지니 비서진 | 연예/오락, 버라이어티 | 1h 40m |
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_cqnsw6z9/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_cqnsw6z9/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_cqnsw6z9/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_cqnsw6z9/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_cqnsw6z9/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_cqnsw6z9/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_cqnsw6z9/schedule?date=2026-10-17, the first programme { "data": [ { "id": "ls_3s646g2z", "channel": "ch_cqnsw6z9", "start": "2026-10-16T14:30:00Z", "stop": "2026-10-16T16:00:00Z", "title": "꼬리에 꼬리를 무는 그날 이야기", "sub_title": null, "description": "눈길을 사로잡는 그 날, 그 사건으로부터 한 사람의 소시민으로서 '내'가 느낀 바...", "category": [ "교양/정보", "일반" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 15, "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 |
|---|---|---|
| 23:01 | 나는 SOLO | 연예/오락, 버라이어티 |
| 00:55 | 내겐 너무 까칠한 매니저 - 비서진 | 연예/오락, 버라이어티 |
| 02:40 | 꼬리에 꼬리를 무는 그날 이야기 | 교양/정보, 일반 |
| 11 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.