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 America/New_York 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/New_York. The same day from the API: GET /v1/channels/ch_zxcrzk3s/schedule?date=2026-10-13&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | THRU: The Pacific NorthwestA never-before-seen adventure as a team of strangers journeys across America's wildest long trail. | 1h | ||
| 01:00 | Epic TV | 30m | ||
| 01:30 | Xtreme Collection | 30m | ||
| 02:00 | MTN MorningsStay informed with the latest breaking news and headlines. | 1h | ||
| 03:00 | The Ride | 1h | ||
| 04:00 | OTV Shorts | 30m | ||
| 04:30 | The Xtreme CollXtionUniting the best action and extreme sports from around the world. | 30m | ||
| 05:00 | The Ultimate RushStorytelling on extreme sports. | 30m | ||
| 05:30 | In Search of SpeedIn Search of Speed is an award-winning all-access documentary series, featuring Team USA's ski racers competing on the FIS World Cup circuit. | 30m | ||
| 06:00 | The Vibe | 30m | ||
| 06:30 | Discover Summit | 30m | ||
| 07:00 | MTN Mornings - Early Edition | 1h | ||
| 08:00 | Educational Programming | 30m | ||
| 08:30 | DispatchesInitiatives, technologies and people impacting the world. | 30m | ||
| 09:00 | MTN MorningsStay informed with the latest breaking news and headlines. | 2h | ||
| 11:00 | MTN TV Features | 30m | ||
| 11:30 | DispatchesInitiatives, technologies and people impacting the world. | 30m | ||
| 12:00 | ExplorersAdventurers seek new and extreme challenges. | 30m | ||
| 12:30 | MTN FITNESS | 1h | ||
| 13:30 | The Vibe | 30m | ||
| 14:00 | MTN Mornings - Midday | 1h | ||
| 15:00 | Discover Summit | 30m | ||
| 15:30 | WESS | 30m | ||
| 16:00 | Descending | 1h | ||
| 17:00 | The Ultimate RushStorytelling on extreme sports. | 30m | ||
| 17:30 | Xtreme Collection | 30m | ||
| 18:00 | Reel RockJosh Lowell and Peter Mortimer explore the best of mountain adventure and rock climbing. | 30m | ||
| 18:30 | Earth Cycle: Europe's Extreme North | 30m | ||
| 19:00 | Around the World in 80 DaysGentleman adventurer Phileas Fogg sets out on a quest to travel around the world and back home in a period of 80 days. | 2h | ||
| 21:00 | LocalsTraveling the world to uncover out-of-the-way places not revealed in tour guides. | 30m | ||
| 21:30 | The Ultimate RushStorytelling on extreme sports. | 30m | ||
| 22:00 | Love on the RocksNewlyweds Tayler and Jason travel 12,000 miles across the U.S. to climb three major peaks during their first year of marriage. | 30m | ||
| 22:30 | Billy | 30m | ||
| 23:00 | Sport Fishing TV | 30m | ||
| 23:30 | Out of ServiceWhistler-based snowboarders take on monster jumps, battle intense weather and venture deep into the backcountry. | 30m |
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_zxcrzk3s/schedule?date=2026-10-13&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zxcrzk3s/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zxcrzk3s/history?from=2026-06-25T00:00:00Z&to=2026-06-26T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_zxcrzk3s/schedule?date=2026-10-13&tz=America/New_York"); 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_zxcrzk3s/schedule?date=2026-10-13&tz=America/New_York", { 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_zxcrzk3s/schedule", params={"date": "2026-10-13", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_zxcrzk3s/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_z3a4nnyp", "channel": "ch_zxcrzk3s", "start": "2026-10-13T04:00:00Z", "stop": "2026-10-13T05:00:00Z", "title": "THRU: The Pacific Northwest", "sub_title": null, "description": "A never-before-seen adventure as a team of strangers journeys across America'...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 35, "date": "2026-10-13", "tz": "America/New_York" } }
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 | Thursday 25 June 2026 | Category |
|---|---|---|
| 01:00 | Motor Sports | Special |
| 01:30 | Xtreme Collection | Action sports |
| 02:00 | MTN Mornings | News |
| 30 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.