Welcome to the new Spotify for Developers! This version of the site is in beta, and the content or functionality may change without notice. You may continue to use our main site at developer.spotify.com.

iOS SDK Beta

Important: The iOS SDK is currently in Beta. The content and functionality may change without warning in future versions.

By using Spotify developer tools, you accept our Developer Terms of Service.

The iOS SDK is explicitly prohibited from use for in-car apps, alarm clock apps, ring-tone apps, voice-assistants, broadcast aka “listen together” apps, and to create offline experiences for wearable or other devices.

About the iOS SDK

The Spotify iOS SDK makes it easy to add Spotify functionality to your iOS app. The SDK consists of three binary libraries and a set of API header files. It is packaged as an Xcode project and includes APIs for:

  • User authentication
  • Audio playback and stream management
  • Metadata (artist, album, track) lookup including artwork
  • Playlist management
  • User’s Your Music Library management

The iOS SDK binary takes care of all negotiation with backend Spotify services, including digital rights management and decoding. It delivers audio as a PCM stream ready for rendering by the iOS device. To keep integration simple, the binary runs single-threaded.

Registering your bundle ID

To communicate with Spotify you need to register your application’s bundle ID in the Dashboard. This value is used to authenticate your application against the Spotify client.

Checkout the SDK

The iOS SDK is available for checkout from its home on GitHub:

Tutorial and Examples

We provide a beginner’s tutorial to help you set up your Xcode environment and get started with the iOS SDK. It leads you through the creation of a simple iOS app that connects to the Spotify service and plays a track.

Within the download package you will also find several demonstration projects and project templates which provide example and starter code.

API Documentation

The API documentation is available online.

Issues

Please report problems with this SDK through the public issue tracker on GitHub.

Frequently Asked Questions about the iOS SDK

Using it in non-iOS platforms

Can the iOS SDK be used in an macOS App?

No, the iOS SDK is built against the iOS SDKs and won’t work in a macOS app.

Keeping the user authenticated

How can I maintain Spotify login session in my app for more than one hour?

When authenticating via the Web API you will receive a refresh token as well as an access token. For security, the access token will expire after 1 hour. The refresh token can be used to automatically retrieve a new access token without the user needing to re-authenticate.

For more information see the authorization guide.

Terms of Service

Note that by using Spotify developer tools, you accept our Developer Terms of Service.

Applications built with this SDK may be publicly distributed via app stores, however, if the application streams full-length tracks from Spotify you cannot charge users for it (for more about commercial restrictions, see the Developer Terms of Service).

Please also note that streaming of full-length tracks is only available to your users who have a Spotify Premium subscription.