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_45qykymt/schedule?date=2026-10-11&tz=Australia/Sydney
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 03:42 | The Force - Behind The LineOperation countdown conduct a search warrant in a Quakers Hill home in which they have intel on for dealing cannabis. Officers execute an arrest an... | 3.42 - 4.08am | Reality series | 26m |
| 04:09 | Highway PatrolWhen a car crashes a stop sign trying to run from police, it hurtles head on into the path of a bus. The driver has plenty of reasons to run -but w... | Slowest Getaway | Other reality television | 25m |
| 04:34 | The Force - Behind The LineWater Police respond to a "mayday" call for a stricken yacht 60kms off Darwin's coastline. A crew embark on a rescue mission but hold grave fears f... | 4.34 - 5.00am | Reality series | 26m |
| 12:05 | The Force - Behind The LineFour Irish backpackers are being tracked after fleeing South Australia with a large amount of stolen goods. Officers test out the latest technology... | 12.05 - 12.31pm | Reality series | 26m |
| 12:31 | Highway PatrolIt's carnage at the crossroads when one motorist fails to see a red light. A sister phoned to warn that the Highway Patrol were about, yet this bro... | Red Light Crash | Other reality television | 25m |
| 12:57 | Motorbike CopsCops stop some guys for not wearing seatbelts and discover they're on drugs. Mark and Matt help police track down a wanted man. A tailgater makes a... | 12.57 - 1.24pm | Other documentary series | 27m |
| 18:43 | Highway PatrolOfficers Brian West and Peter Shrimpton are in for the most frustrating night of their life when they meet a drunk woman who reckons she doesn't kn... | Don't Suck, Blow! | Other reality television | 27m |
| 19:10 | Beach CopsA dog has been left in a car in the hot sun. Police arrest a man who has exposed himself in a carpark. Horses have escaped from a paddock and the c... | 7.10 - 7.38pm | Other documentary series | 28m |
| 19:38 | Highway PatrolA group of tradies go ballistic when they’re caught without seatbelts and with an unsafe load. Then a motorcyclist carries on when his attempt to r... | Concrete Heads | Other reality television | 25m |
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_45qykymt/schedule?date=2026-10-11&tz=Australia/Sydney" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_45qykymt/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_45qykymt/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_45qykymt/schedule?date=2026-10-11&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_45qykymt/schedule?date=2026-10-11&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_45qykymt/schedule", params={"date": "2026-10-11", "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_45qykymt/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_x5d466ws", "channel": "ch_45qykymt", "start": "2026-10-10T16:42:55Z", "stop": "2026-10-10T17:08:55Z", "title": "The Force - Behind The Line", "sub_title": "3.42 - 4.08am", "description": "Operation countdown conduct a search warrant in a Quakers Hill home in which ...", "category": [ "reality series" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-11", "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 | Monday 13 October 2025 | 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.