73.8M 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 America/New_York time, what is on now and next, and the same data in your app with one call.
All times America/New_York. The same day from the API: GET /v1/channels/ch_zsdqfbs6/schedule?date=2026-10-15&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Too Young To Be A Dad(series, 2002)A mother jeopardizes her own marriage when she offers to raise her grandchild. | Too Young To Be A Dad(series, 2002) | 1h 41m | |
| 01:41 | Heart of a StrangerA heart-transplant recipient (Jane Seymour) investigates the donor. | 1h 43m | ||
| 03:24 | Torn From Her ArmsA mother and daughter must find their way back to each other after being separated at the border. | 1h 43m | ||
| 05:07 | BlackLoveWith one week left in the workshops, the women consider the idea of "The One." | BlackLove | 53m | |
| 06:00 | Abducted: The Carlina White StoryAnn Pettway (Aunjanue Ellis) kidnaps an infant and raises the child as her daughter. | 1h 42m | ||
| 07:42 | Give Me Back My DaughterA homeless woman does whatever it takes to get her daughter back from Child Protective Services. | 1h 42m | ||
| 09:24 | Lila & EveAfter the murder of her son, a mother joins forces with another woman for vigilante justice. | 1h 44m | ||
| 11:08 | BlackLoveMonet realizes she has one final piece of her failed marriage to let go of before she can move on. | BlackLove | 52m | |
| 12:00 | Abducted: The Carlina White StoryAnn Pettway (Aunjanue Ellis) kidnaps an infant and raises the child as her daughter. | 1h 42m | ||
| 13:42 | Give Me Back My DaughterA homeless woman does whatever it takes to get her daughter back from Child Protective Services. | 1h 42m | ||
| 15:24 | Lila & EveAfter the murder of her son, a mother joins forces with another woman for vigilante justice. | 1h 44m | ||
| 17:08 | BlackLoveMonet realizes she has one final piece of her failed marriage to let go of before she can move on. | BlackLove | 52m | |
| 18:00 | Abducted: The Carlina White StoryAnn Pettway (Aunjanue Ellis) kidnaps an infant and raises the child as her daughter. | 1h 42m | ||
| 19:42 | Give Me Back My DaughterA homeless woman does whatever it takes to get her daughter back from Child Protective Services. | 1h 42m |
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_zsdqfbs6/schedule?date=2026-10-15&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zsdqfbs6/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_zsdqfbs6/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_zsdqfbs6/schedule?date=2026-10-15&tz=America/New_York"); 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_zsdqfbs6/schedule?date=2026-10-15&tz=America/New_York", { 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_zsdqfbs6/schedule", params={"date": "2026-10-15", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_zsdqfbs6/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_7h1wb7n6", "channel": "ch_zsdqfbs6", "start": "2026-10-15T04:00:00Z", "stop": "2026-10-15T05:41:00Z", "title": "Too Young To Be A Dad(series, 2002)", "sub_title": "Too Young To Be A Dad(series, 2002)", "description": "A mother jeopardizes her own marriage when she offers to raise her grandchild.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 14, "date": "2026-10-15", "tz": "America/New_York" } }
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.