Bring your own Spotify app

droplr.fm has two kinds of pre-save:

  • Email pre-save (every plan). The fan leaves an email. On release day they get a "it's out, save it" email with one-tap platform buttons. We track who opened the link through and which platform they chose. This works for every fan and doesn't touch Spotify's API.
  • True auto-save (Pro+, your own Spotify app). The fan logs in with Spotify and the release is added to their library automatically on release day.

The limit you need to know

Since February 2026, Spotify apps in Development Mode work for a maximum of 5 users. You add each one by hand in the Spotify dashboard, and the app owner needs Spotify Premium. Quota is counted per developer account. Going past 5 users needs Spotify's Extended Quota, which Spotify currently reserves for established, scalable businesses. So for most labels, BYO auto-save is for testing, VIPs and your own team, and email is the pre-save for everyone else.

Any fan who isn't allowlisted and taps "Pre-save on Spotify" gets sent back to the page with a prompt to use email.

Setup

  1. Open developer.spotify.com/dashboard with the Premium account that will own the app → Create app.
  2. Name it after your label, tick Web API, and add Redirect URIs:
    https://droplr.fm/api/spotify/callback
    https://presave.yourlabel.com/api/spotify/callback   (if you use a custom domain)
  3. Open the app's Settings and copy the Client ID and Client Secret.
  4. In droplr.fm: Admin → Integrations → paste both → Save & verify.
  5. In Spotify: User Management → add the name + Spotify email of each person who should be able to pre-save (up to 5).

What happens on release day

  1. The hourly job sees the release is live and re-resolves the missing platform links through Odesli.
  2. For each Spotify pre-save it refreshes the fan's token and calls PUT /v1/me/library with the album URI and the artist URI (that's the follow). If the new endpoint isn't available it falls back to the legacy album, track and following endpoints. A 429 backs off. QUOTA_EXCEEDED pauses the job until the next hour.
  3. Every fan who consented to email gets the release-day email.

Scopes requested

user-library-modify, user-follow-modify, user-read-email. Refresh tokens are encrypted with AES-256-GCM.