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 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_3qf4t3x1/schedule?date=2026-10-16&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:18 | Jesser: All OutToday, we threw a dart at a map and traveled to wherever it landed | Jesser: All Out | 46m | |
| 00:04 | Jesser: Peak Sports ExperiencesI teamed up with ZHC to customize the world's largest basketball! | Jesser: Peak Sports Experiences | 20m | |
| 00:24 | Jesser: Bucketsquad Sports ShowdownToday if you make the shot, you win the prize...and there's over $10,000 worth of prizes! | Jesser: Bucketsquad Sports Showdown | 29m | |
| 00:53 | Jesser Tests SportsToday we are testing TikTok basketball myths to see if they actually work! | Jesser Tests Sports | 28m | |
| 01:21 | Jesser: Next Level HoopsI gathered 16 of the best hoopers and hosted a 1v1 tournament for $10,000 at the Bucketsquad court! | Jesser: Next Level Hoops | 48m | |
| 02:09 | Jesser Tests SportsI found the best football gadgets and tested them see if they really work! | Jesser Tests Sports | 20m | |
| 02:29 | Jesser: All OutJoin me and the boys today as we attempt to stay overnight at the world's largest mini golf course! | Jesser: All Out | 29m | |
| 02:58 | Jesser: Bucketsquad Sports ShowdownToday me and the boys are competing in the worlds EASIEST trickshots, with the loser doing an INSANE forfeit! | Jesser: Bucketsquad Sports Showdown | 27m | |
| 03:25 | Jesser Tests EverythingToday me and the boys are testing Amazon Products that have NEVER been reviewed to see if they are any good! | Jesser Tests Everything | 54m |
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_3qf4t3x1/schedule?date=2026-10-16&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3qf4t3x1/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3qf4t3x1/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3qf4t3x1/schedule?date=2026-10-16&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_3qf4t3x1/schedule?date=2026-10-16&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_3qf4t3x1/schedule", params={"date": "2026-10-16", "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_3qf4t3x1/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_snfejegr", "channel": "ch_3qf4t3x1", "start": "2026-10-16T03:18:00Z", "stop": "2026-10-16T04:04:00Z", "title": "Jesser: All Out", "sub_title": "Jesser: All Out", "description": "Today, we threw a dart at a map and traveled to wherever it landed", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-16", "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 150 countries.