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_3w1tye6z/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:00 | TeleshoppingShopping from Home. | 3h | ||
| 01:00 | James May's Man LabJames May continues his epic quest to reskill the modern male as he attempts a risky stunt involving an ailing seaside town and a great big monster... | 1h | ||
| 02:00 | James May's Toy StoriesAirfix: James May pushes traditional toys to the limit in spectacular supersize challenges - here he tries to make a full-size Spitfire out of Airf... | 1h | ||
| 03:00 | James May's Toy Stories On nowPlasticine: James May proves how traditional old-fashioned toys are still relevant - here he tries to make a garden entirely out of Plasticine for ... | 1h | ||
| 04:00 | James May's Toy StoriesMeccano: James May pushes traditional toys to the limit in supersize challenges. James joins forces with Edwina Currie to build a full-size bridge ... | 1h | ||
| 05:00 | James May's Man LabJames May continues his epic quest to reskill the modern male as he attempts a risky stunt involving an ailing seaside town and a great big monster... | 1h | ||
| 06:00 | James May's Toy StoriesAirfix: James May pushes traditional toys to the limit in spectacular supersize challenges - here he tries to make a full-size Spitfire out of Airf... | 1h | ||
| 07:00 | James May's Toy StoriesPlasticine: James May proves how traditional old-fashioned toys are still relevant - here he tries to make a garden entirely out of Plasticine for ... | 1h | ||
| 08:00 | James May's Toy StoriesMeccano: James May pushes traditional toys to the limit in supersize challenges. James joins forces with Edwina Currie to build a full-size bridge ... | 1h | ||
| 09:00 | Some Mothers Do 'Ave 'EmCliffhanger: Classic sitcom with the great Michael Crawford. Frank has a bit of hanging around to do in this episode, as the Spencers go for a picn... | 35m | ||
| 09:35 | Some Mothers Do 'Ave 'EmThe RAF Reunion: Classic laughs with the hapless Frank Spencer. The sad tale of Frank's spell in the RAF is revealed. The great Fulton Mackay, of P... | 40m | ||
| 10:15 | Some Mothers Do 'Ave 'EmThe Public Relations Course: Michael Crawford stars as the much impersonated Frank Spencer in the 1970s sitcom. Betty persuades Frank to take up a ... | 40m | ||
| 10:55 | Some Mothers Do 'Ave 'EmFrank and Marvin: Betty has to break the news to Frank that she is pregnant. Frank goes for a job at a holiday camp, pitching himself as a ventrilo... | 40m | ||
| 11:35 | Some Mothers Do 'Ave 'EmFather's Class: Frank and Betty try to get some practice in looking after children by taking Judy and Alison to the zoo. Yes, it's the famous one w... | 40m | ||
| 12:15 | Some Mothers Do 'Ave 'EmThe Baby Arrives: A truly classic episode of the 70s comedy in which Frank Spencer faces the dilemma of wife Betty and the cat giving birth at the ... | 40m | ||
| 12:55 | Some Mothers Do 'Ave 'EmCliffhanger: Classic sitcom with the great Michael Crawford. Frank has a bit of hanging around to do in this episode, as the Spencers go for a picn... | 35m | ||
| 13:30 | Some Mothers Do 'Ave 'EmThe RAF Reunion: Classic laughs with the hapless Frank Spencer. The sad tale of Frank's spell in the RAF is revealed. The great Fulton Mackay, of P... | 40m | ||
| 14:10 | Some Mothers Do 'Ave 'EmThe Public Relations Course: Michael Crawford stars as the much impersonated Frank Spencer in the 1970s sitcom. Betty persuades Frank to take up a ... | 40m | ||
| 14:50 | Some Mothers Do 'Ave 'EmFrank and Marvin: Betty has to break the news to Frank that she is pregnant. Frank goes for a job at a holiday camp, pitching himself as a ventrilo... | 40m | ||
| 15:30 | Some Mothers Do 'Ave 'EmFather's Class: Frank and Betty try to get some practice in looking after children by taking Judy and Alison to the zoo. Yes, it's the famous one w... | 40m | ||
| 16:10 | Some Mothers Do 'Ave 'EmThe Baby Arrives: A truly classic episode of the 70s comedy in which Frank Spencer faces the dilemma of wife Betty and the cat giving birth at the ... | 40m | ||
| 16:50 | Some Mothers Do 'Ave 'EmCliffhanger: Classic sitcom with the great Michael Crawford. Frank has a bit of hanging around to do in this episode, as the Spencers go for a picn... | 35m | ||
| 17:25 | Some Mothers Do 'Ave 'EmThe RAF Reunion: Classic laughs with the hapless Frank Spencer. The sad tale of Frank's spell in the RAF is revealed. The great Fulton Mackay, of P... | 40m | ||
| 18:05 | Some Mothers Do 'Ave 'EmThe Public Relations Course: Michael Crawford stars as the much impersonated Frank Spencer in the 1970s sitcom. Betty persuades Frank to take up a ... | 40m | ||
| 18:45 | Some Mothers Do 'Ave 'EmFrank and Marvin: Betty has to break the news to Frank that she is pregnant. Frank goes for a job at a holiday camp, pitching himself as a ventrilo... | 35m | ||
| 19:20 | Some Mothers Do 'Ave 'EmFather's Class: Frank and Betty try to get some practice in looking after children by taking Judy and Alison to the zoo. Yes, it's the famous one w... | 30m | ||
| 19:50 | Some Mothers Do 'Ave 'EmThe Baby Arrives: A truly classic episode of the 70s comedy in which Frank Spencer faces the dilemma of wife Betty and the cat giving birth at the ... | 35m | ||
| 20:25 | James May's Man LabJames May continues his epic quest to reskill the modern male as he attempts a risky stunt involving an ailing seaside town and a great big monster... | 50m | ||
| 21:15 | Great Coastal Railway JourneysHornsea to Spurn Point: Michael Portillo travels from the seaside resort of Hornsea, to Spurn Point, where he learns about a life-saving 19th-centu... | 45m | ||
| 22:00 | TeleshoppingShopping from Home. | 3h |
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_3w1tye6z/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_3w1tye6z/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3w1tye6z/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3w1tye6z/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_3w1tye6z/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_3w1tye6z/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_3w1tye6z/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_f4vvkdjw", "channel": "ch_3w1tye6z", "start": "2026-10-12T22:00:00Z", "stop": "2026-10-13T01:00:00Z", "title": "Teleshopping", "sub_title": null, "description": "Shopping from Home.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 30, "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 | 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.