74.3M 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_342prd73/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 03:00 | Open de España, DP World Tour GolfTournament highlights from the 2024 acciona Open de Espana presented by Madrid, held at Club de Campo Villa de Madrid. Frenchman Matthieu Pavon is ... | Highlights | 30m | |
| 03:30 | Open de España, DP World Tour GolfGolfing action of the Open de Espana, as part of the DP World Tour. | Highlights | 30m | |
| 04:00 | Golf AcademyTwo-time Major champion and Hall of Famer Sandy Lyle gives you his tips for success on the course. This lesson is dedicated to achieving a perfect ... | Sandy Lyle: Full Swing | 30m | |
| 04:30 | Golf AcademyTwo-time Major champion and Hall of Famer Sandy Lyle gives you his tips for success on the course. This lesson is dedicated to improving your short... | Sandy Lyle: Short Game | 30m | |
| 05:00 | Nick Dougherty's Tee Time TipsSky Sports Golf's expert pundit Nick Dougherty is on hand to provide his tee time tips ahead of The 150th Open, taking place at St Andrews. | The Open Championship | 30m | |
| 05:30 | Nick Dougherty's Tee Time TipsIn a winter special, Nick Dougherty shares his Tee Time Tips to help you improve your game out on the golf course. | Winter Special | 30m | |
| 06:00 | Playing LessonsPGA TOUR winner and 2018 Rookie of the Year, Aaron Wise shares his tips and strategies. | Aaron Wise | 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_342prd73/schedule?date=2026-10-13&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_342prd73/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_342prd73/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_342prd73/schedule?date=2026-10-13&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_342prd73/schedule?date=2026-10-13&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_342prd73/schedule", params={"date": "2026-10-13", "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_342prd73/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_txs5w0zw", "channel": "ch_342prd73", "start": "2026-10-13T03:00:00Z", "stop": "2026-10-13T03:30:00Z", "title": "Open de España, DP World Tour Golf", "sub_title": "Highlights", "description": "Tournament highlights from the 2024 acciona Open de Espana presented by Madri...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 7, "date": "2026-10-13", "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.