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_633vjwex/schedule?date=2026-10-16&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | Super Freaky 80s Floorfillers!It's time to get your groove on & bust out the moves as we play you the biggest 80s floor fillers! | 2h | ||
| 01:00 | 80s Pop Queens!Big hair, big style and big tunes. Check out the hottest pop queens from the 80s | 2h | ||
| 03:00 | Hottest Hits Of The 80s!Chart toppers, dance floor fillers and guitar anthems, this chart has it all! Stay with us to find out who makes it to the top. | 2h | ||
| 05:00 | Forever 80s!Dance floor vibes to pop rock anthems, the 80s ruled! We are taking you back with these feel-good tunes. | 2h | ||
| 07:00 | Ultimate 80s Love Songs!A swoon-worthy collection of the biggest love songs that ruled the 80s | 2h | ||
| 09:00 | The Heat Is On! Hot 80s Hits!The hottest hits that will take you back to best pop decade ever! | 2h | ||
| 11:00 | Iconic 80s Voices!One note is all it takes! These are the instantly recognisable voices that defined the 80s & beyond! | 1h | ||
| 12:00 | 80s Movie Magic!The coolest 80s songs from the big screen! | 1h | ||
| 13:00 | I Want My 80s Hits!All the big hits to take you back to the best decade in music | 2h | ||
| 15:00 | Cheesy 80s Tunes!The 80s was full of cheese and we loved it! Here are the biggest full fat anthems. | 2h | ||
| 17:00 | Greatest 80s Covers!Same song new voice! Check out the hottest cover versions of the 80s! | 1h | ||
| 18:00 | All Thriller, No Filler!All thriller & no filler! This playlist is wall-to-wall 80s anthems guaranteed! | 2h | ||
| 20:00 | The Ultimate 80s Mixtape!High-energy dance hits to power ballads, this mixtape has everything you need for an 80s party! | 2h | ||
| 22:00 | 80s Pop Throwbacks!Non-stop pop hits that will take you right back to the 80s! | 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_633vjwex/schedule?date=2026-10-16&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_633vjwex/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_633vjwex/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_633vjwex/schedule?date=2026-10-16&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_633vjwex/schedule?date=2026-10-16&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_633vjwex/schedule", params={"date": "2026-10-16", "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_633vjwex/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_qgrzqyf8", "channel": "ch_633vjwex", "start": "2026-10-15T23:00:00Z", "stop": "2026-10-16T01:00:00Z", "title": "Super Freaky 80s Floorfillers!", "sub_title": null, "description": "It's time to get your groove on & bust out the moves as we play you the bigge...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-16", "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 155 countries.