Free key: real listings for yesterday and today, 500 calls a day, no card148 countriesGet yours in 30 seconds
tvguideapi

Last 30 days

API uptimefrom the monitorIncidentsfrom the monitor
All systems

Working normally

Checked every minute from outside our own servers.

Archive data

Past schedules.

Schedules from the archive for any window of up to 31 days, with the same fields as today, and every past airing of a show.

3endpoints
EndpointWhat it givesPlan
GET /v1/channels/{id}/historyPast 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.Live and above
GET /v1/shows/{id}/historyEvery past airing of a TV show that the archive holds, over a window you choose.Live and above
GET /v1/episodes/{id}/airingsEvery showing of one TV episode we hold, the first run and every repeat, on every channel.Live and above
A real-shaped answerGET /v1/channels/{id}/history
{
    "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
    }
}
The same data, in one API call