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/Copenhagen 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/Copenhagen. The same day from the API: GET /v1/channels/ch_w1kx74w7/schedule?date=2026-10-15&tz=Europe/Copenhagen
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Hudson og RexSæson: 5. Episode: 9. 'Hudson og Rex'. En vigtig retssag bringes i fare, da Sarahs vidnesbyrd bliver udfordret af en tidligere rival. Charlie, Rex ... | Serier | 1h | |
| 01:00 | Hudson og RexSæson: 5. Episode: 10. 'Hudson og Rex'. Efter en polterabend bliver en brudepige fundet død, så Charlie og Rex må finde ud af, hvad der er sket. In... | Serier | 1h | |
| 02:00 | The RookieSæson: 8. Episode: 13. 'Episode 13'. En mand fra en lille by forfølger sin drøm om at blive politibetjent i Los Angeles, men han står over for udfo... | Serier | 55m | |
| 02:55 | The RookieSæson: 8. Episode: 14. 'Tiger Bear'. En urovækkende hændelse på en skole trækker teamet ind i en kompleks sag, mens Celinas midlertidige opgave som... | Serier | 55m | |
| 03:50 | MatlockSæson: 2. Episode: 4. 'Matlock'. Tilladt for: 7. | Serier | 55m | |
| 04:45 | Skat eller skrammelSæson: 1. Episode: 9. 'Skat eller skrammel'. At sammenligne æbler med pærer er ingen dans på roser - og endnu sværere er det at sammenligne et glas... | Show | 1h | |
| 05:45 | Mr. Bean: Den animerede serieSæson: 1. Episode: 24. 'Mr. Bean: Den animerede serie'. Denne serie følger alles yndlingskluddermikkels eventyr. Mr. Bean deler lejlighed med den e... | Børn | 15m | |
| 06:00 | Cocomelon: Sang for sangSæson: 1. Episode: 53. 'Op ad muren kravled''. Åh, nej! Vores ven, edderkoppen sidder fast indenfor og kan ikke komme ud! Hav sjov med at synge med... | Børn | 2m | |
| 06:02 | Cocomelon: Sang for sangSæson: 2. Episode: 63. 'Myren og græshoppen'. Myren og Græshopen lærer os en vigtig lektie om hårdt arbejde! Lad os synge med til denne klassiske f... | Børn | 3m | |
| 06:05 | KjempemaskinerSæson: 1. Episode: 1. 'Kjempemaskiner'. Instruktører: Stany Crets, Indra Siera. Medvirkende: Walter Baele, Maarten Bosmans, Stany Crets, Stefaan De... | Børn | 4m | |
| 06:09 | KjempemaskinerSæson: 1. Episode: 2. 'Kjempemaskiner'. Tilladt for: A. | Børn | 5m | |
| 06:14 | BabbledyrSæson: 1. Episode: 7. 'Babbledyr'. Tilladt for: A. | Børn | 4m | |
| 06:18 | Se hva jeg kanSæson: 2. Episode: 7. 'Se hva jeg kan'. Tilladt for: A. | Børn | 2m | |
| 06:20 | Med dyrlegen på jobbSæson: 1. Episode: 6. 'Med dyrlegen på jobb'. Tilladt for: A. | Børn | 10m | |
| 06:30 | DyrepasserneSæson: 11. Episode: 15. 'Dyrepasserne'. Tilladt for: A. | Fakta | 30m | |
| 07:00 | NyheteneSæson: 2026. Episode: 206. 'Nyhetene'. Tilladt for: A. | Nyheder | 5m | |
| 07:05 | God morgen NorgeSæson: 2026. Episode: 155. 'God morgen Norge'. Tilladt for: A. | Show | 4h | |
| 11:05 | God morgen NorgeSæson: 2026. Episode: 155. 'God morgen Norge'. Tilladt for: A. | Show | 3h 55m | |
| 15:00 | Skat eller skrammelSæson: 1. Episode: 10. 'Skat eller skrammel'. Hvad er skat, og hvad er skrammel? Det forsøger vennerne Anica og Anna at holde styr på, når de bland... | Show | 1h | |
| 16:00 | ReddetSæson: 4. Episode: 10. 'Reddet'. To veninder er på vandretur på Higravtindan, da den ene glider. Hun har kun få synlige skader, men lægen mistænker... | Fakta | 30m | |
| 16:30 | DyrepasserneSæson: 13. Episode: 5. 'Dyrepasserne'. Tilladt for: A. | Fakta | 30m | |
| 17:00 | NyhetskompanietSæson: 4. Episode: 106. 'Nyhetskompaniet'. Tilladt for: A. | Nyheder | 30m | |
| 17:30 | NyhetskompanietSæson: 4. Episode: 107. 'Nyhetskompaniet'. Tilladt for: A. | Nyheder | 30m | |
| 18:00 | NyhetskompanietSæson: 4. Episode: 108. 'Nyhetskompaniet'. Tilladt for: A. | Nyheder | 30m | |
| 18:30 | NyheteneSæson: 2026. Episode: 288. 'Nyhetene'. Tilladt for: A. | Nyheder | 15m | |
| 18:45 | VæretSæson: 2026. Episode: 288. 'Været'. Tilladt for: A. | Nyheder | 5m | |
| 18:50 | SportenSæson: 2026. Episode: 288. 'Sporten'. Tilladt for: A. | Sport | 10m | |
| 19:00 | HuskestueSæson: 8. Episode: 6. 'Huskestue'. Tilladt for: A. | Show | 55m | |
| 19:55 | FarmenSæson: 21. Episode: 37. 'Farmen'. Medvirkende: Gaute Grøtta Grav. Tilladt for: A. | Show | 1h 5m | |
| 21:00 | NyheteneSæson: 2026. Episode: 288. 'Nyhetene'. Tilladt for: A. | Nyheder | 20m | |
| 21:20 | Været'Været'. Tilladt for: A. | Nyheder | 10m | |
| 21:30 | SportenSæson: 2026. Episode: 288. 'Sporten'. Tilladt for: A. | Sport | 10m | |
| 21:40 | FarmenSæson: 21. Episode: 38. 'Farmen'. Medvirkende: Gaute Grøtta Grav. Tilladt for: A. | Show | 35m | |
| 22:15 | Kollaps – profeten i BærumSæson: 1. Episode: 1. 'Kollaps – profeten i Bærum'. Tilladt for: 15. | Fakta | 1h | |
| 23:15 | TollSæson: 6. Episode: 1. 'Toll'. Tilladt for: 7. | Fakta | 25m | |
| 23:40 | Sheriff CountrySæson: 1. Episode: 14. 'Sheriff Country'. Tilladt for: 11. | Serier | 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_w1kx74w7/schedule?date=2026-10-15&tz=Europe/Copenhagen" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_w1kx74w7/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_w1kx74w7/history?from=2025-12-01T00:00:00Z&to=2025-12-02T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_w1kx74w7/schedule?date=2026-10-15&tz=Europe/Copenhagen"); 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_w1kx74w7/schedule?date=2026-10-15&tz=Europe/Copenhagen", { 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_w1kx74w7/schedule", params={"date": "2026-10-15", "tz": "Europe/Copenhagen"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_w1kx74w7/schedule?date=2026-10-15, the first programme { "data": [ { "id": "ls_kvaa6x28", "channel": "ch_w1kx74w7", "start": "2026-10-14T22:00:00Z", "stop": "2026-10-14T23:00:00Z", "title": "Hudson og Rex", "sub_title": null, "description": "Sæson: 5. Episode: 9. 'Hudson og Rex'. En vigtig retssag bringes i fare, da S...", "category": [ "serier" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 36, "date": "2026-10-15", "tz": "Europe/Copenhagen" } }
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 1 December 2025 | Category |
|---|---|---|
| 04:30 | Dyrepasserne | Fakta |
| 05:00 | Cocomelon: Sang for sang | Børn |
| 05:04 | Du er min venn | Børn |
| 26 more programmes that day, on Archive | ||
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.