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_wbbeqa9q/schedule?date=2026-10-12&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Strike A Pose: 80s Fashion iconsThe trendsetters that defined the decade! Unforgettable outfits, hair and music videos. | Strike A Pose: 80s Fashion icons! | 1h | |
| 01:00 | 80s Pop Pin-UpsGet ready for the pop prince and princesses that sole our hearts and minds in the 1980s. | 80s Pop Pin-Ups! | 2h | |
| 03:00 | 80s Chart Big OnesThese are the biggest songs that smashed the charts in the 80s. | 80s Chart Big Ones! | 2h | |
| 05:00 | Straight Up 80s HitsNo nonsense, just straight up 80s hits from the most iconic decade in music. | Straight Up 80s Hits! | 2h | |
| 07:00 | 80s Pop EssentialsStep back in time and re-live the essential anthems of the 80s. | 80s Pop Essentials! | 2h | |
| 09:00 | I Love 80s Rock 'N' RollThis is the ultimate collection of rock anthems, guitar riffs & big hair hits. | I Love 80s Rock 'N' Roll! | 2h | |
| 11:00 | Crush On You! 80s HearthrobsThese are the ones that stole our hearts and gave us sweet dreams in the 80s. | Crush On You! 80s Hearthrobs! | 2h | |
| 13:00 | Ultimate 80s Power BalladsCrank it up loud! These are the Power ballads that defined the decade. | Ultimate 80s Power Ballads! | 1h | |
| 14:00 | The Pop Don't StopNon-stop 80s pop is coming your way right now. | The Pop Don't Stop! | 2h | |
| 16:00 | Electric Dreams: 80s HitsA huge mix of all your favourite 80s hits. | Electric Dreams: 80s Hits! | 2h | |
| 18:00 | Club Classics: 1980 - 1989Get into the groove as we play you the biggest club classis from 1980 - 1989. | Club Classics: 1980 - 1989! | 2h | |
| 20:00 | 80s Chart Champions On nowNothing but back-to-back hits that stormed the charts across the globe. | 80s Chart Champions! | 2h | |
| 22:00 | Flashback FloorfillersGet ready to party with these huge 80s dance anthems. | Flashback Floorfillers! | 2h |
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_wbbeqa9q/schedule?date=2026-10-12&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_wbbeqa9q/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_wbbeqa9q/history?from=2026-06-25T00:00:00Z&to=2026-06-26T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_wbbeqa9q/schedule?date=2026-10-12&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_wbbeqa9q/schedule?date=2026-10-12&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_wbbeqa9q/schedule", params={"date": "2026-10-12", "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_wbbeqa9q/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_8jewdn0q", "channel": "ch_wbbeqa9q", "start": "2026-10-12T00:00:01Z", "stop": "2026-10-12T01:00:00Z", "title": "Strike A Pose: 80s Fashion icons", "sub_title": "Strike A Pose: 80s Fashion icons!", "description": "The trendsetters that defined the decade! Unforgettable outfits, hair and mus...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "date": "2026-10-12", "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 | Thursday 25 June 2026 | Category |
|---|---|---|
| 05:00 | Messin' About On The River | |
| 05:45 | Long Hot Summer | |
| 06:00 | The Heat Is On! Top 30 | |
| 10 more programmes that day, on Archive | ||
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.