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 Europe/Zurich 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 Europe/Zurich. The same day from the API: GET /v1/channels/ch_hxs0g5q1/schedule?date=2026-10-15&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | GoggleboxBritain's sharpest armchair critics have been watching 'Strictly Come Dancing', 'Coronation Street', 'Antiques Roadshow', 'Frozen Planet II', 'King... | 1h 5m | ||
| 01:05 | First DatesCheeky bank manager Ross visits the restaurant for the third time. Ross has been single for three years, and hopes that primary school teacher Sara... | 1h | ||
| 02:05 | GoggleboxBritain's sharpest armchair critics have been watching: The State Funeral of HM Queen Elizabeth II, 'The Masked Dancer', 'Frozen Planet II', 'Bad S... | 1h | ||
| 03:05 | Below Deck Down UnderHarry makes his move with Brianna, but just as sparks begin to fly, he suffers an injury. Wihan ignites tension within the ranks when he oversteps ... | S3 E3, Walking on Eggshells | 45m | |
| 03:50 | The SimpsonsThe female members of the Simpson household discuss whether a woman can be successful without a man at her side. Marge and Lisa each tell their own... | S20 E20, Four Great Women and a Manicure | 25m | |
| 04:15 | The GoldbergsAdam calls Brea, despite promising to keep distance so they can each establish themselves at college, sending Beverly into a tailspin; Joanne lands... | S10 E3, Jenkintown After Dark | 25m | |
| 04:40 | The GoldbergsWith everyone preoccupied with the new baby on the way, Erica's graduation is met with lacklustre enthusiasm from Beverly and Geoff; Adam's new job... | S10 E4, Man of the House | 25m | |
| 05:05 | Brooklyn Nine-NineCharles and Jake's relationship is impacted during an eight-day stakeout in close quarters. Elsewhere, Rosa takes notice of Capt. Holt's nephew. | S2 E11, Stakeout | 20m | |
| 05:25 | Ramsay's Kitchen Nightmares USAChef Gordon Ramsay works his magic on a New York state eatery that has been renovated but still has horrible service and food. | S1 E5, Olde Stone Mill | 45m |
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_hxs0g5q1/schedule?date=2026-10-15&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_hxs0g5q1/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_hxs0g5q1/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_hxs0g5q1/schedule?date=2026-10-15&tz=Europe/Zurich"); 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_hxs0g5q1/schedule?date=2026-10-15&tz=Europe/Zurich", { 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_hxs0g5q1/schedule", params={"date": "2026-10-15", "tz": "Europe/Zurich"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_hxs0g5q1/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_ra47mm5g", "channel": "ch_hxs0g5q1", "start": "2026-10-14T22:00:00Z", "stop": "2026-10-14T23:05:00Z", "title": "Gogglebox", "sub_title": null, "description": "Britain's sharpest armchair critics have been watching 'Strictly Come Dancing...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-15", "tz": "Europe/Zurich" } }
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 155 countries.