- Docs
- Connect your users
Set up Spotify
Core + Managed TransfersGuide · 1 min
What you need from the Spotify developer dashboard, the callback URL and scopes to register, and the Spotify quirks.
What you need from Spotify
An app in the Spotify for Developers dashboard. From its Settings you copy:
| Spotify field | MusicAPI field |
|---|---|
| Client ID | Client ID |
| Client secret | Client Secret |
Callback URL
Add this exact Redirect URI to the Spotify app:
https://api.musicapi.com/callback/spotify
Scopes
MusicAPI asks for these scopes by default. You can change the list on the integration.
playlist-read-collaborative playlist-modify-public playlist-read-private playlist-modify-private
user-read-private user-read-email user-library-modify user-library-read user-top-read
user-read-recently-played user-read-currently-playing user-follow-modify user-follow-read
ugc-image-upload
A user who signed in before a scope was added does not have it. Such a user must sign in again.
Add it to MusicAPI
- Open Integrations in the dashboard and pick Spotify.
- Paste the Client ID and the Client Secret, and save.
- Turn Is Enabled on, so the picker shows Spotify.
- Press Test Spotify and sign in once with your own account.
Quirks
- Spotify starts a new app in Development Mode, where only users you allow-list can sign in. Apply at Spotify for extended access before you launch.
- Every library operation of the API works on Spotify. Tracks carry an ISRC, and the user search takes one.
- Spotify returns no preview URL.
- At most 50 items per page (
limitParam), at most 10,000 tracks per playlist.
Direct sign-in link
https://app.musicapi.com/{slug}/spotify/auth?returnUrl={returnUrl}