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_vhrag6sg/schedule?date=2026-10-10&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | 5 Stages of a Break Up! Top 20Relive the highs and lows of lost love with our hand picked top 20 selection of heart-wrenching break up hits from the 00s. | 1h 35m | ||
| 01:35 | A Million Love Songs!A little bit of love in the 90s from the likes of Take That, George Michael, Boyzone, Whitney Houston, Celine Dion and a load more. | 25m | ||
| 02:00 | Cuddle On The Couch-The Love 504 hours of 90s love. What more could you ask for? We all need cuddle on the couch every now and again. | 4h 25m | ||
| 06:25 | Mellow Moments!Kick back and relax with some mellow moments. Chilled to perfection. | 35m | ||
| 07:00 | Simon Bates' Rock Ballads! 1990-99From our sister channel NOW 90s, 2 hours of songs that wouldn't have sounded out of place on Simon's 'Our Tune' slot on Radio 1 in the 90s. Includi... | 1h | ||
| 08:00 | Simon Bates' Rock Ballads! 1990-99From our sister channel NOW 90s, 2 hours of songs that wouldn't have sounded out of place on Simon's 'Our Tune' slot on Radio 1 in the 90s. Includi... | 2h | ||
| 10:00 | Mellow Moments!Kick back and relax with some mellow moments. Chilled to perfection. | 1h | ||
| 11:00 | Love Takes Over: All Day!From the first kiss to the last dance, all day we're feeling the heartbreak, happiness & timeless romance! From teenage crushes to movie love songs. | 2h | ||
| 13:00 | 40 Biggest No 1 Love SongsEvery one a Number 1! 40 of the Biggest, most timeless love songs from the 90s & 00s! Featuring Westlife, Celine Dion, Leona Lewis, Robbie Williams... | 3h 30m | ||
| 16:30 | Love Takes Over: All Day!From the first kiss to the last dance, all day we're feeling the heartbreak, happiness & timeless romance! From teenage crushes to movie love songs. | 30m | ||
| 17:00 | Mariah Carey : Power DivaStarting in 1990, two hours of powerhouse ballads, legendary love songs & pure emotion that can only be delivered by a musical queen. This is the i... | 2h | ||
| 19:00 | Pat Sharp - Madly In Love!Pat fires Cupid's arrow at 30 hits that made us madly in love! With uplifting dance bangers, cool RnB & perfect pop moments that are truly timeless. | 2h 30m | ||
| 21:30 | Love Takes Over: All Day!From the first kiss to the last dance, all day we're feeling the heartbreak, happiness & timeless romance! From teenage crushes to movie love songs. | 30m | ||
| 22:00 | Forgotten Love Songs 1990-200920 years of love songs starting in 1990. Jimmy Sommerville, Rick Astley, James Blunt, Dido & Beyonce! All names you know, but do you remember the s... | 1h 40m | ||
| 23:40 | Love Takes Over: All Day!From the first kiss to the last dance, all day we're feeling the heartbreak, happiness & timeless romance! From teenage crushes to movie love songs. | 20m |
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_vhrag6sg/schedule?date=2026-10-10&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_vhrag6sg/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_vhrag6sg/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_vhrag6sg/schedule?date=2026-10-10&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_vhrag6sg/schedule?date=2026-10-10&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_vhrag6sg/schedule", params={"date": "2026-10-10", "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_vhrag6sg/schedule?date=2026-10-10, the first programme { "data": [ { "id": "ls_2nfaz27g", "channel": "ch_vhrag6sg", "start": "2026-10-10T00:00:00Z", "stop": "2026-10-10T01:35:00Z", "title": "5 Stages of a Break Up! Top 20", "sub_title": null, "description": "Relive the highs and lows of lost love with our hand picked top 20 selection ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 15, "date": "2026-10-10", "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 | Sunday 12 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.