76.4M 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 America/New_York 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 America/New_York. The same day from the API: GET /v1/channels/ch_dnjgznze/schedule?date=2026-10-14&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:16 | Police Interceptors: Episode 6Kev pepper-sprays a suspect resisting arrest. | S10 E6, Episode 6 | Drama, Series | 50m |
| 00:06 | Police Interceptors: Episode 6The Cumbrian interceptors rush to rescue a woman trapped inside a burning car. | S5 E6, Episode 6 | Drama, Series | 52m |
| 00:58 | Police Interceptors: Episode 7A driver of a stolen VW Beetle rewrites the highway code. | S6 E7, Episode 7 | Drama, Series | 53m |
| 01:51 | Police InterceptorsDocumentary series following an Essex police unit. | S2 E12, Episode 12 | Drama, Series | 52m |
| 02:43 | Police Interceptors: Episode 11Chris and Andy pursue a drug dealer through back streets. | S10 E11, Episode 11 | Drama, Series | 51m |
| 03:34 | Police InterceptorsDocumentary series following an Essex police unit. | S2 E6, Episode 6 | Drama, Series | 51m |
| 04:25 | Police Interceptors: Episode 3Jon Peacock comes across a half-naked man out on the street. | S7 E3, Episode 3 | Drama, Series | 53m |
| 05:18 | Police InterceptorsThe team hunts a wanted criminal as he flees on a motorbike. | S4 E1, Episode 1 | Drama, Series | 51m |
| 06:09 | Police Interceptors: Episode 10The team try to shut down an unlicensed radio station. | S3 E10, Episode 10 | Drama, Series | 51m |
| 07:00 | Police Interceptors: Episode 10 On nowThe team tackles some high-spirited boozers in Barrow. | S5 E10, Episode 10 | Drama, Series | 53m |
| 07:53 | Police Interceptors: Episode 4The hunt for an armed robber turns up a nasty surprise. | S9 E4, Episode 4 | Drama, Series | 51m |
| 08:44 | Police Interceptors: Episode 12Sean uses the big red key to give a drug dealer a door knock. | S12 E12, Episode 12 | Drama, Series | 51m |
| 09:35 | Police InterceptorsA petrol thief runs out of gas. | S4 E10, Episode 10 | Drama, Series | 51m |
| 10:26 | Police InterceptorsA runaway driver is uprooted in a very unusual hiding place. | S4 E18, Episode 18 | Drama, Series | 51m |
| 11:17 | Police Interceptors: Episode 5Interceptor Jim heads up a raid for a suspected drug dealer. | S12 E5, Episode 5 | Drama, Series | 51m |
| 12:08 | Police Interceptors: Episode 9Kev and Pete pursue a car into a farmer's field. | S10 E9, Episode 9 | Drama, Series | 51m |
| 12:59 | Police InterceptorsA suspected drug-driver is stopped. | S3 E11, Episode 11 | Drama, Series | 51m |
| 13:50 | Police Interceptors: Episode 12Action-packed special highlighting some serious cases. | S11 E12, Smash & Grab | Drama, Series | 51m |
| 14:41 | Police Interceptors: Episode 5The team smash down a door in order to save a man's life. | S5 E5, Episode 5 | Drama, Series | 53m |
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_dnjgznze/schedule?date=2026-10-14&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dnjgznze/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_dnjgznze/history?from=2025-10-14T00:00:00Z&to=2025-10-15T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_dnjgznze/schedule?date=2026-10-14&tz=America/New_York"); 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_dnjgznze/schedule?date=2026-10-14&tz=America/New_York", { 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_dnjgznze/schedule", params={"date": "2026-10-14", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_dnjgznze/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_e6sxyj6j", "channel": "ch_dnjgznze", "start": "2026-10-14T03:16:53Z", "stop": "2026-10-14T04:06:53Z", "title": "Police Interceptors: Episode 6", "sub_title": "Episode 6", "description": "Kev pepper-sprays a suspect resisting arrest.", "category": [ "drama", "series" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 19, "date": "2026-10-14", "tz": "America/New_York" } }
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 | Thursday 14 October 2021 | 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.