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 America/Montevideo 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 America/Montevideo. The same day from the API: GET /v1/channels/ch_b0qrcbzb/schedule?date=2026-10-10&tz=America/Montevideo
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Mañana míasUn programa dinámico que acompaña tus mañanas con entretenimiento y rigor periodístico. | Interés general | 3h | |
| 03:00 | La tramaAmores y odios de los protagonistas de la política argentina. | Político | 1h | |
| 04:00 | Una batalla tras otraEl debate necesario para combatir la desinformación y acercarse a la verdad. | Político | 2h | |
| 04:30 | Una batalla tras otraEl debate necesario para combatir la desinformación y acercarse a la verdad. | Político | 1h 30m | |
| 06:00 | Hambre de futuroLa periodista Micaela Urdinez recorre el país para conocer las realidades y los sueños de los niños que viven en las comunidades más vulnerables. | Especial | 1h | |
| 06:45 | Mañana míasUn programa dinámico que acompaña tus mañanas con entretenimiento y rigor periodístico. | Interés general | 3h 15m | |
| 07:00 | + MañanaLa mejor compañía para arrancar el fin de semana bien informado. | Noticiero | 2h | |
| 09:00 | +Info findeNoticias, móviles, actualidad y color para vivir el finde bien informado. | Noticiero | 4h | |
| 10:00 | Buen día NaciónFrancisco Olivera, Paula Rossi y equipo te acompañan todas las mañanas para vivir la actualidad minuto a minuto. | Noticiero | 3h | |
| 13:00 | La robinetaUn recorrido en vivo por los lugares mas sorprendentes con el estilo único de su conductor. | Entretenimientos | 3h | |
| 15:00 | Código NaciónLa información más caliente contrastada con la frialdad de los datos. | Político | 2h | |
| 16:00 | +Noticias FindeCuando la tarde se pone en marcha, te contamos todo lo que necesitás saber. | Noticiero | 4h | |
| 17:00 | Clima de épocaUn camino diferente para entender la actualidad. | Periodístico | 1h 30m | |
| 18:30 | Siempre +Cristina Pérez llega con compromiso, análisis y toda la información que necesitás saber. | Periodístico | 1h 30m | |
| 20:00 | +Info SábadoLas noticias y el análisis justo para entender la realidad. | Noticiero | 3h 30m | |
| 21:30 | Una batalla tras otraEl debate necesario para combatir la desinformación y acercarse a la verdad. | Político | 1h 30m | |
| 23:00 | Caso abiertoRelato detallado y análisis profundo de los casos más enigmáticos que conmovieron al país. | Periodístico | 1h | |
| 23:30 | Resumen de noticiasLa información más destacada de la semana en un solo programa. | Periodístico | 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_b0qrcbzb/schedule?date=2026-10-10&tz=America/Montevideo" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_b0qrcbzb/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_b0qrcbzb/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_b0qrcbzb/schedule?date=2026-10-10&tz=America/Montevideo"); 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_b0qrcbzb/schedule?date=2026-10-10&tz=America/Montevideo", { 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_b0qrcbzb/schedule", params={"date": "2026-10-10", "tz": "America/Montevideo"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_b0qrcbzb/schedule?date=2026-10-10, the first programme { "data": [ { "id": "ls_efzy4cfn", "channel": "ch_b0qrcbzb", "start": "2026-10-10T03:00:00Z", "stop": "2026-10-10T06:00:00Z", "title": "Mañana mías", "sub_title": null, "description": "Un programa dinámico que acompaña tus mañanas con entretenimiento y rigor per...", "category": [ "interés general" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 18, "date": "2026-10-10", "tz": "America/Montevideo" } }
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 155 countries.