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-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Don't Worry, Be HappyAll the feelgood 80s tunes that will make you feel happy all day long. | Don't Worry, Be Happy! | 1h | |
| 01:00 | 80s Rock RewindWe are transporting you back to the decade of big hair, big energy & huge riffs. | 80s Rock Rewind! | 2h | |
| 03:00 | Feel Good 80s HitsAll the upbeat anthems of the decade to make you feel mighty real. | Feel Good 80s Hits! | 2h | |
| 05:00 | Big 80s BeatsHuge 80s hits for pure feelgood nostalgia vibes. | Big 80s Beats! | 2h | |
| 07:00 | 80s Heartthrob HitsCrush worthy pop anthems from the hottest pin-ups of the 80s. | 80s Heartthrob Hits! | 2h | |
| 09:00 | Essential Tracks Of The 80sThe only 80s tracks you should have on your playlist! These are the big ones of the decade. | Essential Tracks Of The 80s! | 2h | |
| 11:00 | Huge 80s Hits All DaySongs that owned the charts, the dance floors & the decade! We are playing huge 80s hits all day. | Huge 80s Hits All Day! | 2h | |
| 13:00 | Iconic Vids Of The 80sA must-see collection of the music videos that defined the decade. | Iconic Vids Of The 80s! | 1h | |
| 14:00 | Let's Dance: 80s Party AnthemsPut on your red shoes and dance to the songs that defined the golden age of dance music. | Let's Dance: 80s Party Anthems! | 2h | |
| 16:00 | Hottest Bands Of The 80sFrom rock to pop, these are the bands that were on everyone's stereos in the 80s. | Hottest Bands Of The 80s! | 2h | |
| 18:00 | The Biggest 80s Party EverLets party like it’s the 80s with all the biggest hits from your favourite throwback artists. | The Biggest 80s Party Ever! | 2h | |
| 20:00 | Supermassive 80s Pop HitsThis is the ultimate collection of 80s pop hits. | Supermassive 80s Pop Hits! | 2h | |
| 22:00 | You Spin Me Round: Throwback PartyBust out the legwarmers and hit the 80s disco of dreams, as we bring you the perfect throwback party playlist. | You Spin Me Round: Throwback Party! | 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-13&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-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_wbbeqa9q/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_wbbeqa9q/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_wbbeqa9q/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_28tvn521", "channel": "ch_wbbeqa9q", "start": "2026-10-13T00:00:01Z", "stop": "2026-10-13T01:00:00Z", "title": "Don't Worry, Be Happy", "sub_title": "Don't Worry, Be Happy!", "description": "All the feelgood 80s tunes that will make you feel happy all day long.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 13, "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 | 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.