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.
All times UTC. The same day from the API: GET /v1/channels/ch_d590xs86/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:23 | The BridgeCopenhagen is up in arms following a court case in which a group of police officers who beat an immigrant to death are found innocent. | Episode 6 | Drama, Series | 1h 10m |
| 00:33 | The BridgeTo save a bus full of school children, the murderer demands that five companies which benefit from child labour be set on fire by the public. | Episode 7 | Drama, Series | 1h 10m |
| 01:43 | The BridgeThe murderer is finished, having succeeded in opening people's eyes to society's issues. But Saga believes that this is not the end of his plan. | Episode 8 | Drama, Series | 1h 10m |
| 02:53 | The Bridge On nowThe clues and evidence in the investigation have led the police to a man who could be the murderer. | Episode 9 | Drama, Series | 1h 10m |
| 04:03 | The Adventures Of Sherlock HolmesHolmes invites the good doctor to their first murder investigation. | S1 E1, A Scandal in Bohemia | Drama, Series | 30m |
| 04:33 | Jake and the FatmanAn author who's a former cop literally kills for a best-seller, giving Jake and McCabe a plot that keeps them guessing. | S1 E21, How Long Has This Thing Been Going On? | Drama, Crime | 55m |
| 05:28 | Jake and the FatmanAn ambitious exec and his devious wife desperate for success commit a murder, and it's up to Jake and McCabe to put them out of business. | S1 E22, I Guess I'll Have to Change My Plans | Drama, Crime | 55m |
| 06:23 | Jake and the FatmanJake goes to Oahu to visit his former partner, only to find him murdered, so McCabe arrives from the mainland to help out. | Wish You Were Here | Drama, Crime | 1h 45m |
| 08:08 | Jake and the FatmanMcCabe investigates the death of a mugger who assaulted a tourist and uncovers dark secrets that the mainlander and his family have been keeping. | I'll Never Smile Again | Drama, Crime | 55m |
| 09:03 | Jake and the FatmanMcCabe has a difficult reunion with his son while investigating a plane crash that killed a senator. | Why Can't You Behave? | Drama, Crime | 54m |
| 09:58 | Jake and the FatmanWhen a dangerous pimp assaults McCabe's sole witness against him, Jake talks a scared prostitute into helping him set the pimp up. | Poor Butterfly | Drama, Crime | 55m |
| 10:53 | Jake and the FatmanMcCabe's bottled-up feelings are unleashed when he's called to the state prison where his inmate son witnessed a murder. | Danny Boy | Drama, Crime | 55m |
| 11:47 | Jake and the FatmanJake follows a trail of dirty cops and dead drug dealers to the Mainland where he encounters old friends and new foes, so McCabe follows him to hel... | Goodbye | Drama, Crime | 1h 50m |
| 13:37 | Jake and the FatmanA mousy bookkeeper who's been poisoned spends his last days helping Jake find the rat who did it. | I'm Gonna Live Till I Die | Drama, Crime | 54m |
| 14:31 | Jake and the FatmanA psychiatrist manipulates her teenage lover into murdering her husband, then tries to use his fragile state of mind to get them both off the hook. | I'd Do Anything | Drama, Crime | 54m |
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_d590xs86/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_d590xs86/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_d590xs86/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_d590xs86/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_d590xs86/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_d590xs86/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_d590xs86/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_r0eb9p3w", "channel": "ch_d590xs86", "start": "2026-10-12T23:23:46Z", "stop": "2026-10-13T00:33:33Z", "title": "The Bridge", "sub_title": "Episode 6", "description": "Copenhagen is up in arms following a court case in which a group of police of...", "category": [ "drama", "series", "crime drama", "thriller", "crime" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 15, "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.