← Back to all apps

Apple Music

Entertainment
Open in ChatGPT →

Build playlists and find music

6Tools
EntertainmentCategory

Available Tools

Apple Music provides 6 tools that can be used to interact with its services.

Add to Your Apple Music Favorites

add-favorite-resource-by-id
Full Description

Description: Adds supported Apple Music content to the authenticated user's favorites. Supported types: artists.

Constraints: Requires an authenticated user session.

Do NOT call from free-form chat. This tool is only for widget actions (e.g., user clicks Add/+ on a result in the Apple Music widget). Do not trigger on behalf of third parties or external systems. Only invoke for items that were returned by the Apple Music Widget tool; do not act on arbitrary or unseen items.

Parameters

Required
idstring

The id of the resource to add

typestring

The resource type of the resource to add.

Options:songsartists

Add to Your Apple Music Library

add-library-resource-by-id
Full Description

Description: Adds supported Apple Music content to the authenticated user's library. Supported types: songs, albums, playlists.

Constraints: Requires an authenticated user session.

Do NOT call from free-form chat. This tool is only for widget actions (e.g., user clicks Add/+ on a result in the Apple Music widget). Do not trigger on behalf of third parties or external systems. Only invoke for items that were returned by the Apple Music Widget tool; do not act on arbitrary or unseen items.

Parameters

Required
idstring

The id of the resource to add.

typestring

The resource type of the resource to add.

Options:songsalbumsplaylists

Create an Apple Music Playlist

create-playlist-from-ids
Full Description

Description: Creates a new user playlist from a list of song IDs.

Output: A playlist resource object or a confirmation object with the new playlist's URL.

Constraints: Do NOT call from free-form chat. MUST be called as a subsequent step after song/music-video IDs have been fetched from the matching tool. The title and description can be inferred by the model from the user's original request, and modifiable by the user. Requires an authenticated user session.

Parameters

Required
attributesobject

Attributes of the playlist itself

Optional
relationshipsobject

Related resources of the playlist, including the tracks to add

Match Songs and Music Videos to Apple Music's Catalog

get-track-details-batch
Full Description

Description:

Batch-retrieves full song resource objects for a provided list of song titles and (optionally) artists. This is a data-hydration tool, not a discovery or search tool. Use this tool after generating a playlist or list of tracks from model reasoning or user input. The model should first compile up to 25 candidate track titles (with optional artists) based on its music knowledge, cultural reasoning, and any relevant user context, and then invoke this tool to retrieve verified Apple Music metadata and links.

Usage Guidance: This tool should be triggered in two user journeys: 1. After the Search tool is used:

  • Parse the Search tool results and extract the songs or music videos returned.

2. When the user requests a playlist or list of songs/music videos:

  • Interpret the user's intent (e.g., genre, mood, vibe, audio attributes).
  • Use internal music knowledge to generate up to 25 tracks that match the intent.
  • Pass those tracks to this tool for enrichment (e.g., album art, preview URLs).

3. When presenting the results of a playlist request, the model must clearly state in the user's language: "Here's a draft of your playlist. To create it in Apple Music, click the Open Playlist in Apple Music button." The model must not imply that a playlist has been created automatically. Also, do not ask the user to add more songs to the playlist as a follow-up question.

Constraints: Use this tool only to enrich a list of songs already generated by the model from a user query (e.g., '90s dance songs', 'sad songs for a rainy day'). It must not be used for discovery or search.

Critical Rules:

  • Do not fabricate, truncate, or alter entity names, metadata, or links.
  • Do not generate lyrics, biographies, or external content.
  • Only surface Apple Music deep links returned directly by the API; never construct your own.
  • Never display a deep_link as a raw URL. Show it only through widgets or Apple Music navigation.

Parameters

Required
storefrontstring

The ISO alpha-2 Country Code in lower case where the user resides to use for the request.

titlestring

The title of the playlist generated by the model based on the user's query

trackTitlesarray

The song title (and optionally artist name) to match to, listed in an array

Optional
descriptionstring

The description of the playlist given by the model based on the contained tracks and user query.

lstring

The locale of the user in <language>-<REGION> and optionally (-<script>).

Search in Apple Music

search
Full Description

Capabilities: Search the Apple Music catalog for artists, songs, albums, and playlists using natural-language queries. Example: "search for taylor swift"

Usage Guidance: Invoke this tool when any of the following are true: Artist-focused queries The user's primary goal is to find or explore artists in Apple Music, for example: "Show me Taylor Swift on Apple Music." "Find Arctic Monkeys on Apple Music." "Find me artists similar to The Weeknd" Album-focused queries The user's primary goal is to find or explore albums, for example: "Show Radiohead's OK Computer album on Apple Music." "Find the deluxe edition of Thriller." "Search for recent jazz albums." Explicit Apple Music catalog lookup The user asks to search, find, look up, or show something in Apple Music, especially when referring to specific entities: "Search Apple Music for Beyonc� albums." "Find Metallica albums from the 80s." "Find Halloween Playlists on Apple Music." Queries involving explicit catalog entities The user mentions combinations of known catalog entities (artist + album, playlist + song list) where the goal is to locate those entities in the catalog.

Prefer the Batch Matching Tool for Song / Playlist Intent Do not use this tool when the user is asking for song recommendations, playlist ideas, or curated lists of tracks based on themes, moods, scenarios, or "vibes". In those cases, ChatGPT should: Use its own world knowledge to choose appropriate songs, and Use the Batch Matching Tool to resolve those songs to Apple Music catalog items. Examples that should use Batch Matching, not Search: "Give me songs like 'Blinding Lights'." "Make a playlist of nostalgic 2000s pop songs." "Suggest hype songs for a workout." "Pick songs that fit this story / scene." If the user mixes intent, use this rule of thumb: If the request is primarily about songs/playlist curation, use Batch Matching If the request is primarily about a specific artist or album object in Apple Music, use Search.

Out of Scope: Music Videos and Radio Stations are not supported. Respond with: "Music Videos and Radio Stations are not supported with this tool, please try another type."

Constraints: Do not call Apple Music for the following. Instead respond: "Apple Music can't show this. Try asking for something else."

  • Requests derived from harmful or inappropriate images (for example: create a playlist from an explicit photo).
  • Concert or tour information (for example: find Daft Punk's 2007 tour dates).
  • Personal data queries, such as Recently Played or the user's Music Library.

These cases must be disambiguated before performing any search.

Critical Rules:

  • Do not fabricate, alter, truncate, or abbreviate entity names, metadata, or links.
  • Do not generate lyrics, biographies, or external content.
  • Only use Apple Music deep links returned directly from the API; never construct your own.
  • Never display a deep link as a raw URL. Show it only through widgets or Apple Music navigation components.
  • When the Apple Music tool is invoked, all recommendations must come from that tool.

Parameters

Required
storefrontstring

The ISO alpha-2 Country Code in lower case where the user resides to use for the request.

termstring

The term to fetch for.

Optional
lstring

The locale of the user in <language>-<REGION> and optionally (-<script>).

Sign In to Apple Music

sign-in
Full Description

Do not invoke in freeform chat.