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 UTC 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 UTC. The same day from the API: GET /v1/channels/ch_1bmy4j74/schedule?date=2026-10-17&tz=UTC
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 22:00 | Senedd Cymru - Welsh ParliamentHighlights from the Welsh Parliament. | 16/10/2026 | 4h | |
| 02:00 | Northern Ireland AssemblyQuestions in Stormont to the finance minister, John O'Dowd, on Monday 12 October. | Finance Questions | 45m | |
| 02:45 | Northern Ireland AssemblyHighlights from the Northern Ireland Assembly. | 16/10/2026 | 2h 15m | |
| 05:00 | Westminster HallHouse of Commons proceedings in Westminster Hall, from Tuesday 13 October. | 13/10/2026 | 5h | |
| 10:00 | Prime Minister's QuestionsCoverage of questions to Andy Burnham, the prime minister, on Wednesday 14 October. | 14/10/2026 | 35m | |
| 10:35 | Welsh First Minister's QuestionsQuestions in the Senedd to Rhun ap Iorwerth, the first minister, on Tuesday 13 October. | 13/10/2026 | 1h | |
| 11:35 | Northern Ireland AssemblyQuestions in Stormont to the finance minister, John O'Dowd, on Monday 12 October. | Finance Questions | 45m | |
| 12:20 | House of CommonsCoverage of a statement in the House of Commons. | 17/10/2026 | 45m | |
| 13:05 | House of LordsCoverage of a statement in the House of Lords. | 17/10/2026 | 40m | |
| 13:45 | Senedd Cymru - Welsh ParliamentCoverage of a debate in the Welsh Parliament. | 17/10/2026 | 50m | |
| 14:35 | Northern Ireland AssemblyCoverage of a statement in the Northern Ireland Assembly. | 17/10/2026 | 45m | |
| 15:20 | House of CommonsCoverage of an urgent question in the House of Commons. | 17/10/2026 | 45m | |
| 16:05 | House of LordsCoverage of a debate in the House of Lords. | 17/10/2026 | 55m | |
| 17:00 | Select CommitteesRecorded coverage of select committee proceedings. | 17/10/2026 | 5h 55m | |
| 22:55 | Prime Minister's QuestionsCoverage of questions to Andy Burnham, the prime minister, on Wednesday 14 October. | 14/10/2026 | 35m | |
| 23:30 | Welsh First Minister's QuestionsQuestions in the Senedd to Rhun ap Iorwerth, the first minister, on Tuesday 13 October. | 13/10/2026 | 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_1bmy4j74/schedule?date=2026-10-17&tz=UTC" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1bmy4j74/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_1bmy4j74/history?from=2025-10-12T00:00:00Z&to=2025-10-13T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_1bmy4j74/schedule?date=2026-10-17&tz=UTC"); 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_1bmy4j74/schedule?date=2026-10-17&tz=UTC", { 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_1bmy4j74/schedule", params={"date": "2026-10-17", "tz": "UTC"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_1bmy4j74/schedule?date=2026-10-17, the first programme { "data": [ { "id": "ls_yanaps7y", "channel": "ch_1bmy4j74", "start": "2026-10-16T22:00:00Z", "stop": "2026-10-17T02:00:00Z", "title": "Senedd Cymru - Welsh Parliament", "sub_title": "16/10/2026", "description": "Highlights from the Welsh Parliament.", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 16, "date": "2026-10-17", "tz": "UTC" } }
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 |
|---|---|---|
| 23:10 | Northern Ireland Assembly | |
| 00:30 | Scottish First Minister's Questions | |
| 01:20 | Welsh First Minister's Questions | |
| 13 more programmes that day, on Archive | ||
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.