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_pb3wh68p/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:31 | Emergency Bikers: Episode 8Biker paramedic Mark Hayes goes to the rescue of an RAF medic seriously ill on a platform at New Street Station and Steve Harris helps a pensioner ... | S1 E8, Episode 8 | Reality, Series | 50m |
| 00:21 | Emergency Bikers: Episode 9 On nowA 9 year olds been knocked over on his way to school and biker paramedic SteveHarris finds himself on a canal boat. T | S1 E9, Episode 9 | Reality, Series | 51m |
| 01:12 | Emergency Bikers: Episode 2The biker cops continue their crack down on some of the busiest roads in the UK. Other motorcycle units are clearing some of the country’s most ico... | S2 E2, Episode 2 | Reality, Series | 50m |
| 02:02 | Emergency Bikers: Episode 3Paramedic Mark Hayes struggles to work out what’s wrong with a man collapsed on the bank of a canal and Steve Harris tends to a lady badly injured ... | S2 E3, Episode 3 | Reality, Series | 51m |
| 02:53 | Emergency Bikers: Episode 4Essex biker cop PC Martin Ackers takes on illegal drivers and the bike squad crack down on drivers without seatbelts. And paramedic Steve Harris he... | S2 E4, Episode 4 | Reality, Series | 51m |
| 03:44 | Emergency Bikers: Episode 5Essex biker cops clamp down on offences in the Christmas traffic. Paramedic Steve is called to a case of hypothermia and we meet the nation's blood... | S2 E5, Episode 5 | Reality, Series | 50m |
| 04:34 | Emergency Bikers: Episode 6Paramedic Mark Hayes responds to a stabbing and has to rescue a woman from a car crash who's on her way to her critically ill baby. The Emergency B... | S2 E6, Episode 6 | Reality, Series | 51m |
| 05:25 | Emergency Bikers: Episode 7The bikers are back in action with the paramedics responding to emergency calls where a child’s been knocked over outside school, and a panic attac... | S2 E7, Episode 7 | Reality, Series | 51m |
| 06:16 | Chopper Squad: Episode 2Professional scuba diver Brian Green has been found floating and not breathing, and is on a boat near the Noises, a group of islands in the Hauraki... | S2 E2, Lifeboat | Series, Documentary | 26m |
| 06:42 | Chopper Squad: Episode 3On Great Mercury Island near Coromandel, a scuba diver has surfaced unconscious without a pulse. Without Rescue 1 he may soon be dead. | S2 E3, The Farewell | Series, Documentary | 26m |
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_pb3wh68p/schedule?date=2026-10-13&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_pb3wh68p/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_pb3wh68p/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_pb3wh68p/schedule?date=2026-10-13&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_pb3wh68p/schedule?date=2026-10-13&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_pb3wh68p/schedule", params={"date": "2026-10-13", "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_pb3wh68p/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_gdcefbm5", "channel": "ch_pb3wh68p", "start": "2026-10-12T23:31:00Z", "stop": "2026-10-13T00:21:00Z", "title": "Emergency Bikers: Episode 8", "sub_title": "Episode 8", "description": "Biker paramedic Mark Hayes goes to the rescue of an RAF medic seriously ill o...", "category": [ "reality", "series", "human interest" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 10, "date": "2026-10-13", "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.