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_pgptct3s/schedule?date=2026-10-14&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:18 | HeartlandA disgruntled horse owner causes problems for Ty and Amy's business. | Heartland | 50m | |
| 00:08 | HeartlandAmy is hired to calm one of the wild horses, but its temperament may prove impossible to work with. | Heartland | 50m | |
| 00:58 | HeartlandJack is faced with painful memories from his past, and the family is at a loss for how to help him. | Heartland | 50m | |
| 01:48 | HeartlandA dangerous windstorm wreaks havoc on Hudson. | Heartland | 50m | |
| 02:38 | HeartlandAmy and Ty worry about the impact a surprise visitor will have on Luke. | Heartland | 50m | |
| 03:28 | HeartlandGeorgie's graduation has finally arrived but so has a mysterious figure from her past. | Heartland | 51m | |
| 04:19 | HeartlandAmy is asked to spend time at an art retreat to work with an artist's allegedly traumatized horse. | Heartland | 50m | |
| 05:09 | HeartlandTim is organizing an important rodeo when an old flame blows back into Hudson asking for his help. | Heartland | 51m | |
| 06:00 | HeartlandAmy and Ty get some unexpected news just as Amy has to face an upsetting truth about Spartan. | Heartland | 49m | |
| 06:49 | HeartlandThe family looks to each other for support through dangerous challenges. | Heartland | 50m | |
| 07:39 | HeartlandAmy faces a difficult truth with her efforts to help a young girl form a connection with her horse. | Heartland | 50m | |
| 08:29 | HeartlandAmy grudgingly helps Ty's mother, Lily, with a traumatized racehorse; Lou gets in trouble. | Heartland | 50m | |
| 09:19 | HeartlandDisaster strikes Hudson when a train derails and causes an explosion that threatens the town. | Heartland | 50m | |
| 10:09 | HeartlandThe wild, black stallion that Amy rehomed from Will's ranch is brutally forced out of the herd. | Heartland | 52m | |
| 11:01 | HeartlandA group of wild horses need new homes; Amy must get back to her Miracle Girl roots. | Heartland | 50m | |
| 11:51 | HeartlandTim seeks out help from an unlikely person when he finds himself competing in a polo match. | Heartland | 52m | |
| 12:43 | HeartlandJack misses Lisa, especially after Tim and Jessica are forced to move into the house. | Heartland | 52m | |
| 13:35 | HeartlandAmy's decision upsets Logan; Jack helps Katie find her own path; Lou has to come through for Rick. | Heartland | 50m | |
| 14:25 | HeartlandAmy and Caleb train one of Sam's rescue horses to be a roping horse. | Heartland | 52m | |
| 15:17 | HeartlandJack and Tim win Hudson's Entrepreneur of the Year Award, which leads to unexpected problems. | Heartland | 53m | |
| 16:10 | HeartlandWhen flood evacuees come to Hudson, Amy works with a traumatized horse. | Heartland | 52m | |
| 17:02 | HeartlandTim joins Jessica in New York for her art show while trying to fix a past mistake. | Heartland | 50m | |
| 17:52 | HeartlandA storm leads to a sad goodbye; Amy thinks her worst fears about Finn have come true. | Heartland | 50m | |
| 18:42 | HeartlandJessica seeks distraction from a disappointment in New York; Katie gets her ears pierced. | Heartland | 52m | |
| 19:34 | HeartlandAmy leads an overnight trail ride to help with Jessica's new photography job. | Heartland | 50m | |
| 20:24 | HeartlandTim puts on a rodeo school showcase, but a series of mysterious events threaten the show. | Heartland | 50m | |
| 21:14 | HeartlandTim goes after the person responsible for Jack's accident; Lou struggles to reconnect with Katie. | Heartland | 52m | |
| 22:06 | HeartlandA surprise visitor causes Amy to see Finn differently; Jack struggles with his past; Katie opens up. | Heartland | 52m | |
| 22:58 | HeartlandAmy helps Lisa; Tim has a difficult visit with Shane; Katie leads a strike at Maggie's. | Heartland | 52m | |
| 23:50 | HeartlandAmy helps Georgie rediscover her passion for showjumping; a Winter Fair allows Tim to help Jessica. | Heartland | 52m |
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_pgptct3s/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_pgptct3s/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_pgptct3s/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_pgptct3s/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_pgptct3s/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_pgptct3s/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_pgptct3s/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_rn0hecem", "channel": "ch_pgptct3s", "start": "2026-10-14T03:18:00Z", "stop": "2026-10-14T04:08:00Z", "title": "Heartland", "sub_title": "Heartland", "description": "A disgruntled horse owner causes problems for Ty and Amy's business.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 30, "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.