tvschedule.org
API Docs / Shows

One show

Live and CompleteFree key: empty with a noteMCP: get_show

One show's full record: its titles, network, genres, whether it is still running and when it began.

ReturnsOne show
Up toOne record
FreshUp to 6 hours old
PlanLive and Complete
GEThttps://api.tvschedule.org/v1/shows/{id}

What it is for

Read a show from its id: the main title and the other titles it goes by, the network that made it famous, its genres, whether it is running or has ended, and the day it first aired.

Use it to head a show page, to check a saved id, or to decide whether an ended show still needs following.

A show page

Head the page with its titles, network and genres.

Watch lists

Mark which saved shows have ended.

Checking a saved id

Confirm an id still points to the show you mean.

Try it

Calls the real API with your key and shows the answer below. Your key stays in this browser and fills in on every docs page.

One show

Needs Live or Complete

No key yet? Get a free key. It fills in here by itself once made.

https://api.tvschedule.org/v1/shows/sh_sdkgxsfs
Uses 1 call from your plan.
Calling

        

Code

Built from the form above, with your key in place. The language you pick is remembered.

curl "https://api.tvschedule.org/v1/shows/sh_sdkgxsfs" \
  -H "X-API-Key: <your key>"

Parameters

NameInTypeExampleWhat it does
idrequiredpathstringsh_sdkgxsfsThe show id, from show search, such as sh_e29nzc1x.

Returns

One record under data, with meta beside it.

FieldTypeExampleWhat it holds
idstringsh_sdkgxsfsIts id, stable and used by every other endpoint
namestringEastEndersIts name
typestringScriptedType
statusstringRunningrunning or ended.
premieredstring1985-02-19The day it first aired, YYYY-MM-DD.
networkobject{"id":"wb_fd1z1qvj","name":"BBC ...The network it belongs to
endedstring or nullnullEnded
languagestringEnglishLanguage
genresarray["Drama"]Its genres
runtimeinteger30Runtime
countrystringGBThe country, as a two-letter code
official_sitestringhttp://www.bbc.co.uk/programmes/...Official site
imdbstringtt0088512Imdb

Example answer

A real answer from our data, cut to three rows, so you can see the shape before you run anything.

200 OKhttps://api.tvschedule.org/v1/shows/sh_sdkgxsfs
{
    "data": {
        "id": "sh_sdkgxsfs",
        "name": "EastEnders",
        "type": "Scripted",
        "status": "Running",
        "premiered": "1985-02-19",
        "network": {
            "id": "wb_fd1z1qvj",
            "name": "BBC iPlayer",
            "country": "GB",
            "kind": "web"
        },
        "ended": null,
        "language": "English",
        "genres": [
            "Drama"
        ],
        "runtime": 30,
        "country": "GB",
        "official_site": "http://www.bbc.co.uk/programmes/b006m86d",
        "imdb": "tt0088512"
    },
    "meta": {
        "took_ms": 1
    }
}

Errors

StatusCodeWhenWhat to do
401unauthorizedNo key was sent, or it is not an active TV Schedule key.Send it as Authorization: Bearer <key> or X-API-Key. Your keys are in your account.
403upgrade_requiredYour plan does not read this: a day outside its window, or an endpoint on Live and Complete.The message names the plan that does. Upgrade on the same key at /pricing.
404not_foundNo show has that id.Take ids from the search and directory endpoints. Every address is listed in these docs.
400bad_requestA value is the wrong shape: a date that is not YYYY-MM-DD, a two-character search, a key sent in the address.Fix the value the message names and send it again.
429rate_limitedFaster than your plan's pace per minute.Wait for Retry-After seconds. The X-RateLimit headers show where you are.
429quota_exceededYour plan's allowance for the day or month is used.It resets at the time in the message, or upgrade for a bigger allowance.
500server_errorSomething went wrong on our side, or the data was out of reach for a moment.Try again in a minute. It has been logged, and /status shows the state of the service.

Next calls