---
title: MusicKit
framework: musickit
role: collection
role_heading: Framework
path: musickit
---

# MusicKit

Integrate your app with Apple Music.

## Overview

Overview Use MusicKit to integrate your app with Apple Music API, a web service you use to access information about music items in the Apple Music catalog. Using MusicKit, you can more easily build apps that tie into Apple Music. The framework provides a model layer for accessing music items in Swift, as well as playback support so you can add music to your app. Additionally, it provides some related user interface elements, such as a view to display images that correspond to artwork for a music item, or a way to present music subscription offers to users who may not have an active Apple Music subscription. important: Users must grant permission for your app to access their music data. Add the NSAppleMusicUsageDescription key to your app’s Info.plist file, and include a description of how you intend to use the user’s media. If this key isn’t present, the system terminates your app when it tries to access the user’s music. Request permission for your app to use MusicKit with MusicAuthorization. Check specific capabilities for the current MusicSubscription to ensure your music-related functionality is available to the user. Find music items using a search term with MusicCatalogSearchRequest, or find music items using a filter with MusicCatalogResourceRequest. Play music in your app with one of the two music players that MusicKit offers. Allow the user to begin a free trial for Apple Music from within your app by presenting a music subscription offer. You can load content from an arbitrary Apple Music API endpoint with MusicDataRequest to take further advantage of additional functionality available in Apple Music API.

## Topics

### Essentials

- [Using Automatic Developer Token Generation for Apple Music API](musickit/using-automatic-token-generation-for-apple-music-api.md)
- [Using MusicKit to integrate with Apple Music](musickit/using-musickit-to-integrate-with-apple-music.md)
- [NSAppleMusicUsageDescription](bundleresources/information-property-list/nsapplemusicusagedescription.md)

### Music Items

- [Album](musickit/album.md)
- [Artist](musickit/artist.md)
- [Curator](musickit/curator.md)
- [Genre](musickit/genre.md)
- [MusicVideo](musickit/musicvideo.md)
- [Playlist](musickit/playlist.md)
- [RadioShow](musickit/radioshow.md)
- [RecordLabel](musickit/recordlabel.md)
- [Song](musickit/song.md)
- [Station](musickit/station.md)
- [Track](musickit/track.md)

### Music Item Attributes

- [ContentRating](musickit/contentrating.md)
- [EditorialNotes](musickit/editorialnotes.md)
- [PreviewAsset](musickit/previewasset.md)

### Catalog Search

- [MusicCatalogSearchRequest](musickit/musiccatalogsearchrequest.md)
- [MusicCatalogSearchResponse](musickit/musiccatalogsearchresponse.md)
- [MusicCatalogSearchable](musickit/musiccatalogsearchable.md)

### Resource Loading Using Filters

- [MusicCatalogResourceRequest](musickit/musiccatalogresourcerequest.md)
- [MusicCatalogResourceResponse](musickit/musiccatalogresourceresponse.md)
- [AlbumFilter](musickit/albumfilter.md)
- [ArtistFilter](musickit/artistfilter.md)
- [CuratorFilter](musickit/curatorfilter.md)
- [GenreFilter](musickit/genrefilter.md)
- [MusicVideoFilter](musickit/musicvideofilter.md)
- [PlaylistFilter](musickit/playlistfilter.md)
- [RadioShowFilter](musickit/radioshowfilter.md)
- [RecordLabelFilter](musickit/recordlabelfilter.md)
- [SongFilter](musickit/songfilter.md)
- [StationFilter](musickit/stationfilter.md)
- [FilterableMusicItem](musickit/filterablemusicitem.md)

### General Purpose Data Request

- [MusicDataRequest](musickit/musicdatarequest.md)
- [MusicDataResponse](musickit/musicdataresponse.md)

### Playback

- [ApplicationMusicPlayer](musickit/applicationmusicplayer.md)
- [SystemMusicPlayer](musickit/systemmusicplayer.md)
- [MusicPlayer](musickit/musicplayer.md)
- [PlayableMusicItem](musickit/playablemusicitem.md)
- [PlayParameters](musickit/playparameters.md)

### Artwork

- [Artwork](musickit/artwork.md)
- [ArtworkImage](musickit/artworkimage.md)

### Authorization

- [MusicAuthorization](musickit/musicauthorization.md)

### Apple Music Subscription

- [MusicSubscription](musickit/musicsubscription.md)
- [MusicSubscriptionOffer](musickit/musicsubscriptionoffer.md)

### Token management

- [MusicTokenProvider](musickit/musictokenprovider.md)
- [MusicDeveloperTokenProvider](musickit/musicdevelopertokenprovider.md)
- [MusicUserTokenProvider](musickit/musicusertokenprovider.md)
- [MusicTokenRequestOptions](musickit/musictokenrequestoptions.md)
- [MusicTokenRequestError](musickit/musictokenrequesterror.md)
- [DefaultMusicTokenProvider](musickit/defaultmusictokenprovider.md)

### Utility

- [MusicItem](musickit/musicitem.md)
- [MusicItemID](musickit/musicitemid.md)
- [MusicItemCollection](musickit/musicitemcollection.md)
- [MusicPropertyContainer](musickit/musicpropertycontainer.md)
- [MusicRelationshipProperty](musickit/musicrelationshipproperty.md)
- [MusicExtendedAttributeProperty](musickit/musicextendedattributeproperty.md)
- [MusicAttributeProperty](musickit/musicattributeproperty.md)
- [PartialMusicAsyncProperty](musickit/partialmusicasyncproperty.md)
- [PartialMusicProperty](musickit/partialmusicproperty.md)
- [AnyMusicProperty](musickit/anymusicproperty.md)

