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 UTC time, what is on now and next, and the same data in your app with one call.
All times UTC. The same day from the API: GET /v1/channels/ch_0bh8vcwx/schedule?date=2026-10-13&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:22 | Earth: Final Conflict: VolunteersA group of Resistance capture a volunteer from a Taelon program for youth. Liam decides they may learn valuable information from her. They also dec... | Volunteers | Fantasy, Drama | 48m |
| 00:10 | Earth: Final Conflict: BlissLili is given a psychotropic drug called "bliss" via a Taelon device. They discover it is widespread. With an instantly strong addictive property, ... | Bliss | Fantasy, Drama | 48m |
| 00:58 | Earth: Final Conflict: HighjackedWith a reporter on board, the Taelon mother ship is highjacked into interdimensional space. Liam is the prime suspect, causing an even bigger rift ... | Highjacked | Fantasy, Drama | 48m |
| 01:46 | Earth: Final Conflict: DefectorA shuttle crashes on a beach after being pursued by a second Taelon piloted shuttle. When Liam locates the survivor (a Taelon called Belleye), he c... | Defector | Fantasy, Drama | 48m |
| 02:34 | Earth: Final Conflict: Heroes and HeartbreakAugur is recruited by a Taelon weapons project, but the others are worried about his involvement. When the project is launched earlier than origina... | Heroes and Heartbreak | Fantasy, Drama | 48m |
| 03:22 | Earth: Final Conflict: Message in a BottleA Jiridian probe headed for Earth is shot down by the Taelon Embassy and crashes outside of D.C. Liam recovers the probe, but he, Augur, and Julia ... | Message in a Bottle | Fantasy, Drama | 48m |
| 04:10 | Earth: Final Conflict: Crossfire On nowAs the election draws near, Liam believes Zo'or is trying to have Jonathan Doors murdered. The Resistance worries that an attack is imminent at the... | Crossfire | Fantasy, Drama | 48m |
| 04:58 | Earth: Final Conflict: CrackdownAn unknown woman saves Augur and Liam from the raids on the Resistance. Lili sabotages the mother ship, but Zo'or stops its total destruction. Lili... | Crackdown | Fantasy, Drama | 48m |
| 05:46 | Earth: Final Conflict: The VanishedSome who were detained during the Resistance sweep have not reappeared after their release. Lili is taken to a lab run by Sandoval and implanted. R... | The Vanished | Fantasy, Drama | 48m |
| 06:34 | Earth: Final Conflict: EmancipationA group posing as volunteers attacks using a stolen skrill prototype that does not require an implant to control. It is discovered that the skrill ... | Emancipation | Fantasy, Drama | 48m |
| 07:22 | Earth: Final Conflict: Déjà VuA joint Doors International/Taelon venture creates a machine that allows people to vividly relive a memory, but Liam suspects a back alley version ... | Déjà Vu | Fantasy, Drama | 48m |
| 08:10 | Earth: Final Conflict: The Once and Future WorldArtifacts believed to be Taelon are found in South America. Renee and Liam try to beat Sandoval to the source to determine the importance of the fo... | The Once and Future World | Fantasy, Drama | 48m |
| 08:58 | Earth: Final Conflict: Thicker than BloodAn old business partner of Augur's is hired by Da'an to get information about the Resistance, resulting in the death of many members. Meanwhile, Sa... | Thicker than Blood | Fantasy, Drama | 48m |
| 09:46 | Earth: Final Conflict: A Little Bit of HeavenLiam and Renee investigate a dead pregnant woman missing her fetus. They discover a town that Da'an helped after a nuclear meltdown and a suspiciou... | A Little Bit of Heaven | Fantasy, Drama | 48m |
| 10:34 | Earth: Final Conflict: Pad'arPad'ar is a fierce battle game where spectators can connect via a "jack patch" that Liam suspects is causing neurological damage to users. When a P... | Pad'ar | Fantasy, Drama | 48m |
| 11:22 | Earth: Final Conflict: In MemoryLili wakes up, supposedly on Earth after a coma, and is told the Jaridians have come and conquered the Taelons. She remembers Sandoval telling her ... | In Memory | Fantasy, Drama | 48m |
| 12:10 | Earth: Final Conflict: The CloisterZo'or and Da'an travel to a cloister for an energy sharing ceremony, but one of the sisters is killed and everyone is a suspect. | The Cloister | Fantasy, Drama | 48m |
| 12:58 | Earth: Final Conflict: InterviewZo'or agrees to do a live television interview to try to endear himself to humans, but the show's producer has an ulterior motive in getting him in... | Interview | Fantasy, Drama | 47m |
| 13:45 | Earth: Final Conflict: Keep Your Enemies CloserThe shuttle Liam and Zo'or are in crashes over wilderness, but survive in safety bubbles. The people they meet live off the earth and know nothing ... | Keep Your Enemies Closer | Fantasy, Drama | 47m |
| 14:32 | Earth: Final Conflict: SubterfugeSandoval has a mole attempting to gain information about Liam - particularly concerning his commitment to the Taelons. When a Taelon and protector ... | Subterfuge | Fantasy, Drama | 47m |
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_0bh8vcwx/schedule?date=2026-10-13&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0bh8vcwx/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_0bh8vcwx/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_0bh8vcwx/schedule?date=2026-10-13&tz=UTC"); 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_0bh8vcwx/schedule?date=2026-10-13&tz=UTC", { 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_0bh8vcwx/schedule", params={"date": "2026-10-13", "tz": "UTC"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_0bh8vcwx/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_dsgjv521", "channel": "ch_0bh8vcwx", "start": "2026-10-12T23:22:00Z", "stop": "2026-10-13T00:10:00Z", "title": "Earth: Final Conflict: Volunteers", "sub_title": "Volunteers", "description": "A group of Resistance capture a volunteer from a Taelon program for youth. Li...", "category": [ "fantasy", "drama", "series", "science fiction" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 20, "date": "2026-10-13", "tz": "UTC" } }
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.