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_8wj02kyw/schedule?date=2026-10-13&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:33 | T6 MsportRound 4 heads to the challenging Silverstone circuit, with the championship battle heating up. | T6 Msport | 1h 32m | |
| 01:05 | GeoGuessrGeoGuessr World League Round 4 - Mathias vs Fau and Radu C vs Ecal battle for position in the Winners Final | GeoGuessr | 1h 14m | |
| 02:19 | Pro Gamers League (PGL)Grand Final Showdown between Astralis and FUT Esports for championship glory! | Pro Gamers League (PGL) | 1h 31m | |
| 03:50 | NECC - Marvel RivalsNECC Nationals Marvel Rivals Lower Quarterfinal continues with a semifinal spot on the line. | NECC - Marvel Rivals | 38m | |
| 04:28 | Big Buck HunterBig Day 2 of the Big Buck Hunter World Championship XVII, featuing the nation's best players. | Big Buck Hunter | 1h 7m | |
| 05:35 | CECC May MadnessRecorded "Live" from Day 1 of the CECC24 in Texas. The Winner's Final ft. Northwood vs. Bryant & Stratton. | CECC May Madness | 1h 5m | |
| 06:40 | GeoGuessrGeoGuessr World Cup 2024 - Asia Pacific Finals - Day 1 Match 6 MATEPOTATO vs SHIINA. | GeoGuessr | 57m | |
| 07:37 | CECC May MadnessRecorded "Live" from Day 3 of the CECC 24 in Texas - Fisher NE takes on Winthrop in the Grand Finals. Part 2. | CECC May Madness | 1h 4m | |
| 08:41 | FITGMR4 push-ups, 5 Turkish sit ups, 6 back extensions, 7 Dragon flag sit ups , then 30 sec Simon Shuffle. | FITGMR | 30m | |
| 09:10 | Esports AwardsInterview with Brazilian esports motor-sports star and Gold Metalist, Luiz. | Esports Awards | 41m | |
| 09:51 | PUBG MobileMENA Finals Day 1 kicks off with a Spooky Soiree Showmatch followed by Match 1 Rondo! | PUBG Mobile | 1h 44m | |
| 11:35 | GeoGuessrGeoGuessr World Cup Grand Finals - RADU C and FAU BATTLE IT OUT in Quarterfinal #2. | GeoGuessr | 1h 17m | |
| 12:52 | NJCAAeNational Championship. Featuring Team Pratt CC and Team NEO Esports as they vie for the Championship. | NJCAAe | 1h 58m | |
| 14:50 | DignitasRocket League Championship Series - REGIONAL CHAMPIONS Open Qualifier 6 vs Chippy Chips | Dignitas | 1h 24m | |
| 16:14 | Honor of KingsGrand Final showdown between Wolves Esports and All Gamers with special performances from Han Hong | Honor of Kings | 2h 11m | |
| 18:26 | Rainbow 6 - UbisoftFinals Showdown as Falcons and Furia fight for a spot in the Grand Finals! | Rainbow 6 - Ubisoft | 1h | |
| 19:26 | BLAST DOTA2Quarter-Finals Showdown as Aurora Gaming and HEROIC fight for a spot in the Grand Finals! | BLAST DOTA2 | 1h 22m | |
| 20:48 | Mortal KombatScorpionProcs and Nicolas faceoff in Final Kombat Top 8 Mortal Combat. | Mortal Kombat | 23m | |
| 21:11 | PUBG MobileGrand Finals Day 2 pushes the limits ending the day with Matches 11 and 12 on Miramar! | PUBG Mobile | 2h 5m | |
| 23:15 | Pro Gamers League (PGL)Aurora vs Legacy ignites the Grand Finals in a high-stakes battle for the Championship Crown! | Pro Gamers League (PGL) | 1h 46m |
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_8wj02kyw/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_8wj02kyw/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8wj02kyw/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_8wj02kyw/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_8wj02kyw/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_8wj02kyw/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_8wj02kyw/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_esk00wy1", "channel": "ch_8wj02kyw", "start": "2026-10-13T03:33:19Z", "stop": "2026-10-13T05:05:44Z", "title": "T6 Msport", "sub_title": "T6 Msport", "description": "Round 4 heads to the challenging Silverstone circuit, with the championship b...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 20, "date": "2026-10-13", "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.