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 Europe/Rome 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/Rome. The same day from the API: GET /v1/channels/ch_x8jzyjfn/schedule?date=2026-10-17&tz=Europe/Rome
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Una freccia nel buioUna Freccia nel Buio accompagna gli ascoltatori di Radiofreccia dalla notte all'alba con la migliore selezione musicale rock. Dal lunedi' alla dome... | 6h | ||
| 06:00 | Rock morningIl morning show di Radiofreccia accompagna il risveglio con un mix di musica, attualita', approfondimenti e ospiti, mantenendo un contatto costante... | 4h | ||
| 10:00 | Good vibrationsLa giornata di Radiofreccia e' affidata a un mix di voci unico, per quattro ore di intrattenimento spensierato tra musica, sport e cucina. Dal vene... | 4h | ||
| 14:00 | Electric LadylandLo spazio pomeridiano di Radiofreccia e' nelle mani delle ladies del rock, con speciali e notizie sul mondo della musica e le interviste con gli ar... | 3h | ||
| 17:00 | Note di stileI segreti delle chitarre elettriche piu' rappresentative della storia del rock e dei chitarristi piu' celebri sono i protagonisti di ''Note Di Stil... | 1h | ||
| 18:00 | Rebel yellLa casa di cura piu' grande che ci sia! Su Radiofreccia, un mix esplosivo di divertimento, ironia e storie per accompagnare il pubblico fino a tard... | 3h | ||
| 21:00 | L'ultima lunaRadiofreccia da' voce alle storie di vita in un dialogo continuo tra disc jockey e pubblico, tra racconti, esperienze e condivisione. Dal venerdi' ... | 3h |
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_x8jzyjfn/schedule?date=2026-10-17&tz=Europe/Rome" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x8jzyjfn/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_x8jzyjfn/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_x8jzyjfn/schedule?date=2026-10-17&tz=Europe/Rome"); 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_x8jzyjfn/schedule?date=2026-10-17&tz=Europe/Rome", { 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_x8jzyjfn/schedule", params={"date": "2026-10-17", "tz": "Europe/Rome"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_x8jzyjfn/schedule?date=2026-10-17, the first programme { "data": [ { "id": "ls_b50w9by6", "channel": "ch_x8jzyjfn", "start": "2026-10-16T22:00:00Z", "stop": "2026-10-17T04:00:00Z", "title": "Una freccia nel buio", "sub_title": null, "description": "Una Freccia nel Buio accompagna gli ascoltatori di Radiofreccia dalla notte a...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 7, "date": "2026-10-17", "tz": "Europe/Rome" } }
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.