73.8M 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_ddvypefg/schedule?date=2026-10-14&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:49 | Top Gear UKThe boys argue their way around Italy as they attempt to find the best hatchback. Contains Strong Language. | 1h 12m | ||
| 01:01 | Top Gear UKBreaking Bad star Aaron Paul hits the track and Richard Hammond takes on the Porsche 918. | 1h 16m | ||
| 02:16 | Top Gear UKJeremy Clarkson and James May investigate the increasingly popular 'crossover'. Contains Strong Language. | 1h 8m | ||
| 03:25 | Top Gear UKJeremy is out on the track to recreate the Battle of Britain using a Bentley and a BMW. | 1h 9m | ||
| 04:34 | Top Gear UKThe new BMW M5 is reviewed and the boys try their hand at motor racing on a budget. | 1h 15m | ||
| 05:49 | Top Gear UKFreddie, Chris and Paddy take an RV road trip across Florida’s swampy Everglades. | 1h 6m | ||
| 06:55 | Top Gear UKFreddie Flintoff transforms a Sinclair C5 into a bobsleigh. | 1h 5m | ||
| 08:00 | Top Gear UKThe boys qualify as lorry drivers before embarking on an HGV road trip across Britain. | 1h 5m | ||
| 09:05 | Top Gear UKThe team use a tank assault course to find out how reliable £500 used cars are. | 1h 7m | ||
| 10:12 | Top Gear UKFreddie, Chris and Paddy celebrate 100 years of the BBC by doing motorsport 1920s-style. | 1h 8m | ||
| 11:20 | Top Gear UKFreddie, Chris and Paddy head to Thailand on a road trip in old pick-ups. | 1h 6m | ||
| 12:26 | Top Gear UKChris, Freddie and Paddy hit the German autobahn in a trio of shiny new supercars. | 1h 8m | ||
| 13:33 | Top Gear UKFreddie goes stock car racing, and Chris gets to grips with the Mercedes-AMG One. | 1h 6m | ||
| 14:39 | Top Gear UKPaddy tries to get a team of young racers up to professional standard in just two months. | 1h 11m | ||
| 15:50 | Top Gear UKChris, Freddie and Paddy deploy science to find the best family car you can buy. | 1h 9m | ||
| 17:00 | Top Gear UKJeremy puts the Smart Roaster through its paces. Contains Strong Language. | 57m | ||
| 17:56 | Top Gear UKJeremy enjoys a spin in a sumptuous Rolls-Royce Phantom. Contains Strong Language. | 1h 1m | ||
| 18:57 | Top Gear UKThe Top Gear team pit some of the world's finest supercars against a £300 Jaguar. Contains Strong Language. | 59m | ||
| 19:56 | Top Gear UKJeremy, Richard and James pounce into action with a Jaguar-themed show. Contains Strong Language. | 1h 3m | ||
| 20:59 | Top Gear UKJeremy tests the Porsche 911s while James gets behind the wheel of the classic TR6. Contains Strong Language. | 1h 2m | ||
| 22:01 | Top Gear UKThe Mitsubishi Evo VIII and Subaru Impreza Sti go head to head. Contains Strong Language. | 59m | ||
| 22:59 | Top Gear UKJeremy, Richard and James drive across Spain in mid-range supercars. Contains Strong Language. | 1h 16m |
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_ddvypefg/schedule?date=2026-10-14&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ddvypefg/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ddvypefg/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_ddvypefg/schedule?date=2026-10-14&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_ddvypefg/schedule?date=2026-10-14&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_ddvypefg/schedule", params={"date": "2026-10-14", "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_ddvypefg/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_q29jr8wd", "channel": "ch_ddvypefg", "start": "2026-10-13T23:49:37Z", "stop": "2026-10-14T01:01:13Z", "title": "Top Gear UK", "sub_title": null, "description": "The boys argue their way around Italy as they attempt to find the best hatchb...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 22, "date": "2026-10-14", "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 150 countries.