BBC Programmes API JSON feeds

Mike Ralphson mike.ralphson at gmx.com
Mon Jul 10 13:28:11 PDT 2017


Hi Anthony,

Most of the information is freely available on GitHub, specifically https://github.com/bbc/programmes-clifton and in this case https://github.com/bbc/programmes-clifton/blob/master/app/config/routing.yml

The API hostname just took a bit of trial and error. :)

As to longevity, your guess is as good as mine, but probably as long as it takes the BBC to rewrite their programmes-frontend project. The only date we have been given is: "The remaining JSON feeds will remain in operation until May 1, 2018." 

I think iterating through the A-Z lists is the best way to generate a complete list of PIDs, unless you just want the aggregated schedule data for the last month, in which case I would suggest looking at https://schedules.github.io/ess

Mike

Sent: Monday, July 10, 2017 at 5:21 PM
From: "Anthony Fletcher" <anthony at bifb.org>
To: "gip list" <get_iplayer at lists.infradead.org>
Subject: Re: BBC Programmes API JSON feeds

Thanks Mike - how did you discover them? Any idea of their longevity?
and is there a way of getting a complete list of PIDs other than looking
at
/aps/programmes/a-z/by/{search}.json
for every letter in the alphabet?

Anthony.

On 08 Jul 2017 at 16:36:46, Mike Ralphson wrote:
> Hi,
>
> I know a number of subscribers maintain their own scripts which use (or used) a number of the BBC feeds which were recently retired.
>
> It may be of interest that a number of the feeds are now available at:
>
> http://clifton.api.bbci.co.uk/
>
> with URLs matching the following routes
>
> /aps/programmes/{pid}/episodes/{year}/{month}.json
> /aps/programmes/{pid}/episodes/last.json
> /aps/programmes/{pid}/episodes/upcoming.json
> /aps/programmes/{pid}/episodes.json
> /aps/programmes/{pid}/children.json
> /aps/programmes/{pid}/segments.json
> /aps/programmes/{pid}/series.json
> /aps/programmes/{pid}.json
> /aps/programmes/{categoryType}.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}/schedules/upcoming.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}/player/episodes.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}/{slice}.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}/schedules/{year}/{month}/calendar.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}/schedules/{year}/{month}/{day}/subcategories.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}/schedules/{year}/{month}/{day}.json
> /aps/programmes/{categoryType}/{urlKeyHierarchy}.json
> /aps/{networkKey}/programmes/music/artists/charts.json
> /aps/programmes/music/artists/charts.json
> /aps/programmes/music/artists/{musicBrainzId}.json
> /aps/programmes/a-z.json
> /aps/programmes/a-z/{slice}.json
> /aps/programmes/a-z/by/{search}.json
> /aps/programmes/a-z/by/{search}/{slice}.json
> /availability/{pid}.json
> /
> /debug/{serviceName}/{serviceMethod}
>
> Where {categoryType} is either genres or formats, and {urlKeyHierarchy} is either a category/format such as drama, or a wider/narrower pair such as comedy/sitcoms.
>
> {slice} is either player or all.
>
> Most URLs take a 'page=' parameter.
>
> Best,
>
> Mike
>



More information about the get_iplayer mailing list