API Explorer

It's never been so easy to build advanced video and audio services

Our media data router, Atlas, makes it easy to work with video and audio metadata. Our 70 million record database is used by organisations large and small, helping millions of people find TV, radio and music quicker. Now you can request a free API key to access this wealth of data, be it to power your PVR or to develop innovative apps.

1 API

  • Search for shows and people
  • Display channels, schedules and content details
  • Power advanced content discovery features
  • Aggregate links to all services for the same show
  • Work across mobile, TV and the web
  • Smoothly handle rights restrictions

20+ International sources

  • long-form and short-form: archive.org, BBC, BT, Channel 4, Channel 5, HBO, Hulu, iTunes, ITV, IVA, Press Association, Rightster, TalkTalk, ted.com, TMS, Vimeo, YouTube, podcasts and wikipedia

10+ output formats

  • RESTful API with JSON and XML
  • Specialist feeds for Google, BBC iPlayer, UK Radioplayer, Xbox and YouView

Examples

Reference

Overview

Atlas is a metadata aggregator built for multiple data sets. It ingests data from many different sources, indexes it, matches equivalent items and then makes the data available through a simple RESTful API as well as several standard feed formats.

Users of the API can control how data from different sources is merged to create a single output, or choose to view equivalent items as separate linked resources. Underlying everything is a common data model that all sources are mapped to.

Data Model

The Atlas data model has a number of key resource types. They are containers and items (collectively know as content), content groups, topics, products and channels.

Containers

Containers represent a collection of items within a programme hierarchy. They can be either brands or series. This is used to model programme hierarchies like Doctor Who (brand), Series 1 (series). Containers are returned with a list of the items they contain, but note that not all items are in a container (e.g. one-off items and films).

Items

Items represent individual pieces of content. They can be episodes, one-off items, films or clips. Items that are episodes are also in a container.

In addition to descriptive metadata such as titles, descriptions, genres and people, items also list the different places in which the content is available to watch or listen to. Broadcasts describe when the item is available on air, while locations list the places the content is available to watch on demand.

Content groups

Content groups are arbitrary collections of items outside the normal programme hierarchy. They can be used to group together any content, including containers and items. Content groups are used to model broadcast seasons, related brands and flexible playlists of items.

Topics

Topics are the things that a programme is about. Topics can be music artists, people, places, events, products, artistic works or just general subjects. They have a many to many relationship with content, so a piece of content can have many topics and you can ask for the content for a topic.

Products

Products represent physical products, such a CDs and DVDs. They have a many to many relationship with content, so a single piece of content can have many related products and a product can be related to many pieces of content. Products also have availability information that links to the places where the product can be purchased.

Channels

Broadcast channels are also modelled as resources in Atlas. When asking for a schedule, you will have to provide the correct channel id, which is available from the API.

Channel groups

Channel groups are sets of channels that represent broadcast platforms and regions, such as Freeview and BBC Scotland. By combining channel groups you can get a list of all of the channels available on a certain platform in a particular region.

Sources

Atlas works with data from the following sources:

International Long-form

Source Access Status Type
Hulu Public Free on-demand shows
iTunes Public Pay on-demand shows
TV Blob Public EPG

UK Long-form

Source Access Status Type
BBC Public Free on-demand shows, EPG, Clips
Channel 4 Restricted Free on-demand shows, EPG, Clips
Five Restricted Free on-demand shows
ITV Restricted Free on-demand shows
MSN Video Public free on-demand shows
Press Association Restricted EPG

International Short-form

Source Access Status Type
archive.org Public Clips
blip.tv Public Clips
Daily Motion Public Clips
Podcasts Public Clips
TED.com Public Clips
Vimeo Public Clips
YouTube Public Clips

Please contact MetaBroadcast if you are interested in using restricted sources.

Feeds

In addition to the RESTful API, Atlas also provides data in a variety of feed formats

Format Base Type Status Description
BBC Interlinking MRSS Data to feed broadcast data into BBC iPlayer
Google Video Sitemaps MRSS Data to feed Google Video Search
UK Radioplayer DAB-EPG Data to feed UK Radio Player Search
Xbox LIVE Lakeview Data to feed Xbox LIVE TV Search

Contact MetaBroadcast for help producing data in these formats

About

Atlas is open source

Atlas is an open-source project (it's all licensed under Apache 2.0) and we'd love for you to get involved. Below are all the resources that will help you join in. Participation comes in many forms:

  • Hack something up using the Atlas API, blog about it and get us to link to it
  • Have a chat with us about the features and formats that youÕd find useful
  • Tell us when something doesnÕt quite work the way youÕd expect it to here
  • Develop an adapter for a new source of content, current sources are here
  • Help improve the core of the code
  • Write client libraries for other languages
  • Provide a metadata endpoint for us to ingest

Atlas is used by

API Explorer
Complete control

Schedule

GET /schedule.json

Returns a schedule for the specified channel and period.

Parameter Value Type Description
channel_id Please Select cbbh (BBC One) cbbG (BBC Two) cbbP (BBC Three) cbbQ (BBC Four) cbbV (BBC HD) cbbW (CBBC) cbcQ (BBC Radio 1) cbcS (BBC Radio 2) string The id of the required channel. Available from /channels.json
from multiple The beginning of the schedule period. Can be an ISO date, number of seconds since 1 Jan 1970 or a relative duration, e.g. 'now'.
to multiple The end of the schedule period. Can be an ISO date, number of seconds since 1 Jan 1970 or a relative duration., e.g. 'now.plus.6h'.
publisher string The publisher of the schedule
annotations list List of annotations that describe the data to be output
Valid Annotations: description, extended_description, brand_summary, series_summary, people, topics, segment_events, related_links, key_phrases, broadcasts, locations, first_broadcast, next_broadcast, available_locations, plus channel.

Request