90.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. On the Live plan; the free key reads yesterday.
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 America/Curacao time, what is on now and next, and the same data in your app with one call.
All times America/Curacao. The same day from the API: GET /v1/channels/ch_ww3f0h4v/schedule?date=2026-10-22&tz=America/Curacao
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:34 | Mr. BrooksA detective (Demi Moore) dogs a serial killer's (Kevin Costner) trail, while the killer's voyeuristic neighbor (Dane Cook) blackmails him into cont... | 2h 5m | ||
| 01:39 | I Spit on Your Grave 2 -- UnratedA young woman embarks on a merciless path of revenge after three men rape and torture her. | 1h 50m | ||
| 03:29 | The PatriotA doctor (Steven Seagal) seeking an antidote to a lethal virus is taken hostage by militia members in his quarantined town. | 1h 33m | ||
| 05:02 | ¿Y cómo es él?A man must take a long-distance road trip with a taxi driver who's having an affair with his wife. | 1h 39m | ||
| 06:41 | Nada que verNada que ver. | 1h 31m | ||
| 08:12 | Ni tuyo, ni míaNi tuyo, ni mía. | 1h 39m | ||
| 09:51 | NoahGod chooses Noah (Russell Crowe) to build an ark and save the animals and his family from an apocalyptic flood. | 2h 22m | ||
| 12:13 | Spy GameA CIA agent (Robert Redford) tries to rescue his one-time protégé (Brad Pitt) who awaits execution in a Chinese prison. | 2h 10m | ||
| 14:23 | The GentlemenMickey Pearson is an American expatriate who became rich by building a marijuana empire in London. When word gets out that he's looking to cash out... | 1h 56m | ||
| 16:19 | 777 CharlieA dog named Charlie gives a lonely and reclusive man a new lease on life. | 1h 57m | ||
| 18:16 | Limitless: Unrated Extended CutAn unemployed writer rises to the top of the financial world after an experimental drug gives him extraordinary mental acuity. | 1h 49m | ||
| 20:05 | Kickboxer: RetaliationOne year after avenging his brother's murder, MMA champion Kurt Sloane finds himself imprisoned by a powerful gangster in Thailand. To win back his... | 1h 55m | ||
| 22:00 | Race for Glory: Audi vs. LanciaThe true story of the intense race car rivalry between Germany and Italy at the 1983 Rally World Championship. | 1h 52m | ||
| 23:52 | Mr. BrooksA detective (Demi Moore) dogs a serial killer's (Kevin Costner) trail, while the killer's voyeuristic neighbor (Dane Cook) blackmails him into cont... | 2h 5m |
Copy, add your key, run. The free key reads yesterday on every channel, 500 calls a day; today and ahead are on Live.
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ww3f0h4v/schedule?date=2026-10-22&tz=America/Curacao" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ww3f0h4v/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ww3f0h4v/history?from=2026-10-13T00:00:00Z&to=2026-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_ww3f0h4v/schedule?date=2026-10-22&tz=America/Curacao"); 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_ww3f0h4v/schedule?date=2026-10-22&tz=America/Curacao", { 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_ww3f0h4v/schedule", params={"date": "2026-10-22", "tz": "America/Curacao"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_ww3f0h4v/schedule?date=2026-10-22, the first programme { "data": [ { "id": "ls_6gsm377t", "channel": "ch_ww3f0h4v", "start": "2026-10-22T03:34:00Z", "stop": "2026-10-22T05:39:00Z", "title": "Mr. Brooks", "sub_title": null, "description": "A detective (Demi Moore) dogs a serial killer's (Kevin Costner) trail, while ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-22", "tz": "America/Curacao" } }
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's listings on every channel in 176 countries.