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/Toronto 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/Toronto. The same day from the API: GET /v1/channels/ch_av9baw3x/schedule?date=2026-10-13&tz=America/Toronto
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:30 | Hockey LNHLes Devils du New Jersey accueillent les Sénateurs d'Ottawa pour un match de l'Association de l'Est au Prudential Center. | Sport, Hockey | 2h 30m | |
| 01:00 | InfopublicitéCeci est une émission publicitaire payée. | Shopping | 30m | |
| 01:30 | Baseball MLBLes Brewers de Milwaukee affrontent les Dodgers de Los Angeles en série de championnat de la Ligue nationale. | Sport, Playoff sports | 3h 30m | |
| 05:00 | 50 ans de sportsOn nous fait revivre les plus grands moments du sport de chaque année. | 2018 | Series, Documentary | 30m |
| 05:30 | 50 ans de sportsOn nous fait revivre les plus grands moments du sport de chaque année. | 2017 | Series, Documentary | 30m |
| 06:00 | InfopublicitéCeci est une émission publicitaire payée. | Shopping | 30m | |
| 06:30 | Baseball MLBLes Brewers de Milwaukee affrontent les Dodgers de Los Angeles en série de championnat de la Ligue nationale. | Sport, Playoff sports | 3h 30m | |
| 10:00 | InfopublicitéCeci est une émission publicitaire payée. | Shopping | 30m | |
| 10:30 | Avant-match LNHPrésentation des points à surveiller avant la présentation du match de hockey. | Sports talk | 30m | |
| 11:00 | Hockey LNH On nowLes Sabres de Buffalo accueillent les Panthers de la Floride pour un match de la division Atlantique au KeyBank Center. | Sport, Hockey | 2h 30m | |
| 13:30 | Avant-match LNHPrésentation des points à surveiller avant la présentation du match de hockey. | Sports talk | 30m | |
| 14:00 | Hockey LNHLes Devils du New Jersey accueillent les Sénateurs d'Ottawa pour un match de l'Association de l'Est au Prudential Center. | Sport, Hockey | 2h 30m | |
| 16:30 | Red Bull Cliff DivingCompétition de plongeon. | Italie | Series, Action sports | 2h 30m |
| 19:00 | JiCAvec une liste impressionnante de collaborateurs, Jean-Charles Lajoie aborde le sport sous tous ses angles à sa manière, dans un univers télévisuel... | Series, Sports talk | 2h | |
| 21:00 | Jeux de la semaine MLBUne présentation des matchs de la Ligue majeure de baseball. | Series, Baseball | 30m | |
| 21:30 | Dans le ringPrésentation d'un combat de boxe professionnelle. | Gala de Boxe, Eye of the tiger, Casino de Montréal, 3 septembre 2026 | Series, Boxing | 2h 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_av9baw3x/schedule?date=2026-10-13&tz=America/Toronto" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_av9baw3x/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_av9baw3x/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_av9baw3x/schedule?date=2026-10-13&tz=America/Toronto"); 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_av9baw3x/schedule?date=2026-10-13&tz=America/Toronto", { 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_av9baw3x/schedule", params={"date": "2026-10-13", "tz": "America/Toronto"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_av9baw3x/schedule?date=2026-10-13, the first programme { "data": [ { "id": "ls_w620wrt3", "channel": "ch_av9baw3x", "start": "2026-10-13T02:30:00Z", "stop": "2026-10-13T05:00:00Z", "title": "Hockey LNH", "sub_title": null, "description": "Les Devils du New Jersey accueillent les Sénateurs d'Ottawa pour un match de ...", "category": [ "sports", "hockey" ], "flags": { "new": false, "live": false } } ], "meta": { "count": 16, "date": "2026-10-13", "tz": "America/Toronto" } }
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 10 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.