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_1yh8hxy5/schedule?date=2026-10-12&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:53 | Tattoo FixersThis week, Sketch deletes Steves disastrous dare, Pash covers Justins X rated etching and Uzzi helps Oli. | S6 E08 | 54m | |
| 00:47 | Tattoo FixersSketch tackles Laytons disastrous dare, Alice takes pity on Teresa and Uzzi sorts out Seans crustacean... | S6 E09 | 55m | |
| 01:42 | Tattoo FixersAlice kicks Baliees terrible tattoo into touch and Uzzi stops traffic with his cover for naughty Nanny Dawn. | S6 E10 | 55m | |
| 02:37 | Tattoo FixersToday, Pash sorts Daniels not-so flattering man-boobs and Uzzi sends Chelseas stoner slip-up up in smoke. | S6 E11 | 55m | |
| 03:31 | Tattoo FixersSketch tucks away Andys massive mishap, and Uzzi and Pash team up to tackle Joes ginormous sleazy slogan. | S6 E12 | 55m | |
| 04:26 | Tattoo FixersSketch invalidates Kierans raunchy rear-end request, and Uzzi reigns in Craigs horrible horse tattoo. | S6 E13 | 55m | |
| 05:21 | Tattoo FixersThe Tattoo Fixers are back, helping to cover some of the biggest tattoo disasters from around the UK | S3 E01 | 56m | |
| 06:16 | Tattoo FixersBradley needs help mending his Robert DeNiro portrait and Bailey gets his holiday Poomoji wiped clean. | S3 E02 | 54m | |
| 07:11 | Tattoo FixersThis week Sketch tackles Johns alien invasion, and Alice rids Jennys thigh of a terrible tampon tattoo | S3 E04 | 55m | |
| 08:06 | Tattoo FixersSketch gives a much loved Eastender a new lease of life, and Alice helps cancer survivor Linsey | S3 E05 | 55m | |
| 09:01 | Tattoo FixersThis week Belieber Nathan decides it time for his embarrassing fan tat to go | S3 E06 | 55m | |
| 09:55 | Tattoo FixersSketch tackles Billys embarrassing elephant, and Alice gives sisters Annette and Heather matching tattoos | S3 E07 | 55m | |
| 10:50 | Tattoo FixersSketch covers a tattoo for Instagram model Kelly, Alice sorts a DIY disaster and Jay creates a memorial tattoo | S3 E08 | 55m | |
| 11:46 | Tattoo FixersAlice paints over Francesca's pitiful Picasso, Sketch gives Madison a sci-fi inspired memorial to her Mum | S3 E09 | 55m | |
| 12:40 | Tattoo FixersSketch is helping self-professed mummys boy Lloyd save his love life | S3 E10 | 55m | |
| 13:35 | Tattoo FixersAlice rids Nicole of her embarrassing hash tagging, and Sketch cleans away Marks crotch cobwebs | S3 E11 | 55m | |
| 14:30 | Tattoo FixersThis week Sketch is monkeying around with Jenny, and Joes Gary Lineker tat gets the red card | S3 E12 | 55m | |
| 15:25 | Tattoo FixersThe pop-up parlour receives a visit from Emma who needs Jays help with her warning sign. | S3 E13 | 55m | |
| 16:20 | Tattoo FixersOur Artists make Nicoles bum look less laddy, and save teacher loving George from detention | S3 E14 | 55m | |
| 17:15 | Tattoo FixersJay Sketch and Alice end Nathans inking nightmare, give Craigs tat the finger and cover Ginas randy chicken | S3 E15 | 55m | |
| 18:10 | Tattoo FixersThe Tattoo Fixers are back and this week in the pop up parlour, Jay banishes Ant's backside buddy. | S4 E01 | 55m | |
| 19:05 | Tattoo FixersThis week it's Halloween in the pop-up Parlour and the team come face to face with some terrifying tattoos. | S4 E02 | 55m | |
| 20:01 | Tattoo FixersThis week Alice flushes away Lucy's toilet tatt, and Jay takes on Tom's superhero design. | S4 E03 | 55m | |
| 20:56 | Tattoo FixersThis week, Sketch fixes Dominic's sperm covered chest, and Lisa pays tribute to her idol. | S4 E04 | 55m | |
| 21:50 | Tattoo FixersSketch conceals a large portrait on Les, and Alice spreads Marmite onto Becca's leg. | S4 E05 | 55m | |
| 22:45 | Tattoo FixersThis week, Alice tames Luke's bad cat-too, and Sketch does away with Gavin's saucy slogan. | S4 E06 | 55m |
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_1yh8hxy5/schedule?date=2026-10-12&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1yh8hxy5/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1yh8hxy5/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_1yh8hxy5/schedule?date=2026-10-12&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_1yh8hxy5/schedule?date=2026-10-12&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_1yh8hxy5/schedule", params={"date": "2026-10-12", "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_1yh8hxy5/schedule?date=2026-10-12, the first programme { "data": [ { "id": "ls_8rj4qtr9", "channel": "ch_1yh8hxy5", "start": "2026-10-11T23:53:13Z", "stop": "2026-10-12T00:47:39Z", "title": "Tattoo Fixers", "sub_title": "S6 E08", "description": "This week, Sketch deletes Steves disastrous dare, Pash covers Justins X rated...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 26, "date": "2026-10-12", "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 155 countries.