tvschedule.org
API Docs / Shows

Where a show airs

Live and CompleteFree key: empty with a noteMCP: show_airings

Where and when a show airs in the days ahead, on every channel, first runs and repeats told apart.

ReturnsAirings, soonest first
Up toUp to 7 days ahead
FreshUp to 15 minutes old
PlanLive and Complete
GEThttps://api.tvschedule.org/v1/shows/{id}/airings

What it is for

Give a show id and get each upcoming airing: the channel, when it starts and ends in UTC, the title as listed, the episode where matched, and whether it is new, live or a repeat. Add country to keep to one market.

This is the "when is it on next" call, and the heart of reminders and watch lists.

Reminders

Tell a user before the next new episode starts.

Watch lists

Show where each saved show airs this week.

"When is it on"

An assistant answers with the next showing and the channel.

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.

Where a show airs

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/airings
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/airings" \
  -H "X-API-Key: <your key>"

Parameters

NameInTypeExampleWhat it does
idrequiredpathstringsh_sdkgxsfsThe show id, from show search.
countryquerystringGBOnly airings in this country, as a two-letter code.
daysqueryinteger7How many days ahead to cover, within your plan.
1 to 7

Returns

A list under data, with meta.count beside it.

FieldTypeExampleWhat it holds
channelstringch_jw83a3xgThe channel id it airs on.
startdatetime2026-10-30T19:30:00ZWhen it starts, UTC.
stopdatetime2026-10-30T20:00:00ZWhen it ends, UTC.
titlestringEastEndersThe programme title
episodeobject{"show_id":"sh_e29nzc1x","season...The show and episode where matched: show_id, season, number
flagsobject{"new":true,"live":false,"repeat...new, live and repeat, each true or false.

Example answer

The example answer appears here as soon as this endpoint's data is live. Run above shows a real answer with your key.

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.
422unknown_parameterA query parameter this endpoint does not take.The message lists the ones it does take.
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