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. Search any past day on the Archive plan.
All times America/New_York. The same day from the API: GET /v1/channels/ch_ad06zbt5/schedule?date=2026-10-12&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:30 | U.S. and China Relationship | 1h 30m | ||
| 01:00 | Wearable Arts | 30m | ||
| 01:30 | Yunxiao ZhangPIEZO channels help the body coordinate labor. | 30m | ||
| 02:00 | Money and RetirementHow to prepare for retirement. | 1h | ||
| 03:00 | STEM Siblings | 30m | ||
| 03:30 | PrairieLearn and Computer-Based TestingComputer-based testing can support better learning. | 1h 30m | ||
| 05:00 | Janelle Iglesias on Art Identity and CollaborationArt connects personal history with community. | 1h | ||
| 06:00 | Generation RegenerationFeeding the planet without depleting the earth. | 1h 30m | ||
| 07:30 | Character and AgencyWhat is a person's character? | 1h 30m | ||
| 09:00 | Earl Thomas and the Gospel AmbassadorsPerformance by Earl Thomas and the Gospel Ambassadors. | 1h 30m | ||
| 10:30 | Brahms German RequiemConductor Valery Gergiev and the London Symphony Orchestra present Johannes Brahms' greatest choral work, the German Requiem, featuring soprano Sal... | 1h 30m | ||
| 12:00 | Judy WoodruffOne of the most respected figures in American journalism. | 1h 30m | ||
| 13:30 | Politics of GrievanceHow the right and left deal with grievance. | 1h 30m | ||
| 15:00 | Marine EnvenomationsLearn about marine creatures that can bite and sting. | 1h | ||
| 16:00 | A Deep Conversation with Rita ColwellRita Colwell on her research and sexism in science. | 1h 30m | ||
| 17:30 | Neuroscience and Social JusticeShaping a better future for all students. | 1h 30m | ||
| 19:00 | An Evening with Christian WimanPoet and essayist Christian Wiman. | 1h | ||
| 20:00 | Vaginal MicrobiomeMicrobiome data can guide better women's health research. | 1h | ||
| 21:00 | Treatment of Fractures: Wrist, Elbow and ShoulderTreatment for fractures of the wrist, elbow and shoulder. | 1h 30m | ||
| 22:30 | Prostate CancerDiet and exercise. | 30m | ||
| 23:00 | Vaginal MicrobiomeMicrobiome data can guide better women's health research. | 1h |
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_ad06zbt5/schedule?date=2026-10-12&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ad06zbt5/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ad06zbt5/history?from=2026-06-25T00:00:00Z&to=2026-06-26T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_ad06zbt5/schedule?date=2026-10-12&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_ad06zbt5/schedule?date=2026-10-12&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_ad06zbt5/schedule", params={"date": "2026-10-12", "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_ad06zbt5/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_d24svd75", "channel": "ch_ad06zbt5", "start": "2026-10-12T03:30:00Z", "stop": "2026-10-12T05:00:00Z", "title": "U.S. and China Relationship", "sub_title": null, "description": null, "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 21, "date": "2026-10-12", "tz": "America/New_York" } }
What was on, on any date we hold: for research, catch-up, clip finding or proving a broadcast. Any window up to 31 days with /v1/channels/{id}/history on the Archive plan.
| Time | Thursday 25 June 2026 | Category |
|---|---|---|
| 01:00 | Personhood: Reproductive Rights | Public affairs |
| 02:00 | The Weight of Ink | Educational |
| 03:00 | Intersections Presents Kevin Flournoy | |
| 16 more programmes that day, on Archive | ||
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.