71.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.
Titles, sub-titles, descriptions, categories, ratings and flags for every slot on every channel, with the series and episode joined in where we matched them.
| Endpoint | What it gives | Plan |
|---|---|---|
| GET /v1/channels/{id}/schedule | A TV channel's day slot by slot: start and stop in UTC, title, description, category, and the series and episode where we matched it. | Free key |
| GET /v1/guide | A TV guide grid for up to 50 channels over a window you choose, every slot with its times in UTC, ready to draw. | Free key |
| GET /v1/listings/{id} | One TV listing slot in full: times, title, sub-title, description, category, rating, flags, its episode and the feeds it came from. | Free key |
| GET /v1/listings/search | Find upcoming TV programmes by words in their title, sub-title or description, in the countries you choose. | Free key |
| GET /v1/premieres | New episodes and first showings on a day, across the TV channels of the countries you choose. | Free key |
| GET /v1/live | TV slots marked live, on now and later today, in the countries you choose. | Free key |
{
"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
}
}