74.3M 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 America/Toronto 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 America/Toronto. The same day from the API: GET /v1/channels/ch_330h7y0c/schedule?date=2026-10-13&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:35 | 그리프의 뉴질랜드 로드 트립 | 교양/정보, 일반 | 55m | |
| 00:30 | 그린 플래닛 | 시사/다큐, 일반 | 1h | |
| 01:30 | 고든 뷰캐넌의 장대한 낙타 여행기 | 교양/정보, 일반 | 1h | |
| 02:30 | 벤 포글과 함께 가는 야생인의 터전 11 | 시사/다큐, 일반 | 55m | |
| 03:25 | 중국의 야생 광둥 | 시사/다큐, 일반 | 1h | |
| 04:25 | 베어 그릴스와 함께하는 야생 탐험 4 | 시사/다큐, 일반 | 50m | |
| 05:15 | 고든 뷰캐넌의 장대한 낙타 여행기 | 교양/정보, 일반 | 1h | |
| 06:15 | 그리프의 뉴질랜드 로드 트립 | 교양/정보, 일반 | 55m | |
| 07:10 | 베어 그릴스와 함께하는 야생 탐험 4 | 시사/다큐, 일반 | 50m | |
| 08:00 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 30m | |
| 08:30 | 세계에서 가장 위험한 동물 베스트 60 7 On now | 시사/다큐, 일반 | 35m | |
| 09:05 | 롭슨 그린의 세계의 놀라운 트레킹 코스 | 교양/정보, 일반 | 50m | |
| 09:55 | 공학 기술의 재활용 | 교양/정보, 일반 | 55m | |
| 10:50 | 베어 그릴스와 함께하는 야생 탐험 4 | 시사/다큐, 일반 | 55m | |
| 11:45 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 40m | |
| 12:25 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 40m | |
| 13:05 | 롭슨 그린의 세계의 놀라운 트레킹 코스 | 교양/정보, 일반 | 50m | |
| 13:55 | 베어 그릴스와 함께하는 야생 탐험 4 | 시사/다큐, 일반 | 50m | |
| 14:45 | 그리프의 뉴질랜드 로드 트립 | 교양/정보, 일반 | 55m | |
| 15:40 | 고든 뷰캐넌의 장대한 낙타 여행기 | 교양/정보, 일반 | 1h | |
| 16:40 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 40m | |
| 17:20 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 40m | |
| 18:00 | 롭슨 그린의 세계의 놀라운 트레킹 코스 | 교양/정보, 일반 | 50m | |
| 18:50 | 그리프의 뉴질랜드 로드 트립 | 교양/정보, 일반 | 55m | |
| 19:45 | 베어 그릴스와 함께하는 야생 탐험 4 | 시사/다큐, 일반 | 50m | |
| 20:35 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 35m | |
| 21:10 | 세계에서 가장 위험한 동물 베스트 60 7 | 시사/다큐, 일반 | 40m | |
| 21:50 | 롭슨 그린의 세계의 놀라운 트레킹 코스 | 교양/정보, 일반 | 50m | |
| 22:40 | 그리프의 뉴질랜드 로드 트립 | 교양/정보, 일반 | 55m | |
| 23:35 | 공학 기술의 재활용 | 교양/정보, 일반 | 50m |
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_330h7y0c/schedule?date=2026-10-13&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_330h7y0c/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_330h7y0c/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_330h7y0c/schedule?date=2026-10-13&tz=America/Toronto"); 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_330h7y0c/schedule?date=2026-10-13&tz=America/Toronto", { 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_330h7y0c/schedule", params={"date": "2026-10-13", "tz": "America/Toronto"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_330h7y0c/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_x20xzga8", "channel": "ch_330h7y0c", "start": "2026-10-13T03:35:00Z", "stop": "2026-10-13T04:30:00Z", "title": "그리프의 뉴질랜드 로드 트립", "sub_title": null, "description": null, "category": [ "교양/정보", "일반" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 30, "date": "2026-10-13", "tz": "America/Toronto" } }
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 | Saturday 12 October 2019 | Category |
|---|---|---|
| 23:25 | 사이먼 리브의 터키 여행 | 교양/정보, 일반 |
| 00:20 | 트라이벌 부트캠프 | 시사/다큐, 일반 |
| 01:15 | 롭슨 그린의 익스트림 낚시 도전 시즌2 | 시사/다큐, 풍물/기행 |
| 24 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.