These forums are archived

See this post for further info

get_iplayer forums

Forum archived. Posting disabled.

help using the BBC API

user-647

a, er, friend has reverse engineered the API calls made to the BBC servers by Android devices and written a web interface to get_iplayer which uses them*

The problem is that there's a key API call which hasn't been discovered by packet sniffing, and/or proxy logging:
When searching, the text search API call returns a mixture of brands, series and episode pids. It's possible to also search by the pid of a brand or series, but the results don't include every episode available. What's needed is to know the API call which lists all the episodes for a specific brand or series without getting other random entries.
These calls are made to http://ibl.api.bbci.co.uk or http://data.bbc.co.uk

Can anyone help with the API calls? Or say where it's possible to get a copy of the API documentation?

* the web interface has various features... as well as searching for programs, it lists highlights and popular items. It allows items to be queued for download with a back-end job that drives get_iplayer. It also has a page showing downloaded items, allowing items to be played (jw longtail player), downloaded or deleted. Quite a useful tool. I'm sure it could be made available to beta testers once it's been improved.

user-1102

If this is the iBL (iPlayer Business Layer) API, the call would be something like:

http://ibl.api.bbci.co.uk/ibl/v1/program...ld_count=4

Where %p is the PID, %r is web, tv or online.

The api_key parameter seems to be optional.

If this is Nitro then the request would be something like:

http://programmes.api.bbc.com/nitro/api/...ia_type=%m

Where %p is the PID and %k is the api_key and %m is audio_video or audio.

Nitro API documentation is available at
https://developer.bbc.co.uk/sites/defaul...lients.pdf
https://developer.bbc.co.uk/content/programmes-api
and unofficially at http://mermade.github.io/swagger/index.html#/feeds

user-1102

Actually on further investigation, what you probably want is something like:

http://ibl.api.bbci.co.uk/ibl/v1/groups/...=available

Where %p is the group (for curated collections), brand or series PID.

Unofficial iBL API documentation now up at http://mermade.github.io/swagger/index.h...agger.json

These forums are archived

See this post for further info