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. Search any past day on the Archive plan.
All times UTC. The same day from the API: GET /v1/channels/ch_0awytaan/schedule?date=2026-10-16&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | BBC Introducing on 1Xtra with Angelle JosephAngelle Joseph plays the best under-the-radar music from the BBC Introducing uploader! I.am.Afiya Steps Up, and Savannah Howard takes on the 60 sec... | 2h | ||
| 02:00 | 1Xtra Salutes... Burna Boy1Xtra celebrates Burna Boy. Featuring an hour of his greatest tunes and best moments at the BBC! | 1h | ||
| 03:00 | 1Xtra's R&B Slow Jamz Mix with ChuckieChuckie plays his favourite slow jamz hits from the UK. Playing hits from Kwn, Children of Zeus, Mnelia and more. | 30m | ||
| 03:30 | 1Xtra's Throwback ThursdayWe're going back to school with an hour of old school throwback bangers from playground anthems to tunes that made your school days iconic. | 1h | ||
| 04:30 | 1Xtra's Throwback PartyKeke brings your throwback hour rave with rapper and actor Ludacris! | 1h 2m | ||
| 05:32 | 1Xtra PlaylistsThe sound of 1Xtra, uninterrupted... | 28m | ||
| 06:00 | 1Xtra Breakfast with Nadia JaeWake up with Nadia for the perfect mix of music, gossip and giggles! @1Xtra on social. | 3h | ||
| 09:00 | DJ Day DayDay Day tests your music knowledge with Lyrical Genius and jumps in the mix! @1Xtra on social. | 2h 45m | ||
| 11:45 | Newsbeat @ 12:45The latest news from around the UK and around the world. | 15m | ||
| 12:00 | Sian AndersonThis Friday Sian hands over the aux to our Junior Drivers, putting their music taste! | 3h | ||
| 15:00 | Remi BurgzRemi takes you into the weekend, with the best music, laughs and energy! @1Xtra on social. | 1h 45m | ||
| 16:45 | Newsbeat @ 17:45The latest news from around the UK and around the world. | 15m | ||
| 17:00 | Remi BurgzRemi presses play on this week's AfroMEETS Mix. @1Xtra on social. | 1h | ||
| 18:00 | Kash & PharxohKash & Pharxoh bring the Friday night party to 1Xtra. @1Xtra on social. | 1h 30m | ||
| 19:30 | Kash & Pharxoh - The Triple Threat MixKash & Pharxoh go in the mix. | 30m | ||
| 20:00 | Kenny AllstarThe sounds of the streets with Kenny. @1Xtra on social. Contains strong language. | 1h 30m | ||
| 21:30 | Kenny Allstar - Fresh 1s MixKenny goes in the mix. Contains strong language. | 30m | ||
| 22:00 | 1Xtra's Friday Night Party with Izzy BossyIzzy Bossy runs the riddims to keep your party rolling. Contains strong language. | 1h 30m | ||
| 23:30 | 1Xtra's Friday Night Party with......Izzy Bossy - The Bossy Mix. Izzy goes in the mix! Contains strong language. | 30m |
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_0awytaan/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_0awytaan/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0awytaan/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_0awytaan/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_0awytaan/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_0awytaan/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_0awytaan/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_ces7kfv6", "channel": "ch_0awytaan", "start": "2026-10-16T00:00:00Z", "stop": "2026-10-16T02:00:00Z", "title": "BBC Introducing on 1Xtra with Angelle Joseph", "sub_title": null, "description": "Angelle Joseph plays the best under-the-radar music from the BBC Introducing ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 19, "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 150 countries.