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/Stockholm time, what is on now and next, and the same data in your app with one call.
All times Europe/Stockholm. The same day from the API: GET /v1/channels/ch_esvy12w6/schedule?date=2026-10-13&tz=Europe/Stockholm
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:02 | Ondt blod i sauedalenColin og Les avler prisvinnende sauer på en gård i et lite australsk samfunn. Når en sykdom sprer seg blant dyrene og myndighetene bestemmer at all... | Drama, Dramedy | 2h 17m | |
| 00:19 | Familien BeliérAlle i Paulas familie er døve, bortsett fra henne. Dette gjør at familien er ekstra sterkt knyttet til sammen og alle stoler på hennes hjelp, både ... | Drama, Dramedy | 2h 3m | |
| 02:22 | Date Movie On nowJulia Jones jakter intenst på kjærligheten - alltid på feil sted- helt til hun slår kloa idrømmemannen. Men en slu eks, en fjertende katt og eksent... | Romantic comedy, Romance | 1h 35m | |
| 03:57 | Black KnightNår en klok svart hustler fra South Central i Los Angeles finner seg transportert tilbake til middelalderens England, leder han styrtingen av en on... | Action comedies, Action | 1h 51m | |
| 05:48 | Epic MovieTo av de forvridde forfatterne av Scary Movie satte nå sine parodiske blikk på den største sjangeren av dem alle: Hollywoods store budsjett, spesia... | Action comedies, Action | 1h 35m | |
| 07:23 | Meet the SpartansKampen begynner idet den heltemodige Leonidas, bare væpnet med skinnundertøy og en slengkappe, leder en broketeskare av 13 (ja, 13!) krigere for å ... | Comedy, Movie | 1h 34m | |
| 08:57 | Anchorman: The Legend of Ron BurgundyRon Burgundy er et superpopulært nyhetsanker i 1970-årenes San Diego som mener at kvinner kan pynte opp et nyhetsrom. Så når Ron får vite han skal ... | Comedy, Movie | 1h 45m |
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_esvy12w6/schedule?date=2026-10-13&tz=Europe/Stockholm" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_esvy12w6/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_esvy12w6/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_esvy12w6/schedule?date=2026-10-13&tz=Europe/Stockholm"); 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_esvy12w6/schedule?date=2026-10-13&tz=Europe/Stockholm", { 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_esvy12w6/schedule", params={"date": "2026-10-13", "tz": "Europe/Stockholm"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_esvy12w6/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_q63yszrj", "channel": "ch_esvy12w6", "start": "2026-10-12T20:02:40Z", "stop": "2026-10-12T22:19:40Z", "title": "Ondt blod i sauedalen", "sub_title": null, "description": "Colin og Les avler prisvinnende sauer på en gård i et lite australsk samfunn....", "category": [ "drama", "dramedy", "movie" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 7, "date": "2026-10-13", "tz": "Europe/Stockholm" } }
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.