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_rf8wtbqp/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:48 | Bionic Woman On now LiveJaime scuba dives as part of an OSI assignment, but is unaware she carries a device to attract sharks. | Deadly Music | Science fiction, Drama | 56m |
| 00:44 | Bionic Woman LiveKidnappers after Jaime seize Oscar's secretary instead, then hold her hostage to get the real thing. | Which One Is Jaime? | Science fiction, Drama | 55m |
| 01:39 | Bionic Woman LiveThe spirit of a comatose Native American leaves his body and tries to rescue Jaime from a deadly bomb. | Out of Body | Science fiction, Drama | 54m |
| 02:33 | Bionic Woman LiveJaime poses as a secretary to protect a Middle Eastern king from assassins during a visit to New York. | Long Live the King | Science fiction, Drama | 55m |
| 03:28 | Bionic Woman LiveJaime teams with a crook to find a counterfeiter hiding in a Central American town full of gangsters and cutthroats. | Rancho Outcast | Science fiction, Drama | 54m |
| 04:22 | Bionic Woman LiveJaime goes undercover in a beauty pageant Oscar suspects is linked to threats against national security. | Bionic Beauty | Science fiction, Drama | 59m |
| 05:21 | Bionic Woman LiveJaime sees a woman (Barbara Rush) resembling her dead mother, who Oscar admits was a Department of Defense agent. | Jaime's Mother | Science fiction, Drama | 55m |
| 06:16 | Bionic Woman LiveJaime dodges saboteurs while navigating in a desert auto race to retrieve a cassette vital to U.S. security. | Winning Is Everything | Science fiction, Drama | 59m |
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_rf8wtbqp/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_rf8wtbqp/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_rf8wtbqp/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_rf8wtbqp/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_rf8wtbqp/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_rf8wtbqp/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_rf8wtbqp/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_zdd8vx0p", "channel": "ch_rf8wtbqp", "start": "2026-10-12T23:48:00Z", "stop": "2026-10-13T00:44:00Z", "title": "Bionic Woman", "sub_title": "Deadly Music", "description": "Jaime scuba dives as part of an OSI assignment, but is unaware she carries a ...", "category": [ "science fiction", "drama", "adventure", "series", "action", "fantasy" ], "flags": { "new": false, "live": true } } ], "meta": { "count": 8, "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 155 countries.