72.1M 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_yhwvfa1d/schedule?date=2026-10-14&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:56 | General HospitalHolly Sutton returns; Nina refuses an offer; Ned and Michael butt heads; Victor questions Trina. | 42m | ||
| 00:38 | General HospitalCarly finds peace; Maxie and Sasha are concerned; Anna and Jordan put their heads together. | 41m | ||
| 01:19 | General HospitalJordan makes a tough decision; Victor is triumphant; Sasha gets news about her legal situation. | 42m | ||
| 02:01 | General HospitalCody and Britt make a discovery; Liz and Terry embark on a journey; Josslyn runs into Dex. | 42m | ||
| 02:43 | General HospitalBritt has a request of Sam; Victor announces his next move; Cody confides in Dante. | 41m | ||
| 03:24 | General HospitalSpencer receives friendly visitors; Trina is distracted; Nina confronts Victor. | 42m | ||
| 04:06 | General HospitalTerry creates a distraction; Cameron gives Finn insight into Liz; Carly makes a big decision. | 42m | ||
| 04:48 | General HospitalFinn treats a new patient; Robert opens up to Holly; Scott defends Anna; Alexis calls out Gregory. | 42m | ||
| 05:30 | General HospitalElizabeth's world is rocked; Robert rejects Sonny's offer; Finn checks in on Anna. | 42m | ||
| 06:12 | General HospitalTrina confides in Josslyn; Scott and Obrecht give Cody the cold shoulder. | 41m | ||
| 06:53 | General HospitalAustin comforts Gladys; Portia and Curtis change their plans; Holly is torn. | 42m | ||
| 07:35 | General HospitalNina gets a reality check; Chase offers comfort; Spencer's anger builds. | 42m | ||
| 08:17 | General HospitalRobert and Diane discuss a case; Nina visits with Phyllis; Valentin offers sympathy. | 42m | ||
| 08:59 | General HospitalValentin and Anna disagree; Lucy makes a bold move; Sonny makes a tough decision. | 41m | ||
| 09:40 | General HospitalChase takes Willow's advice; Maxie agrees to help a friend; Drew offers his expertise. | 42m | ||
| 10:22 | General HospitalElizabeth is on pins and needles; Nina questions Jordan; Trina and Curtis have an awkward run-in. | 42m | ||
| 11:04 | General HospitalMaxie makes Cody an offer; Sasha surprises Gladys; Alexis is shaken. | 41m | ||
| 11:45 | General HospitalEsme is skeptical; Sonny doesn't mince words; Spencer mulls over his strategy. | 42m | ||
| 12:27 | General HospitalTrina attempts to run interference; Laura and Liz have a heart-to-heart; Dex checks in with Josslyn. | 42m | ||
| 13:09 | General HospitalLucy is outraged; Cameron advises Spencer; Elizabeth gets a shock; Scott opens up to Laura. | 41m | ||
| 13:50 | General HospitalPort Charles bids an emotional goodbye to Epiphany. | S2026 E201, Ep. #16066 | 42m | |
| 14:32 | General HospitalSpencer meets with Victor; Selina offers up information; Dex makes a gruesome discovery. | 42m | ||
| 15:14 | General HospitalLucy is frantic; Spencer has misgivings; Ava meets with Austin; Maxie and Felicia handle a setback. | 41m | ||
| 15:55 | General HospitalThe Nurses' Ball kicks off; Jordan has an awkward moment on the red carpet. | 42m | ||
| 16:37 | General HospitalThe Nurses' Ball performances get underway; Valentin makes a romantic gesture. | 42m | ||
| 17:19 | General HospitalA special music guest brings the house down; Valentin is defiant; Gladys makes a sneaky move. | 42m | ||
| 18:01 | General HospitalLaura is suspicious; Spencer is in for a shock; an arrest is made; Jordan gets terrible news. | 41m | ||
| 18:42 | General HospitalCarly and Drew are the bearers of bad news; Portia expresses her concern; Joss offers reassurance. | 42m | ||
| 19:24 | General HospitalNina breaks bad news; Sonny springs into action; Diane takes on a new client. | 42m | ||
| 20:06 | General HospitalValentin is frantic; Dante reaches a grim conclusion; Cody is desperate. | 41m | ||
| 20:47 | General HospitalCurtis supports Portia; Willow makes an urgent request; Michael hears Sonny out. | 42m | ||
| 21:29 | General HospitalSpencer issues a threat; Sam seeks out Alexis; Maxie is distressed. | 42m | ||
| 22:11 | General HospitalHolly Sutton reunites with an old friend; Chase voices his gratitude; Robert berates Sonny. | 41m | ||
| 22:52 | General HospitalChase learns his fate; Holly is in danger; Willow makes a momentous request; Alexis is shaken. | 42m | ||
| 23:34 | General HospitalCurtis has a lightbulb moment; Victor learns of a setback; Nina seeks solace. | 42m |
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_yhwvfa1d/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_yhwvfa1d/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_yhwvfa1d/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_yhwvfa1d/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_yhwvfa1d/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_yhwvfa1d/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_yhwvfa1d/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_dsb27gqg", "channel": "ch_yhwvfa1d", "start": "2026-10-14T03:56:00Z", "stop": "2026-10-14T04:38:00Z", "title": "General Hospital", "sub_title": null, "description": "Holly Sutton returns; Nina refuses an offer; Ned and Michael butt heads; Vict...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 35, "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 154 countries.