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/Bucharest 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/Bucharest. The same day from the API: GET /v1/channels/ch_swz942ce/schedule?date=2026-10-13&tz=Europe/Bucharest
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | TREPTEEmisiunea tratează în fiecare episod câte o poveste dramatică inspirată din realitate . | Documentar | 1h | |
| 01:00 | De vorbă cu DoctorulInfotainment medical de interes general. | Diverse | 1h | |
| 02:00 | Substantial On now | Diverse | 1h | |
| 03:00 | Contraste in lumina | Diverse | 1h | |
| 04:00 | Ai tot dreptul | Diverse | 1h | |
| 05:00 | Experti in sentimente | Diverse | 1h | |
| 06:00 | Oameni și păreriEmisiunea este răspunsul nostru la nevoile și condițiile actuale ale oamenilor. | Talk show | 1h | |
| 07:00 | Dialoguri veritabile | Diverse | 1h | |
| 08:00 | De vorbă cu DoctorulInfotainment medical de interes general. | Diverse | 1h | |
| 09:00 | Muzeul Bucuresti | Documentar | 1h | |
| 10:00 | Neuropsy | Diverse | 1h | |
| 11:00 | Ce bine că ești!În fiecare ediție a emisiunii veți putea urmări povestea de dragoste a unei familii. | Divertisment | 1h | |
| 12:00 | Substantial | Diverse | 1h | |
| 13:00 | Contraste in lumina | Diverse | 1h | |
| 14:00 | Experti in sentimente | Diverse | 1h | |
| 15:00 | Intrebari incomode | Diverse | 1h | |
| 16:00 | De vorbă cu DoctorulInfotainment medical de interes general. | Diverse | 1h | |
| 17:00 | Business la SuperlativInfotainment show dedicat antreprenorilor și celor care sunt interesati de antreprenoriat. | Diverse | 1h | |
| 18:00 | Step by StepInfotainment cultural cu teme de actualitate spirituală și educațională. | Diverse | 1h | |
| 19:00 | economie | Diverse | 30m | |
| 19:30 | Sapte stiri | Ştiri | 30m | |
| 20:00 | Substantial | Diverse | 1h | |
| 21:00 | Contraste in lumina | Diverse | 1h | |
| 22:00 | TREPTEEmisiunea tratează în fiecare episod câte o poveste dramatică inspirată din realitate . | Documentar | 1h | |
| 23:00 | Sta scris | Diverse | 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_swz942ce/schedule?date=2026-10-13&tz=Europe/Bucharest" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_swz942ce/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_swz942ce/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_swz942ce/schedule?date=2026-10-13&tz=Europe/Bucharest"); 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_swz942ce/schedule?date=2026-10-13&tz=Europe/Bucharest", { 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_swz942ce/schedule", params={"date": "2026-10-13", "tz": "Europe/Bucharest"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_swz942ce/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_qzyengx3", "channel": "ch_swz942ce", "start": "2026-10-12T21:00:00Z", "stop": "2026-10-12T21:59:59Z", "title": "TREPTE", "sub_title": null, "description": "Emisiunea tratează în fiecare episod câte o poveste dramatică inspirată din r...", "category": [ "documentar" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 25, "date": "2026-10-13", "tz": "Europe/Bucharest" } }
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 | Sunday 12 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 155 countries.