73.8M 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. Search any past day on the Archive plan.
All times America/New_York. The same day from the API: GET /v1/channels/ch_qb6cjsmb/schedule?date=2026-10-13&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:39 | A Mão do DiaboDurante as investigações sobre o serial killer Mão de Deus, um homem confessa ao agente Doyle que os conceitos fanáticos do pai levaram a família a... | Movie, Thriller | 1h 57m | |
| 01:36 | Beijos que MatamUm policial de Los Angeles procura um cafetão que sequestrou a filha de um imigrante japonês. | Movie, Thriller | 2h 15m | |
| 03:51 | SubmersosAcontecimentos estranhos ocorrem em um submarino da Segunda Guerra Mundial. | Movie, Thriller | 1h 57m | |
| 05:48 | O Quebra-Gelo On nowO quebra-gelo "Mikhail Gromov" está movendo um enorme iceberg. Saindo de uma colisão, o navio cai na armadilha de gelo e é forçado a flutuar perto ... | Movie, Thriller | 2h 19m | |
| 08:07 | EmboscadaLiberty, a esposa de um fabricante de armas, é tomada como refém por um homem chamado Joe. Joe explica que sua filha morreu em um tiroteio no colég... | Movie, Thriller | 1h 54m | |
| 10:01 | RefémUm negociador precisa salvar uma família enquanto luta para proteger seus próprios entes queridos. | Action, Movie | 2h 13m | |
| 12:14 | Desejo de VingançaQuando uma jornalista é informada por um agente do FBI que seu marido acaba de ser assassinado, os dois unem forças para desvendar uma rede de enga... | Action, Movie | 1h 50m | |
| 14:04 | SentinelaUm agente do serviço secreto acusado de homicídio precisa limpar seu nome. | Action, Movie | 2h 8m | |
| 16:12 | Matador de AluguelJoe é um detetive, mas também um assassino por encomenda. Quando Chris, um traficante, tem seu estoque roubado pela própria mãe, ele resolve contra... | Movie, Thriller | 1h 56m | |
| 18:08 | Assassinatos em BostonMatt Sorenson é um ex-boxeador que é também policial. Ele tenta elucidar a brutal morte de seu irmão mais novo, Michael, e para isto precisa se inf... | Movie, Thriller | 1h 52m |
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_qb6cjsmb/schedule?date=2026-10-13&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qb6cjsmb/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_qb6cjsmb/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_qb6cjsmb/schedule?date=2026-10-13&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_qb6cjsmb/schedule?date=2026-10-13&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_qb6cjsmb/schedule", params={"date": "2026-10-13", "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_qb6cjsmb/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_xez5kq0d", "channel": "ch_qb6cjsmb", "start": "2026-10-13T03:39:00Z", "stop": "2026-10-13T05:36:00Z", "title": "A Mão do Diabo", "sub_title": null, "description": "Durante as investigações sobre o serial killer Mão de Deus, um homem confessa...", "category": [ "movie", "thriller" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 10, "date": "2026-10-13", "tz": "America/New_York" } }
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 | Friday 13 October 2023 | 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.