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. Search any past day on the Archive plan.
All times UTC. The same day from the API: GET /v1/channels/ch_80n20tpd/schedule?date=2026-10-14&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 1h | ||
| 01:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 2h | ||
| 03:00 | JewelleryMaker ReplayA replay of today's highlights. | 2h | ||
| 05:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 1h | ||
| 06:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 1h | ||
| 07:00 | Early BirdWake up to Gemporia's birthday celebrations! Join us for our Early Bird Hour and discover today's Crimp Stoppers Launch! | 1h | ||
| 08:00 | Lumina By AngeWorlds collide with this brand new celestial collection from Gemporia presenter Angeline Davies! | 1h | ||
| 09:00 | Deal Of The DayIt's Gemporia's 22nd birthday! Join the celebrations with our special Deal of the Day, featuring a stunning selection of Natural Honey Ethiopian Opal! | 1h | ||
| 10:00 | Flat Back Glue On Earring......Findings Glue: We're celebrating our parent company, Gemporia's, 22nd birthday! Our 11am hour will feature a fabulous jewellery deal made for th... | 1h | ||
| 11:00 | Masterclass: Multi GemstoneLoose Boxes: Get creative with guest designer Debbie Kershaw for Gemporia's 22nd Birthday celebrations! Join us for fabulous jewellery-making demon... | 1h | ||
| 12:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 1h | ||
| 13:00 | Colour Me HappyJoin the Crafter's Companion team for a vibrant "Colour Me Happy" special! Discover expert tips, stunning coloring techniques, and must-have suppli... | 1h | ||
| 14:00 | Pick of the WeekGet this amazing Pick of the week at an unbeliveable price buts its only avaialble to Sunday or While stocks last. So don't miss out! | 1h | ||
| 15:00 | Craft AlongStep by step craft along with Shelia showing you how to create a stunning project from scratch. | 1h | ||
| 16:00 | Gem Collector LiveBen's Back to Celebrate the Big Birthday Event, and He's raided the Vault for Even More Incredible Deals! | 1h | ||
| 17:00 | Gem Collector LiveJoin Ben for Another Round of Incredible Birthday Warehouse Savings | 1h | ||
| 18:00 | Gem Collector LiveThe Big Split Pay Sale Is Here: Discover Museum Kunzite, Exquisite Emeralds and More - Spread the cost - not the Sparkle! | 1h | ||
| 19:00 | Gem Collector LiveThe Vault Has Been Raided Once More, and Ben Has the Deals to Prove It | 1h | ||
| 20:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 1h | ||
| 21:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 2h | ||
| 22:00 | JewelleryMaker ReplayA replay of today's highlights. | 1h | ||
| 23:00 | Jewellery Maker RepeatsJewellery Maker Repeats. | 1h |
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_80n20tpd/schedule?date=2026-10-14&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_80n20tpd/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_80n20tpd/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_80n20tpd/schedule?date=2026-10-14&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_80n20tpd/schedule?date=2026-10-14&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_80n20tpd/schedule", params={"date": "2026-10-14", "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_80n20tpd/schedule?date=2026-10-14, the first programme { "data": [ { "id": "ls_6fkfhhz3", "channel": "ch_80n20tpd", "start": "2026-10-14T00:00:00Z", "stop": "2026-10-14T01:00:00Z", "title": "Jewellery Maker Repeats", "sub_title": null, "description": "Jewellery Maker Repeats.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 22, "date": "2026-10-14", "tz": "UTC" } }
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 150 countries.