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 Europe/Brussels 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 Europe/Brussels. The same day from the API: GET /v1/channels/ch_8fv90f0z/schedule?date=2026-10-15&tz=Europe/Brussels
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:11 | Unsolved MurdersOn June 1, 2011, firefighters intervened to put out a fire in a joke shop in Louvroil in the North. They discovered the charred body of Jean Moritz... | 1h 50m | ||
| 00:01 | Unsolved MurdersOn August 4, 1997, the body of Christian Jambert, a retired gendarme, was discovered in his house in Auxerre. A 22 long rifle was placed on his legs. | 1h 51m | ||
| 01:52 | Murder MapsJohn Christie kills at least eight women during the 1940s and 1950s, including his wife, while attempting to frame his neighbour. | S2 E4, John Christie: Serial Killer, Part 1 | 57m | |
| 02:48 | Murder MapsJohn Christie kills at least eight women during the 1940s and 1950s, including his wife; he eluded capture for many years. | S2 E5, John Christie: Serial Killer, Part 2 | 56m | |
| 03:44 | Murder MapsOn a hot summers day in 1934, a horrifying discovery was made in a trunk at the left luggage office of Brighton Train Station. | S3 E1, The Brighton Trunk Murders | 56m | |
| 04:41 | The CaseThe tale of a manhunt where phone taps, bates and snitches come and go. | 1h 7m | ||
| 05:48 | The CaseFrom 1995, a series of rapes, followed by murders shook the region of Perpignan; in charge of the investigation, Gilles Soulie, strives to find one... | 1h 8m | ||
| 06:56 | Murder MapsIn 1878, a widow is killed in her own home, and the killer is her own servant; the young servant does not only kill and dismember her employer, she... | S5 E8, The Richmond Murders | 57m | |
| 07:53 | Murder MapsUntil its closure in 2016, Madame Tussauds' Chamber of Horrors was one of the museum's oldest and most popular attractions. | S5 E9, Mary Pearcey | 57m | |
| 08:50 | Mind InvestigatorsOn November 20th 2013, a fishermen discovers the corpse of a baby on the beach of Berck. | 1h 8m | ||
| 09:57 | Mind InvestigatorsOn September 2nd 2015, the body of two year-old Méline is found in her home; her father confesses to the murder. | 1h 3m | ||
| 11:01 | The Railway MurdersJimmy Alcott was a troubled young man. He had joined the army after leaving school, but his time in Germany ended in disgrace when he was court-mar... | 56m | ||
| 11:57 | The Railway MurdersIt is one of London's great unsolved mysteries. Late one evening in May 1957, an elderly Polish Countess was travelling home from a party when she ... | 57m | ||
| 12:53 | Crime Time SolversIn the tranquil environs of Saint-Thomas-de-Conac, the discovery of a charred Mercedes and a gruesome cadaver initiated a perplexing investigation. | 59m | ||
| 13:52 | Crime Time SolversA 34 year old mother is found murdered at the side of the road. | 54m | ||
| 14:46 | Unsolved MurdersOn July 14, 2013, in Perpignan, Marie-Josée Benitez, 53, and her daughter Allison, 19, suddenly disappeared. However, Allison was supposed to parti... | 1h 52m | ||
| 16:39 | Unsolved MurdersOn Thursday, September 25, 2003, Clément Roussenq, a 55-year-old father and principal of Virebelle College in La Ciotat, received a phone call duri... | 1h 52m | ||
| 18:31 | Dark Memories: Crimes From the Balearic IslandsIn 2006 Katerina Buchler was shot dead at her home in Cala Murada, Mallorca. Her husband, Rudolf Eberhard, was the only witness to the events. | 47m | ||
| 19:18 | Dark Memories: Crimes From the Balearic IslandsOn January 11th, 1977 María Dolores Santiago Palenzuela disappeared leaving no trace. | 30m | ||
| 19:47 | Dark Memories: Crimes From the Balearic IslandsThe body of a German citizen, Günter Ulrich, is found at the bottom of a well filled with concrete in The Seven Houses estate, located in the east ... | 1h 17m | ||
| 21:04 | Dark Memories: Crimes From the Balearic IslandsIn 1987 the discovery of the corpse of German citizen Winfred Brandt initiated an investigation that led to the resolution of another mysterious di... | 43m | ||
| 21:47 | Dark Memories: Crimes From the Balearic IslandsThe German businessman Manfred Meisel, the so-called King of Beer, is murdered in his home as well as his eight-year-old son Patrick and Claudia Le... | 46m | ||
| 22:33 | Murder MapsAs police investigated the disappearance of wealthy widow, Olive Durand Deacon, in early 1949, they could not have imagined the gruesome confession. | S3 E2, The Acid Bath Murders | 56m | |
| 23:30 | Murder MapsThe day before the coronation of Queen Elizabeth II, a body of a teenage girl was found floating in the River Thames. | S3 E3, The Towpath Murders | 56m |
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_8fv90f0z/schedule?date=2026-10-15&tz=Europe/Brussels" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8fv90f0z/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_8fv90f0z/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_8fv90f0z/schedule?date=2026-10-15&tz=Europe/Brussels"); 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_8fv90f0z/schedule?date=2026-10-15&tz=Europe/Brussels", { 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_8fv90f0z/schedule", params={"date": "2026-10-15", "tz": "Europe/Brussels"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_8fv90f0z/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_31gr81nz", "channel": "ch_8fv90f0z", "start": "2026-10-14T20:11:27Z", "stop": "2026-10-14T22:01:27Z", "title": "Unsolved Murders", "sub_title": null, "description": "On June 1, 2011, firefighters intervened to put out a fire in a joke shop in ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 24, "date": "2026-10-15", "tz": "Europe/Brussels" } }
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 155 countries.