Custom app connections are available on the Team plan. See White-label Connections for the overview.
Quick Connect vs Custom App
What You Need
Three values from your own Spotify app:
Spotify access tokens last one hour; Markifact refreshes them with your client ID and secret on every run. Refresh tokens stay valid until the user removes the app from their account.
Already have your own authorization flow? If your systems already hold a refresh token issued by your app, skip to Connect to Markifact.
Setting Up Your Custom Spotify Ads App
1
Create the App
- Open the Spotify developer dashboard and click Create app
- Enter the app name and description. This is the branding users see when they authorize
- Under Redirect URIs, add a URL you control (for example
https://www.youragency.com/spotify-callback). Spotify appends the auth code to this URL after authorization; the page does not need to do anything - Save, then open Settings and copy the Client ID and Client secret
2
Request Spotify Ads API Access
The Ads API is not part of the public Spotify Web API. Ask your Spotify Ads representative to enable Ads API access for your app’s client ID and wait for confirmation. Agencies that already run their own integrations will have this in place; until it is granted, the businesses endpoint returns authorization errors.
3
Authorize and Get the Auth Code
- Open the following URL in a browser, replacing the client ID and redirect URI:
- Sign in as the Spotify account that has access to the Ads business and click Agree
- Spotify redirects to your URL with
code=...in the query string. Copy the value. Auth codes expire quickly and can be exchanged once, so do the next step right away
4
Exchange the Auth Code for a Refresh Token
Run this request, replacing the values (the redirect URI must match the one used above exactly):The response contains
refresh_token. Copy it.Important: Keep this token secure. Anyone holding it, together with your client ID and secret, can act on every ad account the user can reach.
5
Connect to Markifact
- In Markifact, go to the Connections page
- Click Connect on Spotify Ads
- Select the Custom App (White-label) tab
- Enter a Connection Name (for example “Acme Agency Spotify Ads”)
- Paste your Client ID, Client Secret, and Refresh Token
- Click Verify & Connect
Selecting Your Connection
Custom app connections appear under the name you chose, with a Custom app badge on the Connections page. Select them in Spotify Ads nodes, agents, and MCP exactly like any other Spotify Ads connection.Rotating or Replacing the Token
Add the connection again with the same connection name and the new values. Markifact replaces the stored credentials in place, so workflows and agents bound to the connection keep working.Troubleshooting
Spotify rejected the client ID or client secret (invalid_client)
Spotify rejected the client ID or client secret (invalid_client)
Check both values under Settings on your app’s page in the developer dashboard. Rotating the secret there invalidates the old one.
Spotify rejected the refresh token (invalid_grant)
Spotify rejected the refresh token (invalid_grant)
The token was issued by a different app than the one whose client ID you pasted, or the user removed the app under their Spotify account’s Apps settings. Authorize again and paste the new refresh token.
Spotify Ads API refused access (403)
Spotify Ads API refused access (403)
Your app has not been granted Ads API access yet, or the account cannot reach the ad accounts. Confirm the access with your Spotify Ads representative, then try again.
This Spotify account belongs to no ad business
This Spotify account belongs to no ad business
The account that authorized has no access to a Spotify Ads business. Add it as a user on the business, then authorize again.
Summary
Related
White-label Connections
Overview of custom app connections across channels
Get Report
Pull Spotify Ads performance data

