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_ftzqhc85/schedule?date=2026-10-16&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:46 | Brunch at Bobby'sOatmeal with honey roasted apricots; eggs with flatbread and goat cheese. | Brunch at Bobby's | 22m | |
| 00:08 | Brunch at Bobby'sChocoholics beware as Bobby Flay puts together a decadent brunch. | Brunch at Bobby's | 24m | |
| 00:32 | Brunch at Bobby'sTequila cured salmon; white fish salad; herbed goat cheese; roasted jalapeno-cilantro cream cheese. | Brunch at Bobby's | 22m | |
| 00:54 | Brunch at Bobby'sCrème brûlée French toast; Sunny's sambal; blueberry pancake bites; sparkling iced espresso. | Brunch at Bobby's | 25m | |
| 01:19 | Brunch at Bobby'sCornbread waffles with ranch style eggs and cilantro crema; glazed waffle donuts. | Brunch at Bobby's | 22m | |
| 01:41 | Brunch at Bobby'sFromage blanc with lavender honey; grape focaccia; olive oil poached eggs with pancetta. | Brunch at Bobby's | 24m | |
| 02:05 | Brunch at Bobby'sBobby makes breakfast sandwiches; Israeli pita sandwich; Egg-in-a-Hole Benedict; chilaquiles burger. | Brunch at Bobby's | 25m | |
| 02:30 | Brunch at Bobby'sBobby creates crepes, including smoked salmon with ricotta and caper crepes with herb sauce. | Brunch at Bobby's | 25m | |
| 02:55 | Brunch at Bobby'sApple cider donuts; apple sauce parfaits with yogurt and quinoa. | Brunch at Bobby's | 24m | |
| 03:19 | Brunch at Bobby'sJerk pork belly and sweet potato hash with fried eggs; coconut waffles with chocolate maple syrup. | Brunch at Bobby's | 22m | |
| 03:41 | Brunch at Bobby'sBrunch in trattoria style. | Brunch at Bobby's | 24m |
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_ftzqhc85/schedule?date=2026-10-16&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ftzqhc85/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_ftzqhc85/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_ftzqhc85/schedule?date=2026-10-16&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_ftzqhc85/schedule?date=2026-10-16&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_ftzqhc85/schedule", params={"date": "2026-10-16", "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_ftzqhc85/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_zv9hevd6", "channel": "ch_ftzqhc85", "start": "2026-10-16T03:46:00Z", "stop": "2026-10-16T04:08:00Z", "title": "Brunch at Bobby's", "sub_title": "Brunch at Bobby's", "description": "Oatmeal with honey roasted apricots; eggs with flatbread and goat cheese.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 11, "date": "2026-10-16", "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.