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/Toronto 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/Toronto. The same day from the API: GET /v1/channels/ch_f272a6za/schedule?date=2026-10-11&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Inside Taronga ZooThe keepers have a problem when the female Sumatran tiger, Kartika, behaves aggressively towards her cubs; a malnourished seal needs the help of ve... | S2 E6, Sealing the Deal | Series, Animals | 1h |
| 01:00 | The Littlest HoboHobo rescues an elderly man from a mine cave-in. | 30m | ||
| 01:30 | The Littlest HoboHobo befriends a 3-year-old girl who has strayed from her parents' camper in a wilderness area. | 30m | ||
| 02:00 | Inside Taronga ZooNala, the Australian sea lion, gives birth to a healthy pup; the zoo prepares to welcome zebras to the African Savanna exhibit. | 1h | ||
| 03:00 | Inside Taronga ZooA black rhino labor takes an alarming turn; a kangaroo needs surgery. | 1h | ||
| 04:00 | Wicked TunaIt's a game changer going into week 10 of bluefin season when the quota drops from three fish to one fish per day, making the pressure mount; the q... | 1h | ||
| 05:00 | The Littlest HoboHobo rescues an elderly man from a mine cave-in. | 30m | ||
| 05:30 | The Littlest HoboHobo befriends a 3-year-old girl who has strayed from her parents' camper in a wilderness area. | 30m | ||
| 06:00 | Chasing MonstersDiving with monster bull sharks, Caribbean reef sharks and great hammerheads are all just a warm-up for Cyril, whose ultimate mission is to catch t... | 1h | ||
| 07:00 | Chasing MonstersCyril tries to catch a Nile perch, one of the world's biggest freshwater fish. | 1h | ||
| 08:00 | Chasing MonstersResearchers try to collect venom from a 500-pound, freshwater stingray with a dagger-like barb. | 1h | ||
| 09:00 | Chasing MonstersDeep in the dark waters of the Amazon jungle lives a fanged creature of nightmares. | 1h | ||
| 10:00 | Chasing MonstersCyril's attempt to find a brutal fish called a cubera. | 1h | ||
| 11:00 | Chasing MonstersA 1,400-pound blue fin tuna is a true titan prowling the oceans. | 1h | ||
| 12:00 | Chasing MonstersThe wild coast of South Africa is known for its deadly shark attacks. | 1h | ||
| 13:00 | Chasing MonstersDiving with monster bull sharks, Caribbean reef sharks and great hammerheads are all just a warm-up for Cyril, whose ultimate mission is to catch t... | 1h | ||
| 14:00 | Chasing MonstersCyril tries to catch a Nile perch, one of the world's biggest freshwater fish. | 1h | ||
| 15:00 | Chasing MonstersResearchers try to collect venom from a 500-pound, freshwater stingray with a dagger-like barb. | 1h | ||
| 16:00 | Chasing MonstersDeep in the dark waters of the Amazon jungle lives a fanged creature of nightmares. | 1h | ||
| 17:00 | Chasing MonstersCyril's attempt to find a brutal fish called a cubera. | 1h | ||
| 18:00 | Chasing MonstersA 1,400-pound blue fin tuna is a true titan prowling the oceans. | 1h | ||
| 19:00 | Chasing MonstersThe wild coast of South Africa is known for its deadly shark attacks. | 1h | ||
| 20:00 | Wardens of the NorthMichigan's Conservation Officers unite to protect the state's resources amid winter's chill and a busy deer season; Great Lakes officers aid divers... | 1h | ||
| 21:00 | Aussie Gold HuntersAs Kellie and Henri utilize a new piece of gold hungry tech on Salt Lake, Chris and Greg Clark's season rests on resurrecting their temperamental d... | 1h | ||
| 22:00 | Dr. Keri: Prairie VetMalamute puppies frolic and play while Dr. Keri gives them their first checkups; it's an emergency when Tucker the dog meets the wrong end of a por... | 30m | ||
| 22:30 | Dr. Keri: Prairie VetDr. Keri and her crew head north to save the lives of some family pets. | 30m | ||
| 23:00 | Dr. Keri: Prairie VetVet student Jenna has started the first ever Ashern TNR program, trapping, neutering and releasing feral cats in the community; family pets from th... | 30m | ||
| 23:30 | Dr. Keri: Prairie VetKeri's family enjoys some equestrian activities in the water; touch sensitivity of horses; Laura's pet cow. | 30m |
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_f272a6za/schedule?date=2026-10-11&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f272a6za/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_f272a6za/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_f272a6za/schedule?date=2026-10-11&tz=America/Toronto"); 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_f272a6za/schedule?date=2026-10-11&tz=America/Toronto", { 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_f272a6za/schedule", params={"date": "2026-10-11", "tz": "America/Toronto"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_f272a6za/schedule?date=2026-10-11, the first programme { "data": [ { "id": "ls_zswwrbtj", "channel": "ch_f272a6za", "start": "2026-10-11T04:00:00Z", "stop": "2026-10-11T05:00:00Z", "title": "Inside Taronga Zoo", "sub_title": null, "description": "The keepers have a problem when the female Sumatran tiger, Kartika, behaves a...", "category": [ "series", "animals", "reality" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 28, "date": "2026-10-11", "tz": "America/Toronto" } }
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 | Monday 13 October 2025 | Category |
|---|---|---|
| Nothing held for that day. Try another date. | ||
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.