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_x11ay3dh/schedule?date=2026-10-18&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | As BBC Radio 5 liveBBC Radio Ulster joins BBC Radio 5 live. | 5h 30m | ||
| 05:30 | Kerry McLeanKerry eases you into Sunday with great music, chat and requests. | 1h 30m | ||
| 07:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 07:03 | Sunday SequenceAudrey Carville and guests debate the week's religious and ethical news and explore the world of culture and ideas. | 57m | ||
| 08:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 08:03 | Morning ServiceParish mass from the Church of the Immaculate Heart of Mary Carryduff. Celebrant and preacher: Father Martin Graham. | 42m | ||
| 08:45 | Thought for the WeekPresenter Audrey Carville with a selection of Radio Ulster's Thoughts for the Day. | 15m | ||
| 09:00 | Sunday PoliticsMark Carruthers looks at the political developments of the week and questions policy makers on the key issues. | 30m | ||
| 09:30 | The State of UsTara Mills and Declan Harvey react and reflect on the news stories that impact all our lives and speak to those who can help us understand why we'r... | 30m | ||
| 10:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 10:03 | Sunday with Anna CurranBig interviews and conversation, lifestyle and entertainment, and an essential guide to the Sunday papers. | 1h 57m | ||
| 12:00 | BBC News NI updateThe latest national and international news. | 5m | ||
| 12:05 | The Mystery of... The King, the Thief and the Fall Guy2/6. With the Irish Crown Jewels missing just days before a royal visit, investigators face a baffling mystery with no signs of a break-in and a gr... | 25m | ||
| 12:30 | Storytellers: Short WorksTwo short stories: No Good Deed, by Riley Johnston, read by Tara Lynne O'Neill and I, the Flock by Mike McCormack, read by Stuart Graham. | 30m | ||
| 13:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 13:03 | Long Player with Steven RaineyThe lowdown on the best albums ever produced. | 57m | ||
| 14:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 14:03 | Healing SoundsArtist Jacqueline Rooney speaks to Malachi Cush about breast cancer, leaving teaching and discovering the courage to create an entirely new chapter. | 57m | ||
| 15:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 15:03 | Gardeners' CornerThe weekly gardening programme for keen gardeners with the latest advice, news and visits to gardens large and small around the province. Presented... | 57m | ||
| 16:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 16:03 | Sounds SacredRichard Yarr introduces popular sacred music and plays listeners' requests. | 57m | ||
| 17:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 17:03 | KintraHelen Mark and the Kintra team with stories, news, music and banter from Ulster-Scots communities at home and abroad. Email the team at kintra@bbc.... | 27m | ||
| 17:30 | The Music Is Black: Roots & Rhythms in NIGemma Bradley explores how black music has shaped Northern Ireland, through conversations with artists, DJs and cultural voices from across the com... | 30m | ||
| 18:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 18:03 | Classical Connections with John ToalJohn Toal presents a mix of popular classical music, news, reviews and interviews with local and touring performers. | 1h 57m | ||
| 20:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 20:03 | Sunday with Brian D'ArcyBrian D'Arcy delves into his wide experience of all sorts of music to bring you some tracks just right for a Sunday evening. | 57m | ||
| 21:00 | BBC News NI updateThe latest national and international news. | 3m | ||
| 21:03 | Sunday ClubKathy Clugston plays her favourite tracks from the last one hundred years. | 1h 52m | ||
| 22:55 | BBC News NI updateThe latest national and international news. | 5m | ||
| 23:00 | As BBC Radio 5 liveBBC Radio Ulster joins BBC Radio 5 live. | 6h 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_x11ay3dh/schedule?date=2026-10-18&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x11ay3dh/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x11ay3dh/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_x11ay3dh/schedule?date=2026-10-18&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_x11ay3dh/schedule?date=2026-10-18&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_x11ay3dh/schedule", params={"date": "2026-10-18", "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_x11ay3dh/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_1d98k3vx", "channel": "ch_x11ay3dh", "start": "2026-10-18T00:00:00Z", "stop": "2026-10-18T05:30:00Z", "title": "As BBC Radio 5 live", "sub_title": null, "description": "BBC Radio Ulster joins BBC Radio 5 live.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 33, "date": "2026-10-18", "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.