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 Australia/Sydney 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 Australia/Sydney. The same day from the API: GET /v1/channels/ch_1qvbmkkr/schedule?date=2026-10-13&tz=Australia/Sydney
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:35 | Spider-ManAfter a radioactive spider bite, a nerdy teen develops keen senses and amazing strength. | N/a | 2h | |
| 01:35 | The Amazing Spider-ManAfter Peter Parker is bitten by a genetically altered spider, he gains newfound, spider-like powers and ventures out to save the city from the mach... | Action | 2h 13m | |
| 03:48 | Generations: The Evolution Of Spider-ManThree Peters. Two decades. One legendary hero. Swing through 20 years of Spider-Man history - from Tobey Maguire and Andrew Garfield to Tom Holland. | Documentary | 28m | |
| 04:16 | Spider-Man: HomecomingPeter Parker balances his life as an ordinary high school student in Queens with his superhero alter-ego Spider-Man and finds himself on the trail ... | Action | 2h 14m | |
| 06:30 | Spider-Man: Far From HomePeter Parker, the beloved superhero Spider-Man, faces four destructive elemental monsters while on holiday in Europe. Soon, he receives help from M... | Action | 2h 10m | |
| 08:40 | Spider-Man: No Way HomeWhen a spell goes wrong, dangerous foes from other worlds start to appear, forcing Peter to discover what it truly means to be Spider-Man. | Action | 2h 30m | |
| 11:10 | Beverly Hills CopAn ultra-cool, fresh out of Detroit, foul-mouthed detective is treading on toes in Beverly Hills as he zeroes in on the scum who killed his friend. | Action | 1h 50m | |
| 13:00 | Beverly Hills Cop IIThe hard-nosed Detroit cop returns to Los Angeles to solve another case. This time, he must direct his efforts towards unravelling the Alphabet Cri... | Action | 1h 45m | |
| 14:45 | Beverly Hills Cop IIIFor the third time, Detroit cop Axel Foley returns to Beverly Hills, this time to track down bad guys at an amusement park. | Action | 1h 45m | |
| 16:30 | Bad BoysMiami cops, Marcus Burnett and Mike Lowrey, have 72 hours to find $100 million worth of heroin that was stolen from the basement of police headquar... | Action | 2h | |
| 18:30 | Bad Boys II On nowBurnett and Lowrey reunite as out-of-control, trash-talking cops. Bullets fly, cars crash, and laughs explode as they pursue a whacked-out drug lor... | Action | 2h 30m | |
| 21:00 | Bad Boys For LifeThe original Bad Boys are back! After a string of assassinations and an attempt on Mike's life, he convinces a hesitant Marcus to hold off retireme... | Comedy | 2h 5m | |
| 23:05 | The Fast And The FuriousAn undercover cop infiltrates a street-racing gang led by Dom Toretto, whose fans treat him like a rock star. Dirty money, big-rig hijacking, and h... | Action | 1h 45m |
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_1qvbmkkr/schedule?date=2026-10-13&tz=Australia/Sydney" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1qvbmkkr/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1qvbmkkr/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_1qvbmkkr/schedule?date=2026-10-13&tz=Australia/Sydney"); 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_1qvbmkkr/schedule?date=2026-10-13&tz=Australia/Sydney", { 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_1qvbmkkr/schedule", params={"date": "2026-10-13", "tz": "Australia/Sydney"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_1qvbmkkr/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_8kpvbx5h", "channel": "ch_1qvbmkkr", "start": "2026-10-12T12:35:00Z", "stop": "2026-10-12T14:35:00Z", "title": "Spider-Man", "sub_title": null, "description": "After a radioactive spider bite, a nerdy teen develops keen senses and amazin...", "category": [ "n/a" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-13", "tz": "Australia/Sydney" } }
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 | Sunday 17 December 2023 | Category |
|---|---|---|
| Nothing held for that day. Try another date. | ||
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.