Main content

Programme Metadata API: Nitro Update

Kevin Stone

Product Manager

Tagged with:

Nitro, introduced in 2013, is the BBC’s Programme Metadata API, which provides read-only access to information about BBC programmes.

Hello! I am the new Product Manager for Nitro, working in BBC Digital’s Programme Metadata team.

In this post I will explain Nitro's importance as a source of metadata in many key BBC products, and our progress in switching to Nitro from our old system ‘Dynamite’.

What is Nitro?

Nitro, introduced in 2013, is the BBC’s Programme Metadata API, which provides read-only access to information about BBC programmes. The API uses hypermedia to allow the developer to easily discover exactly what they need. The feeds can be filtered and sorted, and the results can be decorated using “mixins” to add extra relevant information.

The Nitro API is used heavily within the BBC by all products that require programme information, including BBC iPlayer, Radio, News and Programmes pages. Nitro is also made available to partners such as Virgin Media, Freeview, Microsoft and more, ensuring they have access to the most up-to-date information and features. As a result, demands within the BBC will drive changes to the API that will become available to all clients at the same time.

Nitro is the successor to an earlier system called Dynamite. During the past few months the BBC has been migrating all products that used Dynamite onto Nitro, and this work is due to complete in early June.

Dynamite

Dynamite was originally built for BBC iPlayer to provide it with the data views that it needed.

Over time, we used Dynamite in other products and so it was extended to support these new use cases, inevitably growing it beyond its original design parameters. During 2014 we introduced ’30 days availability’ – which proved to be too much of a stretch for Dynamite, which lead us to accelerate the full switch over to Nitro.

Because Dynamite doesn’t use API Management tools (as described by Allan Donald here), it has proved challenging to identify and migrate all the sites and apps that use Dynamite. We think we’ve got them all now, but there is a chance that we’ve missed something, so we will be watching carefully during the transition. It’s also possible that there are unauthorized & unidentified 3rd party apps & services that use Dynamite; these will stop working.

The Benefits of Nitro

Nitro is built on cloud technologies using MarkLogic database technology. This not only provides increased performance over Dynamite but the elastic model allows us to scale Nitro to meet new demands, for example during the recent General Election 2015 coverage.

Access to Nitro is provided via an API key. This determines the quota (number of requests allowed in a given time interval) that each developer application can use. This is useful as it allows us to ensure that no single application can overwhelm the system and prevent critical clients from obtaining their data. It also provides us with a way to profile individual client usage and where appropriate provide ways to optimize their use of Nitro.

To obtain a key to access Nitro it is necessary to register via the Developer Portal.

Currently access is limited to BBC teams but we are working on the changes required to open this up to external non-commercial and hobbyist users; this should be available later this year (a project known as Nitro Public). In the meantime you can read more about Nitro and how it works in the documentation section of the portal, as well as the terms of use and Nitro Public Licence. I know we’ve said this before, so please bear with us – we are working on it and will get it done this year.

Nitro is also available for business and commercial use through a syndication agreement. Details of this can be found here.

Tagged with:

More Posts

Next