A channel's past schedules
Past schedules for a TV channel from the archive, slot by slot over any window of up to 31 days, with the same fields as today.
Paid plansData from 2023
GEThttps://api.tvguideapi.com/v1/channels/{id}/history
Try itRuns the real call with your key
200 OK
Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
| id | path | string | required | The channel id. Ids come from Find a channel. | ch_jw83a3xg |
| from | query | datetime | required | Window start, UTC. | 2026-10-01T00:00:00Z |
| to | query | datetime | required | Window end, UTC; at most 31 days after from. | 2026-10-02T00:00:00Z |
| cursor | query | string | optional | The cursor from the previous answer's meta.next. See Paging and fields. |
Where each country's archive starts is in Country coverage.
Request
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_jw83a3xg/history?from=2026-10-01T00%3A00%3A00Z&to=2026-10-02T00%3A00%3A00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_jw83a3xg/history?from=2026-10-01T00%3A00%3A00Z&to=2026-10-02T00%3A00%3A00Z");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("TVG_KEY")],
]);
$answer = json_decode(curl_exec($ch), true);
const r = await fetch("https://api.tvguideapi.com/v1/channels/ch_jw83a3xg/history?from=2026-10-01T00%3A00%3A00Z&to=2026-10-02T00%3A00%3A00Z", {
headers: { Authorization: `Bearer ${process.env.TVG_KEY}` },
});
const { data, meta } = await r.json();
import os, requests
r = requests.get(
"https://api.tvguideapi.com/v1/channels/ch_jw83a3xg/history?from=2026-10-01T00%3A00%3A00Z&to=2026-10-02T00%3A00%3A00Z",
headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"},
)
data = r.json()["data"]
Sample response
{
"data": [
{
"id": "ls_shr78fcp",
"channel": "ch_jw83a3xg",
"start": "2026-10-07T19:00:00Z",
"stop": "2026-10-07T19:30:00Z",
"title": "EastEnders",
"sub_title": "Episode 7012",
"category": [
"Soap"
],
"episode": {
"show_id": "sh_e29nzc1x",
"episode_id": "ep_610mmeyh",
"season": 41,
"number": 157,
"name": "Episode 7012",
"orig_air": "2026-10-07",
"matched_by": "airtime",
"source": "tvmaze"
},
"flags": {
"new": true,
"live": false,
"repeat": false
}
},
{
"id": "ls_shr78fcp",
"channel": "ch_jw83a3xg",
"start": "2026-10-07T19:30:00Z",
"stop": "2026-10-07T20:00:00Z",
"title": "The One Show",
"category": [
"Magazine"
],
"flags": {
"new": true,
"live": true,
"repeat": false
}
}
],
"meta": {
"count": 38,
"next": "c_8f21a0",
"took_ms": 41
}
}