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_z3bnqv6t/schedule?date=2026-10-19&tz=Asia/Seoul
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | 맨 인 더 다크 | 영화, 미스터리/스릴러 | 2h | |
| 01:00 | 넘버 3전반적으로 군더더기없이 짜임새있는 사건들로 점철되어 있고, 특히 몇 개의 단락으로 나뉘어져 보기에 편하며 서로 연관돼 있다. lt;태백산맥gt;의 시나리오... | 영화, 코미디 | 2h | |
| 03:00 | 도가니교장을 비롯한 교직원들이 장애학교에서 청각장애 아동들을 대상으로 지속적으로 저지른 성폭행을 세상에 알리고자 고군분투하는 미술교사와 그를 둘러싼 충... | 영화, 드라마 | 2h | |
| 05:00 | 천국의 셋방 감독판 | 영화, 에로/성(sex) | 2h | |
| 07:00 | 리버 오브 패션 | 드라마, 홈드라마 | 2h | |
| 09:00 | 반샤즈 | 드라마, 홈드라마 | 2h | |
| 11:00 | 히든 아이 | 연예/오락, 일반 | 1h | |
| 12:00 | 하늘과 땅미국 현대사의 가장 큰 상처이자 치부인 '베트남전'에 집착해 온 올리버 스톤 감독이 86년의 lt;플래툰gt;, 89년의 lt;7월 4일생gt;에 이어 제작한 월남전 소... | 영화, 드라마 | 3h | |
| 15:00 | 가문의 영광 41,500만 관객을 웃긴 코미디 영화의 제왕. lt;가문의 영광gt; 그 네번째 이야기. | 영화, 코미디 | 2h | |
| 17:00 | 밀리터리 OPS | 영화, 액션 | 2h | |
| 19:00 | 탈옥 | 영화, 드라마 | 2h | |
| 21:00 | 하녀 | 영화, 미스터리/스릴러 | 2h | |
| 23:00 | 캐시트럭 그 남자의 분노자비는 없다, 분노에 가득 찬 응징만이 남았다. 그의 분노가 폭발한다! | 영화, 액션 | 2h |
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_z3bnqv6t/schedule?date=2026-10-19&tz=Asia/Seoul" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_z3bnqv6t/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_z3bnqv6t/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_z3bnqv6t/schedule?date=2026-10-19&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_z3bnqv6t/schedule?date=2026-10-19&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_z3bnqv6t/schedule", params={"date": "2026-10-19", "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_z3bnqv6t/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_nr527ezd", "channel": "ch_z3bnqv6t", "start": "2026-10-18T14:00:00Z", "stop": "2026-10-18T16:00:00Z", "title": "맨 인 더 다크", "sub_title": null, "description": null, "category": [ "영화", "미스터리/스릴러" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-19", "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 |
|---|---|---|
| 23:32 | 람보 3 | 영화, 액션 |
| 00:31 | 람보 3 | 영화, 액션 |
| 01:30 | 데스 위시 | 영화, 액션 |
| 23 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.