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. Search any past day on the Archive plan.
All times UTC. The same day from the API: GET /v1/channels/ch_2489nwfa/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Shop on TV | 3h | ||
| 03:00 | Wheel of FortuneGraham Norton hosts as Sheila, Leo and Austin compete to solve word puzzles to get the chance to spin the wheel and win big money prizes. | Sheila, Leo and Austin compete | 50m | |
| 03:50 | Night VisionNews, sport and weather from across Scotland. | News, sport and weather from across Scotland | 2h 10m | |
| 06:00 | Good Morning BritainMorning magazine featuring a lively mix of news and current affairs, plus health, entertainment and lifestyle features. | News, current affairs and lifestyle features | 3h 30m | |
| 09:30 | LorraineEarly morning chat show presented by Lorraine Kelly, with celebrity interviews, entertainment news, cooking tips, fashion features and musical guests. | Entertainment and fashion news | 30m | |
| 10:00 | This MorningA mix of celebrity chat, lifestyle features, advice and competitions. | Celebrity chat and lifestyle features | 2h 30m | |
| 12:30 | Loose WomenMore celebrity interviews and topical debate from a female perspective. | Topical debate from a female perspective | 1h | |
| 13:30 | ITV Lunchtime News; WeatherThe key headlines from the day so far. | The key headlines from the day so far | 25m | |
| 13:55 | STV News; Weather | 5m | ||
| 14:00 | Dickinson's Real DealDavid Dickinson and his team are in Market Bosworth, Leicestershire, where Mark Stevens reveals that all that glitters may not be gold and Stewart ... | David Dickinson presents the show from Bosworth Hall in Market Bosworth | 1h | |
| 15:00 | LingoPartners Darren and Emma, father and daughter Neil and Bex, and engaged couple Norah and Dom compete in the battle of words. Hosted by Adil Ray. | Another battle of words, hosted by Adil Ray | 59m | |
| 15:59 | STV Weather Central | 1m | ||
| 16:00 | Deal or No DealStephen Mulhern hosts as contestant Ash tries to open the 22 red boxes in the right order, taking on the infamous Banker for the chance to win a li... | Stephen Mulhern invites Ash to take part | 1h | |
| 17:00 | The ChaseBradley Walsh hosts as the programme celebrates its 15th anniversary with a special episode in which the four contestants take on not one but two C... | Bradley Walsh hosts an edition in which the contestants take on two Chasers | 1h | |
| 18:00 | STV News; Weather | 30m | ||
| 18:30 | ITV Evening News; WeatherA round-up of the day's news headlines and talking points from the UK and around the world. | A round-up of the day's news headlines | 45m | |
| 19:15 | The Martin Lewis Money Show: LiveThe cash expert answers the financial questions that matter most, and offers tips and tricks for making finances go further. | The cash expert answers the financial questions that matter most | 45m | |
| 20:00 | EmmerdaleMatty is finding life at the farm hard, Joe gives Sadie her mission and Robert is excited about his business. | Matty is finding life at the farm hard | 30m | |
| 20:30 | Coronation StreetTodd betrays Kit's confidence to a horrified Sarah, Gary implores Jake to return home and Nick's business begins to suffer. Debbie discovers a pamp... | Todd betrays Kit's confidence to Sarah | 30m | |
| 21:00 | The PartyUnder emotional pressure from a frantic Ben, Martin must decide how far he is prepared to go to bury the secret from their past and save his best f... | Martin is put under emotional pressure from Ben | 1h | |
| 22:00 | ITV News at Ten; WeatherA fresh perspective on the major stories of the day, featuring national and international news, with reports and analysis from ITV's correspondents. | A fresh perspective on the major stories of the day | 30m | |
| 22:30 | STV News; Weather | 10m | ||
| 22:40 | Scotland Tonight; WeatherCurrent affairs show tackling the issues behind the headlines from a Scottish perspective, with studio debate and analysis of major stories. | Current affairs show | 25m | |
| 23:05 | Killer in the House: The Murder of Nicholas BillinghamA look at the case of primary school teacher Fiona Beal, who killed her partner Nicholas Billingham and claimed that he had left her for another wo... | The case of a woman who killed her partner | 55m |
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_2489nwfa/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_2489nwfa/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_2489nwfa/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_2489nwfa/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_2489nwfa/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_2489nwfa/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_2489nwfa/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_846s0gc8", "channel": "ch_2489nwfa", "start": "2026-10-13T00:00:00Z", "stop": "2026-10-13T03:00:00Z", "title": "Shop on TV", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 24, "date": "2026-10-13", "tz": "UTC" } }
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 | Sunday 12 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.