Introduction
This document sets out the principles for consistent content catalogue metadata across all Sky’s products: For content hosted on the Sky platform infrastructure; and for content from partner apps via Sky Glass and Sky Q content discovery journeys.
This consistency makes it easy for customers to discover all the content available through Sky: via show pages; voice and text search, and personalised recommendations.
Each metadata field in this document is categorised as required, preferred or optional. Where a product differs from the specification listed here, it should be by agreed documented exception – i.e., stakeholders should know why a metadata parameter has been excluded.
Version control
| Version | Date | Description |
|---|---|---|
| Version 3.2 | 23/06/2026 | Live Sports spec and change to sporting event example from "Football" to "Soccer" to align with global specification |
| Version 3.1 | 05/08/2022 | Brand revised to be a mandatory field; Genre guidance clarified further. |
| Version 3.0 | 12/05/2022 | Improved alignment to GMRSS specification, including definition of distributor and provider; Refined language for purpose of clarity; Sections not yet required removed; Consumption data removed. |
| Version 2.0 | 17/08/2020 | Reformatted; Added requirements for audio programmes,; Provider introduced as a parameter under Distributor. |
| Version 1.1 | 20/04/2020 | Updates territory and language references to include ISO codes; Image guidance aligned to updated Sky UI requirements. |
| Version 1 | 01/11/2019 | Establishes Sky’s metadata requirements to support content discovery for third party application content on Sky platforms. |
Definitions
Provider
A Provider is the company that is making the content available. This may be a broadcaster (e.g., BBC), a VOD service (Netflix), or an any other type of app (Spotify).
Distributor
A Distributor may be distinct from a Provider – i.e., where there is more than one app available from a Provider – e.g., Sky News and Sky Sports apps available from Sky.
Brand
A Brand is a customer-facing identifier for a programme, e.g., the brand for Gangs of London is Sky Atlantic.
Where brand metadata is not supplied, the content is attributed to the Distributor.
Programme
An individual title, movie, or episode in a series, with its own unique identifier and metadata descriptors.
Canonical structure
Where a Programme is part of a Series, there is a formal structure for all content on the Sky platforms, defined at three levels – Series, Season, and Episode/Special, as per the below example:
| Series | Game of Thrones |
|---|---|
| Season | Season 7 |
| Episode/Special | Episode 7, The Dragon and the Wolf |
This structure defines the presentation of content within all Editorially-managed (by Sky) and content discovery journeys across the Sky platforms including: Voice and text search; ‘Watch next episode’ capability; smart series linking for linear channels; and personalised content recommendations.
All content
These metadata elements that are expected for all content via an application on Sky platforms, regardless of content type.
| Field | Description | Required | Example |
|---|---|---|---|
| Territory reference | Identifies the territories (can include nations and regions) in which the content asset is available. Multiple territories may be specified, using ISO 2 country codes. | Yes | “gmrss:territory”, e.g. DE, IE |
| Provider | Company making the content available | Yes | |
| Distributor | Proposition via which the content is available | Yes | “gmrss:distributor” , e.g. ‘Disney+’, |
| Brand | Identifies the Brand that should be attributed in UI. Distributor and Brand may have the same value. If using Brand is different from Distributor, this should be for propositional or contractual reasons, agreed with Sky. | Yes | “gmrss:brand”, e.g. ‘Disney Star’ |
TV and audio
Video and audio programmes are core asset types on the Sky platform, and the UI metadata requirements that must be accommodated in the UI for all Sky products/clients are included here.
- All required fields are identified as such, likewise where a field is preferred or optional. The greater the metadata, the richer the discovery experience that can be offered to customers.
- Short form and social video content should comply with TV metadata requirements where possible.
Exclusions to be agreed by exception.
- Music metadata requirements are summarised in Section 4. Where short form TV content is a music video, music metadata requirements are in addition.
Single programmes
| Field | Description | Required | Example |
|---|---|---|---|
| Title | Title of programme | Yes | The September Issue |
| Programme ID | Provider’s unique programme reference | Yes | |
| External Metadata ID | Third party ID that can be used to identify the programme, i.e. Gracenote. Must be 256 characters or less. | Preferred, for title matching. | “gmrss:externalAssetId ”, e.g. MV003309630000 |
| Original title language | Original title language, using ISO 3 alpha reference. | Yes, where available. | ENG |
| Synopsis | Short description of the programme – up to 200 characters | Yes | Head behind the scenes at Vogue HQ as renowned editor Anna Wintour and her staff prepare the September 2007 issue – one of the most important for the high-fashion magazine |
| Genre (and sub-genre) | Links the programme to a specific genre (and sub-genre) within Sky’s genre mapping. | Preferred. If supplied, both genre and subgenre required | “gmrss:tagRefeference”, e.g. ‘Documentaries” |
| Content tags | Thematic tags relating to the programme that provide further descriptive metadata. | Optional | Fashion, Vogue, Conde Naste, Magazines, New York |
| Entity type | Series, Movie, Episode, (Sporting) Event, Preview, Short form or Other. | Yes | |
| (First) Broadcast date | Where a programme has a linear broadcast date attached to an on demand offer (e.g. Catch Up). | Yes, if had linear airing | |
| (First) Broadcast time | As above. | Yes, if had linear airing | |
| Duration | Length of content in seconds. | Yes | 1234 |
| Availability start date and time | Time at which the programme becomes available for viewing. | Yes | |
| Availability end date and time | Time at which programme will no longer be available. | Yes | |
| Audio type | Describes the sound specification. | Yes | Dolby Digital 5.1 |
| Audio language(s) | Audio language(s) of content, using ISO 3 alpha reference. May be multiple. | Yes | GER |
| Certificate (Rating) | Content/Parental advisory rating for this specific content version. Should capture a rating and a rating schema/organisation, with relevant rating for each territory in which the content is available | Yes, where content is rated by the provider. | Identified as rating Value, e.g. ‘12A’ and scheme, e.g. ‘BBFC’ |
| Advisory/Content warnings | Text advisory supporting or additional to the Certificate – e.g. violence or outdated cultural depictions. | Conditional – required where mandated by territory regulations | Flashing images, Violence |
| Is Adult | Classified as adult content and/or within an adult classified application. | Yes, where content is adult | Y |
| Trailer | Promotional trailer for programme (may apply at series level). | Optional | |
| Trailer ID | Provider’s unique asset reference. | Yes, where trailer is supplied. | |
| Release year | Year the programme was first available to the public in any territory (also see additional requirement for Production year in Section 3.4). | Yes | 2018 |
| Original tag | Identifies the programme as an original from the Distributor or Brand in a Territory. Original must be exclusive. | Optional | Tag=’Brand Original’ |
| Credit | Identified the core talent associated to the programme – e.g. actor, presenter, producer, guest. | Optional | Credits=”Helen Mirren” Type=”Actor” PartName=”Catherine the Great” |
In addition, where programme is part of a series
| Field | Description | Required | Example |
|---|---|---|---|
| Series title | Title of series. | Yes | American Horror Story |
| Episode title | Where a descriptive (non-numeric or datebased) title for an episode exists. | Yes | True Killers |
| Series synopsis | Overall description for all seasons within the series – up to 200 characters | Yes | |
| Season number (or year) | The numeric season or year number in the series. | Yes | 9 |
| Episode number | The numeric episode number in the season. | Yes | 4 |
| Series reference ID | A linking ID to the series that contains the episode. | Optional |
In addition, for video
| Video quality | e.g. SD, HD and UHD. Multiple video qualities may be specified. | Yes | SD, HD, UHD |
|---|---|---|---|
| Language subtitles present | Identifies the presence of language subtitles on a programme (e.g. English subtitles on a German language programme). | Yes, where language subtitles exist. | Y |
| Language subtitles identifier | Language of the subtitle text, using ISO 3 Alpha reference | Yes, where language subtitles exist. | ENG |
| Locale reference – e.g. identifying GB from US English | Preferred | GB |
In addition, where programme is a movie
| Field | Description | Required | Example |
|---|---|---|---|
| Production year | Year in which the movie was produced (as distinct from release year). | Yes | 2017 |
| Credit (Director) | Director of the programme. | Optional | Credit=”Taika Waititi” Type=”Director” |
| Credit (Actor) | Actors in the programme | Optional | Credit=”Chris Hemsworth” Type=”Actor” |
| Certificate (Rating) | As per field in 3.1, but mandatory for movie titles. | Yes | Identified as rating Value, e.g. ‘12A’ and scheme, e.g. ‘BBFC’ |
In addition, where programme is a sports event
| Field | Description | Required | Example |
|---|---|---|---|
| Sport | String or ID identifying the Sport of an event. Must be mapped as part of onboarding. | Yes | Sports Team Reference=’Soccer’ 'Football' is the value for American Football e.g. NFL |
| League | String or ID identifying the league associated to an event. Must be mapped as part of onboarding. | Preferred | Tag=’Premier League’ |
| Team | String or ID identifying the teams participating in the event; ideally indicating home or away. Must be mapped as part of onboarding. | Preferred | Tag=”Arsenal” Type=”Away” |
| Credit (Athlete) | ID identifying athletes participating in an event. | Optional | Credit=”Mesut Özil” credit role=”athlete” |
In addition, where programme is a live event (LiVOD)
A live event may be stand-alone, ‘pop-up’ type, or a regular event with a series structure. And may be subsequently re-processed as a VOD asset with a separate offer against the same programme ID.
| Field | Description | Required | Example |
|---|---|---|---|
| Live window start date and time | Event "start time" displayed in the UI. This is often the actual 'kick off' time of a game, even if the program / content is playable before that time | Yes | 2024-03 05T05:45Z |
| Live window end date and time | Expected "end time" of the game, unlike valid.end customers will still be able to find content when the liveWindowEnd has passed but if a game has overrun, we recommend the LWE be updated by the provider. NB – can be updated dynamically (forward or backwards | Yes | 2024-03 05T14:00Z |
| streamingClass | This is used to indicate that this content is ephemeral and not traditional VOD, always set to 'EphemeralStream' | Yes | EphemeralStream |
| availabilityStatus | Status of content - values include: UPCOMING LIVE CONCLUDED DELAYED CANNCELLED EXPIRED REPLAY (for VOD) UPCOMING REPLAY REMOVED It is the provider's responsibility to transition the event accordingly. In order for our 'on now' query to work, we must receive an update from the provider that content is 'Live' At a minimum, we expect to receive content initially during UPCOMING phase, then updates to transition it to LIVE and eventually to CONCLUDED | Yes | UPCOMING |
| airingType | Used to indicate that this is 'Live' bit of content, not a replay. We expect this to always be sent as 'LIVE' for this type of content. | Yes | Live |
| distributionRights.valid | The availability window of the content. Valid.start should be when the content is expected to be playable, valid.end should be when the content should no longer be discoverable - we recommend the initial payload have a valid.end inclusive of the maximum length of the event (including overtime) + some buffer incase of delay, and then when the event is set to 'availabilityStatus = CONCLUDED' the provider send us a sooner valid.end. | Yes | start=2021-04 20T00:00:00Z; end=2120-01 01T05:00:00Z; scheme= W3C-DTF |
| content.duration | must be sent >0, should be the expected duration of the event in seconds | Yes | 6420 |
| tagReference SportingEvent | this tag should ONLY be sent on live sports content not pre-game etc. Inclusion of it may allow the content to show up in 'Live Sports' areas of the UI. | Yes | gmrss:tagReference provider="MERLIN_OTT" type="Genre">SportingEvent |
| Is recordable (local) | Confirms rights availability to record to local device (STB). Where field is not provided, default is ‘no’. | Preferred | |
| Is recordable (cloud) | Confirms rights availability to record to Cloud PVR. Where field is not provided, default is ‘no’. | Preferred | |
| Is re-startable | Identifies that a live event can be re-started/watched from start within the application. | Preferred |
Live event (LiVOD) state management

Live event (LiVOD) example
<rss xmlns:gmrss="urn:uri:merlin-gold-FIXME" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>sample feed</title>
<description>sample feed</description>
<item>
<title>Broncos v Panthers</title>
<gmrss:seriesTitle>National Rugby League</gmrss:seriesTitle>
<description>....</description>
<gmrss:videoAssetId provider="SAMP" namespace="SAMP">199978</gmrss:videoAssetId>
<gmrss:programVariantId provider="SAMP" namespace="SAMP">199978</gmrss:programVariantId>
<gmrss:entityType>SportingEvent</gmrss:entityType>
<gmrss:brand>SAMP</gmrss:brand>
<media:rating scheme="urn:ncs">G</media:rating>
<gmrss:distributionRights>
<gmrss:valid>start=2023-05-18T09:50Z;end=2023-05-25T12:45Z;scheme=W3C-DTF</gmrss:valid>
<gmrss:contentCatalog>LIVE</gmrss:contentCatalog>
<gmrss:contentClass>SVOD</gmrss:contentClass>
<gmrss:contentTier>basic</gmrss:contentTier>
<gmrss:playRegions>
<gmrss:playRegion type="ISODIVISION">ZA</gmrss:playRegion>
</gmrss:playRegions>
</gmrss:distributionRights>
<media:status reason="add" state="active"/>
<gmrss:languageDetails title="en-GB" description="en-GB" intendedAudience="en-GB" originalAudio="en-GB"/>
<media:group>
<media:content type="APP" url="" duration="15300" gmrss:videoQuality="HD" gmrss:colorDepth="SDR">
<gmrss:audioTrack dvs="false" index="0" lang="en-GB" audioType="Stereo" original="true"/>
<gmrss:subtitle lang="en-GB" role="cc"/>
</media:content>
</media:group>
<gmrss:displayStartDate>2023-05-18T08:30Z</gmrss:displayStartDate>
<gmrss:liveWindowEnd>2023-05-18T12:45Z</gmrss:liveWindowEnd>
<gmrss:streamingClass>EphemeralStream</gmrss:streamingClass>
<gmrss:availabilityStatus>UPCOMING</gmrss:availabilityStatus>
<gmrss:contentProviderName>SAMP</gmrss:contentProviderName>
<gmrss:airingType>LIVE</gmrss:airingType>
<gmrss:sportsTeamReference provider="SAMP" type="HOME" competition="true">Brisbane</gmrss:sportsTeamReference>
<gmrss:sportsTeamReference provider="SAMP" type="AWAY" competition="true">Penrith</gmrss:sportsTeamReference>
<gmrss:sportsLeagueReference provider="SAMP">NRL</gmrss:sportsLeagueReference>
<gmrss:tagReference provider="MERLIN_OTT" type="Genre">Rugby league</gmrss:tagReference>
<!-- external IDs are inserted into the deeplink format -->
<gmrss:externalAssetId>IH000401298</gmrss:externalAssetId>
<gmrss:externalEntityId>IH000401298</gmrss:externalEntityId>
<gmrss:externalSeriesId >SI000000001</gmrss:externalSeriesId>
<gmrss:durableAppId>com.sky.SAMP</gmrss:durableAppId>
</item>
</channel>
</rss>
Short form and social video
Short-form video content does not, by its nature, carry the same level of canonical structural data as longform programming and series. As such, where there is a grouping of content it may be highlighted as a playlist rather than a series (see Section 4 for additional use of playlists).
| Field | Description | Required | Example |
|---|---|---|---|
| Playlist | Ordered group used to define a set of videos in place of a series structure. | Optional, where content has a thematic or editorial grouping |
Accessibility
These fields identify accessibility features supported in the TV programme.
| Field | Description | Required | Example |
|---|---|---|---|
| Closed caption subtitles present | Closed caption subtitles for hard of hearing. | Yes, where closed caption subtitles are available for the programme | Boolean value in GMRSS specification, ‘cc’ |
| Closed caption Subtitle language identifier | Language of the subtitle text, using ISO 3 Alpha reference | Yes, where subtitles exist. | ENG |
| Locale reference – e.g. identifying GB from US English. | Preferred | GB | |
| Sign language present | Identifies that the programme has sign language translation. | Future feature | |
| Sign language identifier | Language and locale using ISO 3 alpha references, given regional variants in signing, | Future feature | BFI |
| Audio Description present | Identifies that the programme contains an audio track for scene description for the visually impaired. | Yes, where audio description is available for the programme | Boolean value in GMRSS specification, ‘dvs’ |
| Audio description language identifier | Language of audio description, using ISO 3 alpha reference. | Yes, where Audio description exists. | ENG |
| Locale reference. | Preferred | GB |
Images
Image requirements are aligned to the current Sky UVP (Universal VOD Package) ADI image specification as at the date of publication (Version 8.4). Full image and guidance, including safe zones, is available separately.
All images supplied must include a unique asset reference ID.
TV programmes
Series-level
| Image name and ratio | Description | Required | Pixel dimensions |
|---|---|---|---|
| Background hero image (16:9) | Appears as a full screen image behind content within Sky UI. | Yes | Min 1920 x 1080 (additional 3840 x 2160 optional) |
| Iconic image (16:9) | Clean image (no title artwork) that can be used for the full series. Sometimes referred to as hero or key art. | Yes | 1920 x 1080 |
| Titled image (16:9) | Hero or key art image that Includes the title artwork for the series. | Optional | 1920 x 1080 |
| Titled image (3:4) | Sometimes referred to as box cover/poster. | Yes | 600 x 800 |
Season-level
| Image name and ratio | Description | Required | Pixel dimensions |
|---|---|---|---|
| Iconic Image (16:9) | As described above | Preferred | 1920 x 1080 |
| Titled image (16:9) | As described above | Optional | 1920 x 1080 |
| Titled image (3:4) | As described above | Preferred, where title differs from Series title. | 600 x 800 |
Single programme or episode
| Image name and ratio | Description | Required | Pixel dimensions |
|---|---|---|---|
| Background hero image (16:9) | As described above | Yes, for a single programme, e.g. a documentary, special or movie | 1920 x 1080 |
| Iconic image (16:9) | As described above | Yes, for a single programme, as above. | 1920 x 1080 |
| Titled image (16:9) | As described above | Optional | 1920 x 1080 |
| Titled image (3:4) | As described above | Yes, for a single programme, as above. | 600 x 800 |
| Episodic image (16:9) | Unique, episodespecific image. | Yes, where part of a series. | 1920 x 1080 |