74.3M 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_cy7wv431/schedule?date=2026-10-12&tz=Europe/Zurich
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Shenzhen OpenAction from the Shenzhen Open at the Bao'an Sports Centre in China. | Final - Yuan Sijun vs Wu Yize | 1h 30m | |
| 01:30 | UCI Road World ChampionshipsAction from the Elite Men's Individual Time Trial at the 2026 UCI Road World Championships in Montreal, Canada. | Montreal: Men's Elite Individual Time Trial | 1h 30m | |
| 03:00 | Shenzhen OpenAction from the Shenzhen Open at the Bao'an Sports Centre in China. | Final - Yuan Sijun vs Wu Yize | 2h | |
| 05:00 | UCI Road World ChampionshipsAction from the Elite Men's Individual Time Trial at the 2026 UCI Road World Championships in Montreal, Canada. | Montreal: Men's Elite Individual Time Trial | 2h | |
| 07:00 | Shenzhen OpenAction from the Shenzhen Open at the Bao'an Sports Centre in China. | Final - Yuan Sijun vs Wu Yize | 1h 30m | |
| 08:30 | Chicago MarathonAction from the 2026 Bank of America Chicago Marathon, as elite runners and competitors take on a course to and from Grant Park in the heart of the... | 2026 | 2h | |
| 10:30 | World Climbing SeriesCoverage from the annual world cup for competition climbing. | Chamonix: Mixed Lead Finals | 30m | |
| 11:00 | Shenzhen OpenAction from the Shenzhen Open at the Bao'an Sports Centre in China. | Final - Yuan Sijun vs Wu Yize | 2h | |
| 13:00 | UCI Gravel World Championships: 2026 WomenA look back at the UCI Gravel World Championships. | 1h | ||
| 14:00 | UCI Gravel World Championships: 2026 MenAction from the UCI Gravel World Championship, taking place in Nannup, Western Australia. | 1h | ||
| 15:00 | Tour of Lombardy CyclingFollow some of the greatest cycling action. | 2026 | 2h | |
| 17:00 | World Climbing SeriesAction from the men's and women's lead finals at the IFSC World Climbing Series event in Chamonix, France. | Chamonix: Mixed Lead Finals | 1h | |
| 18:00 | Global Champions TourAction from the annual show jumping series that brings together the top 30 riders in the FEI Jumping World Rankings. | Show Jumping: Rome | 2h | |
| 20:00 | Chicago MarathonAction from the 2026 Bank of America Chicago Marathon, as elite runners and competitors take on a course to and from Grant Park in the heart of the... | 2026 | 2h | |
| 22:00 | Paris-Tours CyclingFollow some of the greatest cycling action. | 2026 | 1h | |
| 23:00 | Tour of Lombardy CyclingAction from the 120th Il Lombardia, the final monument race of the season, which will see a new winner for the first time since 2020. | 2026 | 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_cy7wv431/schedule?date=2026-10-12&tz=Europe/Zurich" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_cy7wv431/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_cy7wv431/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_cy7wv431/schedule?date=2026-10-12&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_cy7wv431/schedule?date=2026-10-12&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_cy7wv431/schedule", params={"date": "2026-10-12", "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_cy7wv431/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_z7ekdf5m", "channel": "ch_cy7wv431", "start": "2026-10-11T22:00:00Z", "stop": "2026-10-11T23:30:00Z", "title": "Shenzhen Open", "sub_title": "Final - Yuan Sijun vs Wu Yize", "description": "Action from the Shenzhen Open at the Bao'an Sports Centre in China.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 16, "date": "2026-10-12", "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 150 countries.