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-10&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:49 | General HospitalSpencer makes a stunning announcement; Finn is left reeling; Blaze confides in Chase. | 42m | ||
| 00:31 | General HospitalLiz takes Finn's advice into account; Chase has a change of heart; Laura pleads with Spencer. | 42m | ||
| 01:13 | General HospitalBrad makes a special delivery; Curtis and Portia get bad news; Spencer makes a big ask. | 42m | ||
| 01:55 | General HospitalScott gets a shock; Ava reassures Laura; Nina shares her dilemma with Obrecht. | 42m | ||
| 02:37 | General HospitalAustin delivers medical news; Liesl takes matters into her own hands. | 41m | ||
| 03:18 | General HospitalCurtis and Portia's wedding day; TJ and Jordan have a heart-to-heart. | 42m | ||
| 04:00 | General HospitalSam and Dante come up with a plan; Spencer loses his cool; Michael is in a bind. | 42m | ||
| 04:42 | General HospitalStella gets an unexpected visit; Portia makes her decision; Trina has a hunch. | 42m | ||
| 05:24 | General HospitalRyan makes a bold move; Laura overhears distressing news; Sam and Dante get a break in their case. | 42m | ||
| 06:06 | General HospitalNina and Joss have words; Austin and Ava are interrupted; Finn tries to distract Liz. | 41m | ||
| 06:47 | General HospitalSpencer is alarmed; Victor issues urgent orders; Anna and Valentin grow concerned. | 42m | ||
| 07:29 | General HospitalPortia has some explaining to do; Spencer comforts Trina; Mac and Jordan race to stop a crime. | 42m | ||
| 08:11 | General HospitalHeather makes a shocking move; Felicia tends to an injured friend; Curtis confides in Marshall. | 42m | ||
| 08:53 | General HospitalPortia surprises Jordan; Ava is in a bind; Liz is grateful to Scott; Trina sticks to her guns. | 42m | ||
| 09:35 | General HospitalDante develops a theory; Sonny makes Dex squirm; Obrecht expresses her outrage. | 41m | ||
| 10:16 | General HospitalGregory praises Alexis; Diane and Robert catch up; Brook Lynn confides in Maxie. | 42m | ||
| 10:58 | General HospitalAlexis is perplexed; Maxie fishes for info; Sasha wants to clear the air; Molly is uneasy. | 42m | ||
| 11:40 | General HospitalAlexis calls out Gregory; Diane breaks news to Spencer; Esme's perception changes. | 42m | ||
| 12:22 | General HospitalAva is rudely interrupted; Drew has news for Carly; Alexis is concerned for Curtis. | 42m | ||
| 13:04 | General HospitalCurtis is stunned; Victor and Obrecht find common ground; Anna and Valentin get new information. | 41m | ||
| 13:45 | General HospitalSonny questions Gladys; Nina and Curtis catch up; Trina briefs Ava; Maxie has a big idea. | 42m | ||
| 14:27 | General HospitalSasha doesn't hold back; Dex and Josslyn make time for romance; Drew makes a pitch to Ned. | 42m | ||
| 15:09 | General HospitalJosslyn and Bobbie have a heart-to-heart; Sonny finds himself in danger; Cody has a close call. | 42m | ||
| 15:51 | General HospitalLaura is put on the spot; Lucy is impatient; Cody defends his decision; Dex impresses Sonny. | 42m | ||
| 16:33 | General HospitalKristina opens up; Laura tries to keep the peace; Esme gets a surprise visit. | 41m | ||
| 17:14 | General HospitalCody reveals some of his background; Maxie tries to get to the bottom of Spinelli's feelings. | 42m | ||
| 17:56 | General HospitalMartin delivers unwelcome news to Lucy; Austin tells Maxie he knows how important her family is. | 42m | ||
| 18:38 | General HospitalBritt checks on an injury; Rory faces a tough assignment; Curtis is concerned about Portia. | 42m | ||
| 19:20 | General HospitalFinn and Terry worry about Elizabeth; Curtis and Portia wait to see if their plan works. | 42m | ||
| 20:02 | General HospitalTrina learns her fate; Olivia discusses Carly and Drew's relationship; Sonny and Nina have a date. | 41m | ||
| 20:43 | General HospitalSpencer has second thoughts; Willow opens up to TJ; Nina and Carly come to blows. | 42m | ||
| 21:25 | General HospitalValentin tries to convince Victor that Anna is no longer a problem; Anna concocts a plan with Lucy. | 42m | ||
| 22:07 | General HospitalPortia surprises Jordan; Ava is in a bind; Liz is grateful to Scott; Trina sticks to her guns. | 42m | ||
| 22:49 | General HospitalDante develops a theory; Sonny makes Dex squirm; Obrecht expresses her outrage. | 41m | ||
| 23:30 | General HospitalGregory praises Alexis; Diane and Robert catch up; Brook Lynn confides in Maxie. | 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-10&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-10&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-10&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-10", "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-10, the first programme { "data": [ { "id": "ls_bgd209cb", "channel": "ch_yhwvfa1d", "start": "2026-10-10T03:49:00Z", "stop": "2026-10-10T04:31:00Z", "title": "General Hospital", "sub_title": null, "description": "Spencer makes a stunning announcement; Finn is left reeling; Blaze confides i...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 35, "date": "2026-10-10", "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 155 countries.