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 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_9ph5rxzf/schedule?date=2026-10-16&tz=Australia/Sydney
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:10 | Dust DevilA woman on the run from her abusive husband encounters a mysterious hitch-hiker. | Horror | 1h 55m | |
| 00:05 | Prisoners Of The GhostlandIn the treacherous frontier city of Samurai Town, a notorious criminal must break an evil curse in order to rescue an abducted girl who has mysteri... | Action | 1h 45m | |
| 01:50 | All Hallows' EveOn Halloween, a babysitter finds an old VHS tape in the kids' trick or treat bag. The tape features three tales of terror, all linked together by a... | Horror | 1h 25m | |
| 03:15 | The HitcherA young man who escapes the clutches of a murderous hitchhiker is subsequently stalked by the hitcher and framed for his crimes. | Thriller | 1h 35m | |
| 04:50 | Crabs!In the middle of prom night, a swarm of murderous crabs descends upon a small coastal town. | Horror | 1h 30m | |
| 06:20 | MarmaladeBaron strikes up a friendship with his new cellmate, a man with a history of prison breaks. As they hatch a plan to escape, Baron recalls how he me... | Crime | 1h 50m | |
| 08:10 | Corrective MeasuresWhen a powerless new inmate arrives at a prison for supervillains, he must choose his friends wisely, or become a pawn in the deadly game between t... | Action | 1h 55m | |
| 10:05 | Slumdog MillionaireA young orphan from the slums of Mumbai, who is one question away from the Who Wants To Be A Millionaire jackpot, is arrested on suspicion of cheat... | Drama | 2h 5m | |
| 12:10 | Naked WeaponA group of girls are kidnapped and trained to become assassins for a criminal organisation, ruled over by the ruthless Madam M. | Action | 1h 40m | |
| 13:50 | DogmaIt's the film that's sparked controversy. Two fallen angels search for a way out of eternal exile in God-forsaken Wisconsin while a group of humans... | N/a | 2h 15m | |
| 16:05 | G.I. SamuraiA squadron of Japanese Self-Defence Force soldiers find themselves transported through time to their country's warring states era, when rival samur... | Action | 2h 25m | |
| 18:30 | What's Eating Gilbert GrapeStars Leonardo DiCaprio. Gilbert Grape is a young man trapped in an eccentric family in a small American town. When Becky arrives, she befriends th... | Drama | 2h | |
| 20:30 | CrashAfter a car crash, a TV director enters a subculture where collisions fuel sexual desire. Crash explores the erotic pull of danger, death, and the ... | Drama | 1h 50m | |
| 22:20 | The WrestlerA washed-up wrestler is forced to retire after a heart attack. His quest for a normal life is an unrelenting struggle. | Drama | 1h 50m |
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_9ph5rxzf/schedule?date=2026-10-16&tz=Australia/Sydney" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9ph5rxzf/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_9ph5rxzf/history?from=2026-07-05T00:00:00Z&to=2026-07-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_9ph5rxzf/schedule?date=2026-10-16&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_9ph5rxzf/schedule?date=2026-10-16&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_9ph5rxzf/schedule", params={"date": "2026-10-16", "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_9ph5rxzf/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_pkw18rg0", "channel": "ch_9ph5rxzf", "start": "2026-10-15T11:10:00Z", "stop": "2026-10-15T13:05:00Z", "title": "Dust Devil", "sub_title": null, "description": "A woman on the run from her abusive husband encounters a mysterious hitch-hiker.", "category": [ "horror" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-16", "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 5 July 2026 | 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.