---
title: "Music Playlist Schema · Unhead"
canonical_url: "https://unhead.unjs.io/docs/vue/schema-org/api/schema/music-playlist"
last_updated: "2026-10-08T19:55:17.358Z"
meta:
  description: "Use defineMusicPlaylist() to describe a playlist, including its track count, creator, dates, ratings, artwork, and song list."
  "og:description": "Use defineMusicPlaylist() to describe a playlist, including its track count, creator, dates, ratings, artwork, and song list."
  "og:title": "Music Playlist Schema · Unhead"
---

Home

`
Unhead on GitHub

Switch to VueSwitch to TypeScriptSwitch to ReactSwitch to SvelteSwitch to Solid.jsSwitch to AngularSwitch to Nuxt

**Schema**

# **Music Playlist Schema**

[Copy for LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/music-playlist.md)

## Schema.org MusicPlaylist

**Type**: `defineMusicPlaylist<T extends Record<string, any>>(input?: MusicPlaylist & T)`

Describes a curated music playlist.

## Useful Links

- [**~~MusicPlaylist - Schema.org~~**](https://schema.org/MusicPlaylist)

## Required properties

- **name** `**string**`  
  The name of the playlist.

## Recommended Properties

- **track** `**NodeRelations<string>**`  
  Names or URLs of music recordings in the playlist. This field is currently passed through without a MusicRecording resolver.
- **creator** `**NodeRelation<Person | string>**`  
  The person who created the playlist. Plain objects and strings resolve as [**~~Person~~**](https://unhead.unjs.io/docs/schema-org/api/schema/person).
- **numTracks** `**number**`  
  The number of tracks in the playlist.

## Defaults

- **@type**: `**MusicPlaylist**`
- **@id**: `**${canonicalHost}#/schema/music-playlist/{n}**`

## Examples

### Minimal

```
defineMusicPlaylist({
  name: 'Best of Rock 2024',
  numTracks: 25,
})
```

### Detailed example

```
defineMusicPlaylist({
  name: 'Best of Rock 2024',
  description: 'A curated collection of the best rock songs from 2024',
  url: 'https://example.com/playlists/best-of-rock-2024',
  creator: {
    name: 'Jane Doe',
  },
  numTracks: 25,
  track: [
    'Song Title 1',
    'Song Title 2',
  ],
  datePublished: new Date(2024, 0, 1),
  dateModified: new Date(2024, 11, 31),
  image: 'https://example.com/playlists/best-of-rock-2024-cover.jpg',
})
```

## Types

```
export interface MusicPlaylistSimple extends Thing {
  name: string
  description?: string
  url?: string
  numTracks?: number
  track?: NodeRelations<string>
  creator?: NodeRelation<Person | string>
  datePublished?: ResolvableDate
  dateModified?: ResolvableDate
  image?: NodeRelations<string | ImageObject>
  aggregateRating?: NodeRelation<AggregateRating>
}
```

## Related Schemas

- [**~~MusicRecording~~**](https://unhead.unjs.io/docs/schema-org/api/schema/music-recording): Playlist tracks
- [**~~Person~~**](https://unhead.unjs.io/docs/schema-org/api/schema/person): Playlist creator

[Edit this page](https://github.com/unjs/unhead/edit/main/docs/schema-org/5.api/9.schema/music-playlist.md)

[Markdown For LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/music-playlist.md)

**Did this page help you? **

[**Music Group Schema** Use defineMusicGroup() to describe a band or musical group, including its members, genre, dates, discography, and profiles.](https://unhead.unjs.io/docs/schema-org/api/schema/music-group) [**Music Recording Schema** Use defineMusicRecording() to describe a song or track, including its artist, album, duration, ISRC, audio, and release date.](https://unhead.unjs.io/docs/schema-org/api/schema/music-recording)

**On this page **

- [Schema.org MusicPlaylist](#schemaorg-musicplaylist)
- [Useful Links](#useful-links)
- [Required properties](#required-properties)
- [Recommended Properties](#recommended-properties)
- [Defaults](#defaults)
- [Examples](#examples)
- [Types](#types)
- [Related Schemas](#related-schemas)