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.
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 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 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 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 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 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.
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 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.
Atlas works with data from the following sources:
|Hulu||Public||Free on-demand shows|
|iTunes||Public||Pay on-demand shows|
|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|
Please contact MetaBroadcast if you are interested in using restricted sources.
In addition to the RESTful API, Atlas also provides data in a variety of feed formats
|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
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:
Returns a schedule for the specified channel and period.
Returns a paginated list of all channels.
Returns the data for a particular channel.
Returns a paginated list of all channel groups.
Returns a list of content that matches the supplied uri. Used to look up content.
Returns a paginated list of all content groups.
Returns the data for a particular content group.
Returns the data for a particular topic.
All products data is currently restricted, please enter your API key above.
Returns a paginated list of all products.
Returns a paginated list of the content related to a product.
Returns a list of content that matches the specified search criteria.