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.
All times America/New_York. The same day from the API: GET /v1/channels/ch_0kz3r8fz/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:36 | Josh BrolinJosh Brolin discusses his rise to fame, sobriety, family, and gives a tour of his Santa Monica home. | 2h 51m | ||
| 01:27 | Danica PatrickDanica Patrick sits down with Graham Bensinger to discuss the defining moments of her life and career. | 1h 34m | ||
| 03:02 | Dale Earnhardt Jr.Dale Earnhardt Jr. talks concussions that forced retirement, future health concerns, and death of his father. | 1h 34m | ||
| 04:36 | Kyle BuschKyle Busch opens up about a terrifying crash, his miraculous championship win, and family challenges. | 2h 25m | ||
| 07:01 | In Depth with Graham BensingerMatthew McConaughey talks stardom, weight loss for Dallas Buyers Club, his memoir, and possible political run. | Matthew McConaughey | 27m | |
| 07:28 | Tom HanksTom Hanks reflects on roles, family, divorce, and his fathers tragic past. | 1h 26m | ||
| 08:54 | Ray RomanoRay Romano discusses his life including early stand-up in NY and the TV appearances that changed it all. | 1h 26m | ||
| 10:20 | Larry the Cable GuyDan Whitney (Larry the Cable Guy) reflects on fame, Pixar, and prank calls at Pebble Beach. | 1h 15m | ||
| 11:34 | Steve-OSteve O discusses wild Jackass stunts, addiction, his mothers alcoholism, and his latest comedy act. | 2h 9m | ||
| 13:43 | Bert KreischerA glimpse into Bert Kreischers life on tour, Berty Boy Productions, and shift away from life as The Machine. | 1h 47m | ||
| 15:30 | Nikki GlaserNikki Glaser shares stories of addiction, depression and how the pandemic prompted an unexpected career shift. | 1h 37m | ||
| 17:08 | In Depth with Graham BensingerActress Cheryl Hines shares her journey to Curb Your Enthusiasm, bond with Larry David, and life with RFK Jr. | Cheryl Hines | 27m | |
| 17:34 | Jerry SeinfeldJerry Seinfeld on sitcom success, post show struggles, family, purpose, and casting his new film Unfrosted. | 1h 11m | ||
| 18:45 | James Cameron On nowGraham travels to Los Angeles to sit down with legendary director James Cameron. | 2h 27m |
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_0kz3r8fz/schedule?date=2026-10-12&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0kz3r8fz/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0kz3r8fz/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_0kz3r8fz/schedule?date=2026-10-12&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_0kz3r8fz/schedule?date=2026-10-12&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_0kz3r8fz/schedule", params={"date": "2026-10-12", "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_0kz3r8fz/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_st31dfxq", "channel": "ch_0kz3r8fz", "start": "2026-10-12T02:36:51Z", "stop": "2026-10-12T05:27:42Z", "title": "Josh Brolin", "sub_title": null, "description": "Josh Brolin discusses his rise to fame, sobriety, family, and gives a tour of...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-12", "tz": "America/New_York" } }
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.