74.3M 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 America/New_York time, what is on now and next, and the same data in your app with one call.
All times America/New_York. The same day from the API: GET /v1/channels/ch_2xwck6wg/schedule?date=2026-10-16&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | The Garfield ShowUna dragona enfrenta al malvado Virrey mientras una bruja prepara un peligroso plan contra Elizab… | S3 E5, Kind to Kittens | 30m | |
| 00:30 | The Garfield ShowUna nueva ley obliga a todos a tratar bien a los gatos, pero Garfield pronto descubre sus consecu… | S3 E7, Prehistoric Pup | 30m | |
| 01:00 | The Garfield ShowUn pueblo subterráneo intenta volver perezoso al mundo entero, pero un Garfield hiperactivo podrí… | S3 E9, Laugh in a Can | 30m | |
| 01:30 | The Garfield ShowEl Dr. Rompecabezas inventa una máquina capaz de intercambiar personalidades y provoca un caos to… | S3 E11, The Caped Avenger Rides Again! | 30m | |
| 02:00 | The Garfield ShowCuando Garfield se convierte en superhéroe, Nermal decide convertirse en su peor enemigo.… | S3 E13, Teddy Dearest | 30m | |
| 02:30 | The Garfield ShowUn productor quiere reemplazar a Odie por un nuevo héroe musculoso, pero el perro demostrará su i… | S3 E15, What a Difference a Pet Makes | 30m | |
| 03:00 | The Garfield Show¿Cómo podrá lograr Garfield que el gato más lindo del país se vea feo? No sera sencillo, pero nue | S2 E3, The Art of Being Uncute | 30m | |
| 03:30 | The Garfield Show¿Cómo podrá librarse Garfield de la Tía Ivy que odia a los animales? Garfield | S2 E5, Night of the Bunny Slippers | 30m |
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_2xwck6wg/schedule?date=2026-10-16&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_2xwck6wg/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_2xwck6wg/history?from=2026-10-06T00:00:00Z&to=2026-10-07T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_2xwck6wg/schedule?date=2026-10-16&tz=America/New_York"); 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_2xwck6wg/schedule?date=2026-10-16&tz=America/New_York", { 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_2xwck6wg/schedule", params={"date": "2026-10-16", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_2xwck6wg/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_b9mx20et", "channel": "ch_2xwck6wg", "start": "2026-10-16T04:00:00Z", "stop": "2026-10-16T04:30:00Z", "title": "The Garfield Show", "sub_title": "The Garfield Show", "description": "Una dragona enfrenta al malvado Virrey mientras una bruja prepara un peligros...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 8, "date": "2026-10-16", "tz": "America/New_York" } }
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.