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_f2y1d117/schedule?date=2026-10-15&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:30 | Live: NBA BasketballFrom Intuit Dome in Inglewood, Calif. | Sport, Basketball | 2h 30m | |
| 01:00 | KTLA 5 News at 10Stay informed with the latest breaking news and headlines. | News | 45m | |
| 01:45 | KTLA 5 Sports Final | 15m | ||
| 02:00 | KTLA 5 News at 11Stay informed with the latest breaking news and headlines. | News | 35m | |
| 02:35 | FriendsAfter bleaching his teeth, Ross discovers they glow in the dark; Joey's new roommate wants to redecorate. | The One With Ross' Teeth | Series, Sitcom | 30m |
| 03:05 | FriendsChandler finds out Monica never told her parents he was living with her; Rachel tries her hand at making dessert. | The One Where Ross Got High | Series, Holiday | 30m |
| 03:35 | Police 24/7Police resort to extreme methods while trying to stop a fleeing suspect; an intoxicated man gets boxed in by police as he tries to drive away; poli... | S2 E19, She's in the Washing Machine | Series, Documentary | 1h |
| 04:35 | The Great American Road Rally: Celebrity EditionOn the road from Oklahoma City, Okla., to Amarillo, Texas, the horizon flattens, the sky takes over and the Cadillacs grow out of the ground. | S1 E5, The Panhandle | Series, Competition reality | 1h |
| 05:35 | Trivial PursuitContestants compete on a giant version of the iconic game board, battling it out over a range of play-along question categories to win wedges and b... | Series, Game show | 30m | |
| 06:05 | Police 24/7A raw, unfiltered look into the world of sheriff and police departments across the United States as they serve and protect at all costs. | Series, Documentary | 25m | |
| 06:30 | Two and a Half MenCharlie's mother, Evelyn, asks to borrow his Mercedes so she can impress a Saudi prince who she wants to buy real estate. | S2 E4, Go Get Mommy's Bra | Series, Sitcom | 30m |
| 07:00 | KTLA 5 Morning News at 4Stay informed with the latest breaking news and headlines. | News | 30m | |
| 07:30 | KTLA 5 Morning News at 4:30Stay informed with the latest breaking news and headlines. | News | 30m | |
| 08:00 | KTLA 5 Morning News at 5Stay informed with the latest breaking news and headlines. | News | 1h | |
| 09:00 | KTLA 5 Morning News at 6Stay informed with the latest breaking news and headlines. | News | 1h | |
| 10:00 | KTLA 5 Morning News at 7Stay informed with the latest breaking news and headlines. | News | 2h | |
| 12:00 | KTLA 5 Morning News at 9Stay informed with the latest breaking news and headlines. | News | 1h | |
| 13:00 | KTLA 5 Morning News at 10Stay informed with the latest breaking news and headlines. | News | 1h | |
| 14:00 | KTLA 5 Morning News at 11Stay informed with the latest breaking news and headlines. | News | 1h | |
| 15:00 | KTLA 5 News at NoonStay informed with the latest breaking news and headlines. | News | 1h | |
| 16:00 | KTLA 5 News at 1Stay informed with the latest breaking news and headlines. | News | 1h | |
| 17:00 | Off the ClockChris Schauble, Megan Henderson and Henry DiCarlo give viewers their take on the tech trends, superhero news, healthy headlines and more; they show... | Community, Entertainment | 1h | |
| 18:00 | KTLA 5 News at 3Stay informed with the latest breaking news and headlines. | News | 1h | |
| 19:00 | KTLA 5 News at 4Stay informed with the latest breaking news and headlines. | News | 1h | |
| 20:00 | KTLA 5 News at 5Stay informed with the latest breaking news and headlines. | News | 1h | |
| 21:00 | KTLA 5 News at 6Stay informed with the latest breaking news and headlines. | News | 30m | |
| 21:30 | KTLA 5 News at 6:30Stay informed with the latest breaking news and headlines. | News | 30m | |
| 22:00 | KTLA 5 News at 7Stay informed with the latest breaking news and headlines. | News | 30m | |
| 22:30 | L.A. UnscriptedJoin KTLA Entertainment Reporter Dayna Devon and friends as they discuss the unique and fun lifestyles of the Los Angeles area. | Community | 30m | |
| 23:00 | ScrabbleThree wordsmiths are put to the test. | Vowel Language | Series, Game show | 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_f2y1d117/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_f2y1d117/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f2y1d117/history?from=2026-06-25T00:00:00Z&to=2026-06-26T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_f2y1d117/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_f2y1d117/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_f2y1d117/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_f2y1d117/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_kz3ew7ar", "channel": "ch_f2y1d117", "start": "2026-10-15T02:30:00Z", "stop": "2026-10-15T05:00:00Z", "title": "Live: NBA Basketball", "sub_title": null, "description": "From Intuit Dome in Inglewood, Calif.", "category": [ "sports", "basketball" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 30, "date": "2026-10-15", "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 | KTLA 5 News at 10 | News |
| 01:45 | KTLA 5 Sports Final | |
| 02:00 | KTLA 5 News at 11 | News |
| 28 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.