73.8M 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.
All times UTC. The same day from the API: GET /v1/channels/ch_3wpgnddk/schedule?date=2026-10-19&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:00 | Guy Garvey's Finest HourGuy Garvey brings his own unique taste to 6 Music. | 3h | ||
| 02:00 | The 6 Music PlaylistWant to hear the latest tracks 6 Music have added to their playlist? Then listen here! | 1h | ||
| 03:00 | The BBC Introducing MixtapeEmily Pilbeam presents a mixtape of her personal selection of tracks from BBC Introducing. | 1h | ||
| 04:00 | Amy LaméChris with the early morning breakfast show. | 2h | ||
| 06:00 | Nick GrimshawActor Romola Garai (known for Atonement, Glorious 39 and BBC series The Hour) chats to Nick about her favourite music and new TV series, Adultery. | 3h | ||
| 09:00 | Lauren LaverneLauren welcomes you to a brand new week with uplifting tunes. | 3h | ||
| 12:00 | Chris HawkinsCraig Charles keeps the tunes coming to help kick-start your week. | 3h | ||
| 15:00 | Steve Lamacq's Teatime SessionShowcasing the very best of what Steve's listening to and supporting right now. | 3h | ||
| 18:00 | New Music Fix DailyDeb Grant and Nathan Shepherd hand-pick and share their latest new music obsessions. | 2h | ||
| 20:00 | Riley & CoeMarc Riley plays his music loves from every era and genre. | 2h | ||
| 22:00 | Mercury Prize Pocket Guides 2026Matt Everitt profiles each of the 12 shortlisted albums. | 1h | ||
| 23:00 | In Their Own Words: Amy WinehouseTen years on from her tragic death, extracts of interviews Amy Winehouse gave to the BBC provide an insight into a hugely talented, but sadly troub... | 1h |
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_3wpgnddk/schedule?date=2026-10-19&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3wpgnddk/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_3wpgnddk/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_3wpgnddk/schedule?date=2026-10-19&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_3wpgnddk/schedule?date=2026-10-19&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_3wpgnddk/schedule", params={"date": "2026-10-19", "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_3wpgnddk/schedule?date=2026-10-19, the first programme { "data": [ { "id": "ls_wd77kzth", "channel": "ch_3wpgnddk", "start": "2026-10-18T23:00:00Z", "stop": "2026-10-19T02:00:00Z", "title": "Guy Garvey's Finest Hour", "sub_title": null, "description": "Guy Garvey brings his own unique taste to 6 Music.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 12, "date": "2026-10-19", "tz": "UTC" } }
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.