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_r27f4k6y/schedule?date=2026-10-12&tz=Australia/Sydney
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 02:05 | Winners & Losers S1 Ep18Jenny struggles to keep a dark secret from her siblings concerning her mum's health and Bridget and Wes announce some exciting news. | Mum's The Word | Drama | 49m |
| 02:55 | Winners & Losers S1 Ep19Zach organises a business weekend away with Frances and Jonathan. But when Sophie joins, work takes a backseat as they enjoy themselves. The arriva... | We Are Family | Drama | 49m |
| 08:32 | Juggling's Not Just A Party Trick S2 Ep4Sophie is keen to take her mind off her upcoming hearing with the hospital board but in doing so, makes a bad situation worse and must face some un... | Juggling's Not Just A Party Trick | Family drama series | 48m |
| 09:21 | A Day In The Life S2 Ep5Jenny's commitment to the band and her uni sees her immersed into a new world, with little time for Callum or the girls. After she lands a meeting ... | A Day In The Life | Family drama series | 45m |
| 10:06 | Twists Of Fete S2 Ep6It's the annual hospital fete fundraiser, but the fun and games are tainted for Sophie when rival student, Spencer, accuses her of receiving biased... | Twists Of Fete | Family drama series | 48m |
| 15:39 | A Problem Shared S2 Ep13Jenny is a ball of stress about starting her teaching rounds at Renwood and visions of Tiffany are doing little to ease her angst. Dot tells her, i... | A Problem Shared | Family drama series | 49m |
| 16:28 | The Right Time S2 Ep14Frances is depressed after being ex-communicated by Cat. Then, with the electricity about to be cut off, Jenny and Patrick learn the extent of thei... | The Right Time | Family drama series | 49m |
| 17:18 | Footprints S2 Ep15In Jenny's last week of her teaching placement at Renwood, she discovers the extent to which one of her students is bullying a student. Propelled b... | Footprints | Family drama series | 49m |
| 22:01 | Perfect Match S2 Ep21As Jenny renews contact with Callum, Bec and Matt fight for their dream block of land. Bridget is growing increasingly suspicious of Dot's cagey be... | Perfect Match | Family drama series | 49m |
| 22:51 | This Is Our Last Goodbye S2 Ep22The girls' year ends in an astonishing revelation, heartache and a horrific death. After her break-up with Doug, Sophie is handed the perfect distr... | This Is Our Last Goodbye | Family drama series | 49m |
| 23:40 | Whys & What Ifs S3 Ep1After Matt's horrific death, everyone is expecting Bec to fall apart, but she shows no overt sign of grief. Instead, she pastes on a brave face and... | Whys & What Ifs | Family drama series | 48m |
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_r27f4k6y/schedule?date=2026-10-12&tz=Australia/Sydney" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_r27f4k6y/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_r27f4k6y/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_r27f4k6y/schedule?date=2026-10-12&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_r27f4k6y/schedule?date=2026-10-12&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_r27f4k6y/schedule", params={"date": "2026-10-12", "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_r27f4k6y/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_17bkjyqv", "channel": "ch_r27f4k6y", "start": "2026-10-11T15:05:18Z", "stop": "2026-10-11T15:54:18Z", "title": "Winners & Losers S1 Ep18", "sub_title": "Mum's The Word", "description": "Jenny struggles to keep a dark secret from her siblings concerning her mum's ...", "category": [ "drama" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 11, "date": "2026-10-12", "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.
A free key in a minute, with Google. No card. Yesterday and today on every channel in 150 countries.