### Articles

- [Integrating MusicKit into your app](musickit/integrating-musickit-into-your-app.md)

### Classes

- [MusicLibrary](musickit/musiclibrary.md)

### Protocols

- [LibraryAlbumFilter](musickit/libraryalbumfilter.md)
- [LibraryAlbumSortProperties](musickit/libraryalbumsortproperties.md)
- [LibraryArtistFilter](musickit/libraryartistfilter.md)
- [LibraryArtistSortProperties](musickit/libraryartistsortproperties.md)
- [LibraryGenreFilter](musickit/librarygenrefilter.md)
- [LibraryGenreSortProperties](musickit/librarygenresortproperties.md)
- [LibraryMusicVideoFilter](musickit/librarymusicvideofilter.md)
- [LibraryMusicVideoSortProperties](musickit/librarymusicvideosortproperties.md)
- [LibraryPlaylistEntryFilter](musickit/libraryplaylistentryfilter.md)
- [LibraryPlaylistEntrySortProperties](musickit/libraryplaylistentrysortproperties.md)
- [LibraryPlaylistFilter](musickit/libraryplaylistfilter.md)
- [LibraryPlaylistSortProperties](musickit/libraryplaylistsortproperties.md)
- [LibrarySongFilter](musickit/librarysongfilter.md)
- [LibrarySongSortProperties](musickit/librarysongsortproperties.md)
- [LibraryTrackFilter](musickit/librarytrackfilter.md)
- [LibraryTrackSortProperties](musickit/librarytracksortproperties.md)
- [MusicCatalogChartRequestable](musickit/musiccatalogchartrequestable.md)
- [MusicCatalogTopLevelResourceRequesting](musickit/musiccatalogtoplevelresourcerequesting.md)
- [MusicLibraryAddable](musickit/musiclibraryaddable.md)
- [MusicLibraryRequestFilterValueEquatable](musickit/musiclibraryrequestfiltervalueequatable.md)
- [MusicLibraryRequestFilterValueMembershipComparable](musickit/musiclibraryrequestfiltervaluemembershipcomparable.md)
- [MusicLibraryRequestable](musickit/musiclibraryrequestable.md)
- [MusicLibrarySearchable](musickit/musiclibrarysearchable.md)
- [MusicLibrarySectionRequestable](musickit/musiclibrarysectionrequestable.md)
- [MusicPersonalRecommendationItem](musickit/musicpersonalrecommendationitem.md)
- [MusicPlaylistAddable](musickit/musicplaylistaddable.md)
- [MusicRecentlyPlayedRequestable](musickit/musicrecentlyplayedrequestable.md)
- [PickableMusicItem](musickit/pickablemusicitem.md)

### Structures

- [MusicCatalogChart](musickit/musiccatalogchart.md)
- [MusicCatalogChartsRequest](musickit/musiccatalogchartsrequest.md)
- [MusicCatalogChartsResponse](musickit/musiccatalogchartsresponse.md)
- [MusicCatalogResourceRequestOption](musickit/musiccatalogresourcerequestoption.md)
- [MusicCatalogSearchSuggestionsRequest](musickit/musiccatalogsearchsuggestionsrequest.md)
- [MusicCatalogSearchSuggestionsResponse](musickit/musiccatalogsearchsuggestionsresponse.md)
- [MusicLibraryRequest](musickit/musiclibraryrequest.md)
- [MusicLibraryResponse](musickit/musiclibraryresponse.md)
- [MusicLibrarySearchRequest](musickit/musiclibrarysearchrequest.md)
- [MusicLibrarySearchResponse](musickit/musiclibrarysearchresponse.md)
- [MusicLibrarySection](musickit/musiclibrarysection.md)
- [MusicLibrarySectionedRequest](musickit/musiclibrarysectionedrequest.md)
- [MusicLibrarySectionedResponse](musickit/musiclibrarysectionedresponse.md)
- [MusicPersonalRecommendation](musickit/musicpersonalrecommendation.md)
- [MusicPersonalRecommendationsRequest](musickit/musicpersonalrecommendationsrequest.md)
- [MusicPersonalRecommendationsResponse](musickit/musicpersonalrecommendationsresponse.md)
- [MusicRecentlyPlayedRequest](musickit/musicrecentlyplayedrequest.md)
- [MusicRecentlyPlayedResponse](musickit/musicrecentlyplayedresponse.md)
- [TitledSection](musickit/titledsection.md)

### Type Aliases

- [MusicRecentlyPlayedContainerRequest](musickit/musicrecentlyplayedcontainerrequest.md)
- [MusicRecentlyPlayedContainerResponse](musickit/musicrecentlyplayedcontainerresponse.md)

### Enumerations

- [AudioVariant](musickit/audiovariant.md)
- [MusicCatalogChartKind](musickit/musiccatalogchartkind.md)
- [MusicPropertySource](musickit/musicpropertysource.md)
- [RecentlyPlayedMusicItem](musickit/recentlyplayedmusicitem.md)

## See Also

### Related Documentation

- [Media Player](mediaplayer.md)
- [Apple Music API](applemusicapi.md)
