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_6ezt16k6/schedule?date=2026-10-12&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:30 | 존 윅 3: 파라벨룸평화를 원한다면 전쟁을 준비하라! 현상금 1,400만 달러!, 전 세계 킬러들이 노리는 단 하나의 타깃 | 영화, 액션 | 1h 19m | |
| 00:49 | 존 윅 3: 파라벨룸평화를 원한다면 전쟁을 준비하라! 현상금 1,400만 달러!, 전 세계 킬러들이 노리는 단 하나의 타깃 | 영화, 액션 | 1h 16m | |
| 02:00 | 아라티:사냥의 시작 | 드라마, 미스터리/스릴러 | 1h | |
| 02:05 | 아라티:사냥의 시작 | 드라마, 미스터리/스릴러 | 1h 4m | |
| 03:00 | 아라티:사냥의 시작 | 드라마, 미스터리/스릴러 | 1h | |
| 03:09 | 아라티:사냥의 시작 | 드라마, 미스터리/스릴러 | 56m | |
| 04:00 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 30m | |
| 04:05 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 26m | |
| 04:30 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 30m | |
| 04:31 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 36m | |
| 05:00 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 30m | |
| 05:07 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 25m | |
| 05:30 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 30m | |
| 05:32 | 팝콘TV 몰래카메라 | 연예/오락, 일반 | 34m | |
| 06:00 | 하우스 구조대 2 | 시사/다큐, 일반 | 1h | |
| 06:06 | 하우스 구조대 2 | 시사/다큐, 일반 | 49m | |
| 06:30 | 하우스 구조대 2 | 시사/다큐, 일반 | 1h | |
| 06:55 | 하우스 구조대 2 | 시사/다큐, 일반 | 57m | |
| 07:00 | 하우스 구조대 2 | 시사/다큐, 일반 | 1h | |
| 07:30 | 끝내주는 부부 | 연예/오락, 일반 | 1h 30m | |
| 07:52 | 끝내주는 부부 | 연예/오락, 일반 | 1h 9m | |
| 08:00 | 끝내주는 부부 | 연예/오락, 일반 | 1h | |
| 09:00 | 사드락:기적을 달리다 | 드라마, 휴먼드라마 | 1h | |
| 09:01 | 사드락:기적을 달리다 | 드라마, 휴먼드라마 | 57m | |
| 09:58 | 사드락:기적을 달리다 | 드라마, 휴먼드라마 | 58m | |
| 10:00 | 사드락:기적을 달리다 | 드라마, 휴먼드라마 | 1h | |
| 10:56 | 이케와 나 | 영화, 드라마 | 1h 6m | |
| 11:00 | 이케와 나 | 영화, 드라마 | 2h | |
| 12:00 | 윈터킹 | 드라마, 액션 | 1h | |
| 12:02 | 이케와 나 | 영화, 드라마 | 1h 5m | |
| 13:00 | 데스게임 | 영화, 액션 | 2h | |
| 13:07 | 데스게임 | 영화, 액션 | 58m | |
| 14:05 | 데스게임 | 영화, 액션 | 59m | |
| 15:00 | 메카닉: 리크루트 | 영화, 액션 | 2h | |
| 15:04 | 메카닉: 리크루트 | 영화, 액션 | 56m | |
| 16:00 | 메카닉: 리크루트 | 영화, 액션 | 1h 2m | |
| 17:00 | NCIS:Origins 2범죄자의 심리를 꿰뚫어 사건을 해결해나가는 수사대의 활약을 다룬 드라마 | 드라마, 미스터리/스릴러 | 1h | |
| 17:02 | NCIS:Origins 2 | 드라마, 미스터리/스릴러 | 1h 2m | |
| 18:00 | NCIS:Origins 2범죄자의 심리를 꿰뚫어 사건을 해결해나가는 수사대의 활약을 다룬 드라마 | 드라마, 미스터리/스릴러 | 1h | |
| 18:04 | NCIS:Origins 2 | 드라마, 미스터리/스릴러 | 1h 4m | |
| 19:00 | 변호인대한민국 최고의 스파이가 국가의 운명이 걸린 초특급 작전을 수행하던 중, 자신의 정체를 모르는 마누라가 작전에 휘말리며 벌어지는 코믹 첩보 액션 영화 | 영화, 드라마 | 2h 30m | |
| 19:08 | 변호인 | 영화, 드라마 | 1h 21m | |
| 20:29 | 변호인 | 영화, 드라마 | 1h 16m | |
| 21:30 | 고산자, 대동여지도백두산부터 한라산까지. 시대와 권력에 맞서 대동여지도를 탄생시킨 위대한 지도꾼, 김정호의 감춰진 이야기를 그린 드라마 | 영화, 드라마 | 2h 30m | |
| 21:45 | 고산자, 대동여지도백두산부터 한라산까지. 시대와 권력에 맞서 대동여지도를 탄생시킨 위대한 지도꾼, 김정호의 감춰진 이야기를 그린 드라마 | 영화, 드라마 | 1h 18m | |
| 23:03 | 고산자, 대동여지도백두산부터 한라산까지. 시대와 권력에 맞서 대동여지도를 탄생시킨 위대한 지도꾼, 김정호의 감춰진 이야기를 그린 드라마 | 영화, 드라마 | 1h 20m |
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_6ezt16k6/schedule?date=2026-10-12&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_6ezt16k6/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_6ezt16k6/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_6ezt16k6/schedule?date=2026-10-12&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_6ezt16k6/schedule?date=2026-10-12&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_6ezt16k6/schedule", params={"date": "2026-10-12", "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_6ezt16k6/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_0wjq56jc", "channel": "ch_6ezt16k6", "start": "2026-10-11T14:30:00Z", "stop": "2026-10-11T15:49:00Z", "title": "존 윅 3: 파라벨룸", "sub_title": null, "description": "평화를 원한다면 전쟁을 준비하라! 현상금 1,400만 달러!, 전 세계 킬러들이 노리...", "category": [ "영화", "액션" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 46, "date": "2026-10-12", "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:42 | 친구 | 영화, 액션 |
| 00:56 | 친구 | 영화, 액션 |
| 02:04 | 세 번째 부인 | 영화, 드라마 |
| 21 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.