# Content markup properties of music playlists

This section provides the details of the content markup properties for the `MusicPlaylist` entity type.

## Specification table

| Property | Expected Type | Description |
|---|---|---|
| `@context` | [Text](http://schema.org/Text) | **Required** - Always set to `["http://schema.googleapis.com", {"@language": "xx"}]`. - Where "xx" represents the language of the strings in the feed. Each root entity context should have it's @language set to the appropriate language code in [BCP 47 format](http://tools.ietf.org/html/bcp47) format. For example, if the language is set to Spanish, the names are assumed to be in Spanish even if the subtitle/dub language is in English. |
| `@type` | [Text](http://schema.org/Text) | **Required** - Always set to `MusicPlaylist` for mixes. |
| `@id` | [URL](http://schema.org/URL) | **Required** - The content's identifier in URI format; for example, *https://example.com/1234abc* . `@id` must meet the following requirements: - Globally unique across your catalog - Static; The ID should be stable and not change over time (even if the url property of the show changes). It will be treated as an opaque string and does not have to be a working link. - In the form of Unified Resource Identifier (URI) - The domain used for the @id value must be owned by your organization. Because an entity's `url` meets all the requirements as an identifier, we recommend you use an entity's `url` as `@id`. See the [Identifier](https://developers.google.com/actions/media/collect-information/collect-the-id-url-and-name#identifier) section for more details. |
| `url` | [URL](http://schema.org/URL) | **Required** - The content's [canonical URL](https://developers.google.com/actions/media/collect-information/collect-the-id-url-and-name#canonical_url), which Google uses to match the content in your feed to the content in Google's databases. `url` must meet the following requirements: - `url` must be globally unique - `url` must contain a working canonical URL that Google can crawl. - `url` needs to point to a content description page that is not blocked by a paywall. For playback's [deep link](https://developers.google.com/actions/media/collect-information/identify-the-deep-links#deep_link), see the [target](https://developers.google.com/actions/media/reference/#target) object's `urlTemplate` property instead. |
| `name` | [Text](http://schema.org/Text) | **Required** - The name of the playlist, for example "Funky Jazz Mix". - Use an array to list the names in different languages. See the [Multiple regions and languages](https://developers.google.com/actions/media/reference/feed-examples/listen-actions-examples#multiple_regions_and_languages) example. |
| `genre` | [Text](http://schema.org/Text) | **Required if the playlist is a genre mix** - A list of keywords specific to the genre that the playlist represents. The presence of this property signals Google that you intend this playlist to be a genre playlist. |
| `numTracks` | [Integer](http://schema.org/Integer) | **Required if the playlist is a curated mix** - The number of tracks in the playlist. The presence of this property signals Google that this playlist is hand curated. The absence of this property will signal that the playlist is an endless auto-generated playlist. |
| `potentialAction` | [ListenAction](http://schema.org/ListenAction) | **Required** - An [Action markup object](https://developers.google.com/actions/media/reference/#action_markup) that provides the details of the action. See the [Action markup properties](https://developers.google.com/actions/media/reference/data-specification/listen-actions-common-specification#action_markup_properties) for details. - Use an array to specify different [deep links](https://developers.google.com/actions/media/collect-information/identify-the-deep-links#deep_link) in multiple regions. See the [Multiple regions and languages](https://developers.google.com/actions/media/reference/feed-examples/listen-actions-examples#multiple_regions_and_languages) example. |
| `image` | [ImageObject](http://schema.org/ImageObject) | A playlist image which represents the playlist or music mix. See [Image markup properties](https://developers.google.com/actions/media/reference/data-specification/listen-actions-common-specification#image_markup_properties). |
| `creator` | [Organization](http://schema.org/Organization) or [Person](http://schema.org/Person) | Recommended if the creator is of high interest. Use this property to indicate the playlists created by your service (typed as [Organization](http://schema.org/Organization) with its `name` property indicating your service) or a high interest user of your service (typed as [Person](http://schema.org/Person) with its `name` property indicating the user of interest). |
| `keywords` | [Text](http://schema.org/Text) | A list of keywords ("rock", "pop"), moods ("happy", "moody"), activities ("exercise", "relaxing"), or other terms related to the playlist. |
| `description` | [Text](http://schema.org/Text) | A brief description of the playlist. 300-character limit. - Use an array to mark up the description in multiple languages. See the [Multiple regions and languages](https://developers.google.com/actions/media/reference/feed-examples/listen-actions-examples#multiple_regions_and_languages) example. |
| `isFamilyFriendly` | [Boolean](http://schema.org/Boolean) | Indicates whether this content is family friendly (that is, the content is suitable for all members of a family, including children). Google products may use `isFamilyFriendly` when determining a song to play. |
| `popularityScore` | PopularityScoreSpecification | **Highly Recommended [Why?](https://developers.google.com/actions/media/collect-information/collect-the-metadata)** A score that Google uses, plus other signals, to determine which media to play for users. This score represents the popularity of the content in relation to other content in your catalog; therefore, the score's scale needs to be consistent across your feeds, among all the entities in your catalog. By default, an entity's popularity score is set to 0. |
| `popularityScore.@type` | [Text](http://schema.org/Text) | Always set to `PopularityScoreSpecification`. |
| `popularityScore.value` | [Number](http://schema.org/Number) | A non-negative numeric value that indicates the popularity of the entity; a higher score means higher popularity. |
| `popularityScore.eligibleRegion` | [Country](http://schema.org/Country) | Region(s) where this popularity score is applicable. If the popularity score is globally applicable, set to `EARTH`. By default, this property is set to `EARTH`. `Note: `Locale-specific popularity takes precedence over global (EARTH) popularity |

## Example

Example that contains a hand-curated playlist of the 2010s pop songs:

    {
      "@context":["http://schema.googleapis.com/", {"@language": "en"}],
      "@type":"MusicPlaylist",
      "@id":"http://www.example.com/playlist/top-pop-songs/",
      "url":"http://www.example.com/playlist/top-pop-songs/",
      "name":"Top Pop Songs of the 2010s",
      "image":[
      {
        "@type": "ImageObject",
        "contentUrl" : "http://www.example.com/playlist/top-pop-songs/1x1/photo1.jpg",
        "dateModified" : "2018-01-05T22:11:33+00:00",
        "regionsAllowed" : ["US","UK","MX"]
      },
      {
        "@type": "ImageObject",
        "contentUrl" : "http://www.example.com/playlist/top-pop-songs/1x1/photo2.jpg",
        "dateModified" : "2018-01-05T22:11:33+00:00",
        "regionsAllowed" : ["UA", "IR"]
      }],
      "genre": [
         "pop",
         "2010s"
      ],
      "numTracks":"46",
      "potentialAction":{
        "@type":"ListenAction",
        "target":[
          {
            "@type":"EntryPoint",
            "urlTemplate":"http://www.example.com/playlist/top-pop-songs?autoplay=true",
            "actionPlatform":[
              "http://schema.org/DesktopWebPlatform",
              "http://schema.org/IOSPlatform",
              "http://schema.org/AndroidPlatform",
              "http://schema.org/AndroidTVPlatform",
              "http://schema.googleapis.com/GoogleAudioCast",
              "http://schema.googleapis.com/GoogleVideoCast"
            ]
          },
          {
            "@type": "EntryPoint",
            "urlTemplate": "android-app://com.app.example/playlist/top-pop-songs?autoplay=true",
            "actionPlatform": "http://schema.org/AndroidPlatform"
          }
        ],
        "expectsAcceptanceOf":{
          "@type":"Offer",
          "category":"free",
          "eligibleRegion": {
            "@type":"Country",
            "name":"US"
          }
        }
      },
      "creator": {
        "@type": "Organization",
        "name": "example.com"
      },
      "keywords": [
        "pop",
        "Party music"
      ],
      "popularityScore": {
        "@type": "PopularityScoreSpecification",
        "value": 78,
        "eligibleRegion": [
          {
            "@type": "Country",
            "name": "US"
          },
          {
            "@type": "Country",
            "name": "CA"
          }
        ]
      },
      "description":"Top pop songs from the last decade."
    }

<br />

## Related pages

Check out the following pages for the topics related to these properties:

- [Identify the entity types of your content](https://developers.google.com/actions/media/collect-information/identify-the-entity-types)
- [Collect the ID, URL, and name of your content](https://developers.google.com/actions/media/collect-information/collect-the-id-url-and-name)
- [Identify the relationships among MusicGroup, MusicAlbum, MusicRecording, and MusicPlaylist](https://developers.google.com/actions/media/collect-information/entity-types/identify-the-relationships-music)
- [Collect the metadata of your content](https://developers.google.com/actions/media/collect-information/collect-the-metadata)