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 UTC time, what is on now and next, and the same data in your app with one call.
All times UTC. The same day from the API: GET /v1/channels/ch_3xg8kpd7/schedule?date=2026-10-12&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Stop Search SeizeCustoms officer John Heffernan organises an operation to intercept illegally imported cigarettes entering Ireland by road. | 1h | ||
| 01:00 | Highway CopsA free ride proves costly when a passenger realises the driver is drunk, and the hunt for a speeding driver begins at a funeral and ends at a grave... | 30m | ||
| 01:30 | Highway CopsA close-call head-on collision shocks Constable Dwight, and Constable Justin Bateup is not fooled by some car modifications. | 30m | ||
| 02:00 | Highway CopsA driver who was stopped for an expired registration ends up arrested, and Constable Alex comes head-to-head with a driver on a one-lane bridge. | 30m | ||
| 02:30 | Highway CopsPolice investigate a mysterious car crash near Christchurch, and a driver is slow to let others pass but quickly gets into an argument with the law. | 30m | ||
| 03:00 | Highway CopsA man goes on the run, abandoning his dog, but getting caught by the police dog. Tinky Winky receives a speeding ticket from a senior constable. | 30m | ||
| 03:30 | Highway CopsConstable Tony Sharp chases a motorcyclist with a cat cage on his bike near Levin, and a bad driver is completely unaware of his flaws. | 30m | ||
| 04:00 | Highway CopsSergeant Pat Duffy catches a fast driver in Taranaki, Constable Rick Lawrie pulls over a slow driver near Hanmer, and Crate Day is a bad day for ro... | 30m | ||
| 04:30 | Highway CopsA driver's crane truck rocks and rolls over, and Senior Constable Brocket gets the opportunity to lend his footwear to a partying bachelor for a dr... | 30m | ||
| 05:00 | Air Ambulance ERThe team of paramedics go to the rescue of a lumberjack who has fallen from a great height and gravely injured himself. | 1h | ||
| 06:00 | Air Ambulance ERThe team hurry to the rescue of an elderly couple who have been involved in serious crash on the A66. | 1h | ||
| 07:00 | Air Ambulance ERThe helicopter battles against bad weather as it attempts to provide urgent and necessary care to someone suspected of being a stroke victim. | 1h | ||
| 08:00 | Air Ambulance ERA rescue for the team involving a heart attack victim and a serious car accident scene following a family vehicle crash leaves ambulance staff need... | 1h | ||
| 09:00 | Stop Search SeizeA lorry driver chooses to arm himself for his own safety, and a rattlesnake makes an unexpected appearance. Meanwhile, in Shannon, officers reveal ... | 1h | ||
| 10:00 | Stop Search SeizeOfficials uncover packages of weaponry that includes tasers and nun chucks, as well as another set of packages filled with cigarettes worth million... | 1h | ||
| 11:00 | Stop Search SeizeA woman's car gets seized, another woman at the airport claims her weapons are fake despite them actually being real, and a third traveller refuses... | 1h | ||
| 12:00 | Stop Search SeizeOne passenger appears to be carrying a handgun in their suitcase, and another passenger's bag gets swabbed and tests positive for traces of drugs. | 1h | ||
| 13:00 | Highway CopsA manhunt takes place downstream when a motorist tries to flee and jumps into the flooded Clutha River, and one driver goes off a ledge after takin... | 30m | ||
| 13:30 | Highway CopsA police vehicle ramming in Foxton takes the act of running away to a new level. | 30m | ||
| 14:00 | Highway CopsRowdy motorheads create a ruckus in Timaru, a young driver attempts to give away his licence, and an ineligible driver travels to the beach on day ... | 30m | ||
| 14:30 | Highway CopsA hot-pool bath before getting on the road puts a driver to sleep, and an irritable motorist yells in the face of Sergeant Martin. | 30m | ||
| 15:00 | Highway CopsA dash cam catches a reckless hatchback hitting a truck, a worn-out man could be the longest member of the AA, and a driver travels three hours wit... | 30m | ||
| 15:30 | Highway CopsOfficers deal with some clueless drivers, clothesless drivers, and roadside turkey wrangling. | 30m | ||
| 16:00 | Highway CopsA smoker almost burns himself when he hits a power pole, the cousin nobody wants to tag along on a road trip, and Bolt the dog lives up to his moni... | 30m | ||
| 16:30 | Highway CopsA terrifying crash takes place near Horohoro, a traveller collides at the pass, and a sheep walks down the highway. | 30m | ||
| 17:00 | Air Ambulance ERThe team of paramedics go to the rescue of a lumberjack who has fallen from a great height and gravely injured himself. | 1h | ||
| 18:00 | Air Ambulance ERThe team hurry to the rescue of an elderly couple who have been involved in serious crash on the A66. | 1h | ||
| 19:00 | Air Ambulance ERThe helicopter battles against bad weather as it attempts to provide urgent and necessary care to someone suspected of being a stroke victim. | 1h | ||
| 20:00 | Air Ambulance ERA rescue for the team involving a heart attack victim and a serious car accident scene following a family vehicle crash leaves ambulance staff need... | 1h | ||
| 21:00 | Stop Search Seize On nowA lorry driver chooses to arm himself for his own safety, and a rattlesnake makes an unexpected appearance. Meanwhile, in Shannon, officers reveal ... | 1h | ||
| 22:00 | Stop Search SeizeOfficials uncover packages of weaponry that includes tasers and nun chucks, as well as another set of packages filled with cigarettes worth million... | 1h | ||
| 23:00 | Stop Search SeizeA woman's car gets seized, another woman at the airport claims her weapons are fake despite them actually being real, and a third traveller refuses... | 1h |
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_3xg8kpd7/schedule?date=2026-10-12&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3xg8kpd7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3xg8kpd7/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3xg8kpd7/schedule?date=2026-10-12&tz=UTC"); 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_3xg8kpd7/schedule?date=2026-10-12&tz=UTC", { 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_3xg8kpd7/schedule", params={"date": "2026-10-12", "tz": "UTC"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_3xg8kpd7/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_zxw35rvk", "channel": "ch_3xg8kpd7", "start": "2026-10-12T00:00:00Z", "stop": "2026-10-12T01:00:00Z", "title": "Stop Search Seize", "sub_title": null, "description": "Customs officer John Heffernan organises an operation to intercept illegally ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 32, "date": "2026-10-12", "tz": "UTC" } }
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.