74.3M 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_xqxvnnw7/schedule?date=2026-10-14&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:40 | LassieJeff nurses an injured duck and discovers illegal hunters. | Lassie | 28m | |
| 00:08 | LassieJeff and Gramps are jealous of Ellen's beau. | Lassie | 28m | |
| 00:36 | LassieLassie brings home a litter of kittens. | Lassie | 28m | |
| 01:04 | LassieJeff enters Lassie in a dog show. | Lassie | 27m | |
| 01:31 | LassieA teacher bans pets from the classroom. | Lassie | 28m | |
| 01:59 | LassieJeff schemes to get out of violin lessons. | Lassie | 30m | |
| 02:29 | LassieA dog finds himself away from the city. | Lassie | 28m | |
| 02:57 | LassieJeff blames Lassie's illness on an eccentric. | Lassie | 30m | |
| 03:27 | LassieNewspapermen Jeff and Porky save the town from swindlers. | Lassie | 28m | |
| 03:55 | LassieJeff and Porky clash over newcomer Diane. | Lassie | 28m | |
| 04:23 | LassieJeff and Porky plan a birthday surprise for Gramps. | Lassie | 28m | |
| 04:51 | LassieJeff finds homes for dogs in the pound. | Lassie | 28m | |
| 05:19 | LassieJeff tries to domesticate a hawk. | Lassie | 28m | |
| 05:47 | LassieA gypsy family camps on the Miller's farm. | Lassie | 28m | |
| 06:15 | LassieA mischievous bear cub ransacks Jeff and Porky's tree house. | Lassie | 28m | |
| 06:43 | LassieJeff and Porky neglect Lassie for a stamp album. | Lassie | 28m | |
| 07:11 | LassieJeff mistakes another dog for Lassie. | Lassie | 27m | |
| 07:38 | LassieUpset Jeff leashes Lassie in the barn. | Lassie | 28m | |
| 08:06 | LassiePorky's basset hound saves Matt. | Lassie | 28m | |
| 08:34 | LassieLassie saves Timmy and Geoff from taking a spill over a man-made waterfall. | Lassie | 28m | |
| 09:02 | LassieJeff can't accept Lassie's imminent blindness. | Lassie | 28m | |
| 09:30 | LassieJeff and Lassie help a combat-trained dog. | Lassie | 28m | |
| 09:58 | LassieJeff and a bully compete to earn cash. | Lassie | 28m | |
| 10:26 | LassieJeff and Porky try to help a sick cow. | Lassie | 28m | |
| 10:54 | LassieCrop dusting makes a puppy ill. | Lassie | 28m | |
| 11:22 | LassieA borrowed television upsets Lassie. | Lassie | 27m | |
| 11:49 | LassieJeff and Lassie befriend a deer poacher's son. | Lassie | 28m | |
| 12:17 | LassieTimmy and Lassie run into difficulty after agreeing to take care of a neighbor's cow. | Lassie | 28m | |
| 12:45 | LassieBabysitter Jeff neglects his charge. | Lassie | 28m | |
| 13:13 | LassieA horse wrangler schemes to obtain Jeff's colt. | Lassie | 28m | |
| 13:41 | LassieLassie fights her son to save Jeff. | Lassie | 28m | |
| 14:09 | LassieJeff and Gramps resist haircuts. | Lassie | 30m | |
| 14:39 | LassieJeff and Porky's frog is unfit to jump. | Lassie | 30m | |
| 15:09 | LassieA raccoon wrecks Jeff and Porky's beehive. | Lassie | 28m | |
| 15:37 | LassieA black cat crosses Lassie's path. | Lassie | 28m | |
| 16:05 | LassieA grooming changes Lassie's personality. | Lassie | 28m | |
| 16:33 | LassieAiling Mr. Mueller learns about friendship. | Lassie | 30m | |
| 17:03 | LassieJeff and Porky cry wolf. | Lassie | 28m | |
| 17:31 | LassieLassie unearths a valuable bone. | Lassie | 28m | |
| 17:59 | LassieJeff learns about respect for property. | Lassie | 30m | |
| 18:29 | LassieJeff gets a watch and schedules everybody. | Lassie | 28m | |
| 18:57 | LassieGramps is pinned under a tree. | Lassie | 28m | |
| 19:25 | LassieJeff suspects Lassie's rescuer is an ex-con. | Lassie | 28m | |
| 19:53 | LassieJeff finds his first whisker. | Lassie | 28m | |
| 20:21 | LassieLassie donates blood for Pokey. | Lassie | 28m | |
| 20:49 | LassieLonely Lassie visits a roadside eatery. | Lassie | 28m | |
| 21:17 | LassieLassie's talent for fishing results in a controversy among fishers. | Lassie | 28m | |
| 21:45 | LassieQuarantined Pokey is Jeff's responsibility. | Lassie | 27m | |
| 22:12 | LassiePorky and Jeff find a rare geode. | Lassie | 27m | |
| 22:39 | LassieHiggy dares Jeff to jump across a fallen bridge. | Lassie | 30m | |
| 23:09 | LassiePoachers want fish for their restaurant. | Lassie | 28m | |
| 23:37 | LassieOperator Jenny forgets messages. | Lassie | 28m |
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_xqxvnnw7/schedule?date=2026-10-14&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xqxvnnw7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_xqxvnnw7/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_xqxvnnw7/schedule?date=2026-10-14&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_xqxvnnw7/schedule?date=2026-10-14&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_xqxvnnw7/schedule", params={"date": "2026-10-14", "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_xqxvnnw7/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_np0nwetw", "channel": "ch_xqxvnnw7", "start": "2026-10-14T03:40:00Z", "stop": "2026-10-14T04:08:00Z", "title": "Lassie", "sub_title": "Lassie", "description": "Jeff nurses an injured duck and discovers illegal hunters.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 52, "date": "2026-10-14", "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.