What you can do with Spotify Ads

Built for

Brand Marketers, Audio & Podcast Advertisers, Performance Teams, Agencies Running Spotify Alongside Other Channels

Example workflows

Monday account pulse

Operators start with pacing and status before editing creative.

Try this

On my connected Spotify ad account, summarize the last 7 days of campaign performance and flag anything paused that still has spend.

Find the right account

Multi-account logins name the brand first, then drill in.

Try this

Find the Spotify ad account for Northwind Audio in my connected accounts, then list active campaigns.

Approval queue

Creative ops teams need approval status without clicking through Ads Manager.

Try this

List Spotify ads pending approval on my account and summarize why each might be stuck.

Find a campaign by name

Search by name avoids ID hunting before reporting.

Try this

Find the Spotify campaign named Harbor summer podcast test on my account, then show last week's performance for that campaign.

Context to know first

What is Spotify Ads MCP?

Spotify Ads MCP connects your Spotify Ads account to AI assistants so you can review performance, inspect campaigns, upload creative, and plan audio or display flights from chat after you connect with Spotify on MCPBundles.

What can I do with Spotify Ads from chat?

You can list businesses and ad accounts, search campaigns, ad sets, and ads by name, read performance for one campaign, pull aggregate and CSV reports, manage audiences and pixels, discover geo and interest targets, and create or update campaigns when you intentionally turn delivery on.

How do I pick the right ad account?

Name the brand in chat. When one account matches, the assistant uses it. When several match, it asks you to choose and can remember your selection for the rest of the thread.

Related editorial

Spotify Ads from Chat

Name accounts and campaigns, plan paused ad sets, pull performance for one flight, and triage creative approval without living in Ads Manager.

Read article

AI Skill
SKILL.md

Domain knowledge for Spotify Ads — workflow patterns, data models, and gotchas for your AI agent.

Spotify Ads

Manage Spotify audio, video, and display campaigns through the Ads Partner API (api-partner.spotify.com).

Data model

  • BusinessAd accountCampaignAd set (targeting, budget, schedule) → Ad (creative + CTA).
  • Ads API access is allowlisted upstream; connection uses MCPBundles OAuth to Spotify.

Multi-account scope

One login may see many businesses and ad accounts. The connection stores compact routing metadata after account discovery.

Resolve scope before mutating: search by brand name when the user names an account; pin a chosen account when they pick one; omit the ad account id when exactly one active account is selected; refresh routing when lists look empty or permissions fail.

Typical workflows

Account health: Summarize recent delivery and status counts for the active account, then drill into one campaign’s day and lifetime metrics.

Plan before spend: Read-only ad set planning from an existing campaign (category, schedule, targets, budget). Copy the returned estimate payload hints — do not add campaign_id to audience or bid estimates (Spotify returns HTTP 400). Reach flights use objective EVEN_IMPRESSION_DELIVERY on estimates. Bid ranges come from the audience estimate response (bid_suggestion), not a separate bid-only endpoint.

Creative (audio): Register an asset (audio subtype for uploaded spots), upload media, wait until status READY, then attach to an ad with a companion image and logo. Self-serve audio spots are typically 30 seconds (exact duration); shorter or padded files often fail upload validation. Provide bytes via public URL, inline base64 (CLI @file:), or a local path when Desktop is connected — not raw TTS JSON on the wire.

Approval triage: List ads pending approval or rejected before turning delivery on.

Reporting: Prefer one-shot async report run (create, poll, optional CSV preview) over manual poll loops. Aggregate reports use UTC midnight windows; map friendly date params to report start/end.

Duplicate structure: Copy a campaign tree paused with delivery off when cloning funnels.

Targeting discovery

Geo, interest, genre, playlist, language, and sensitive-topic catalogs support keyword search (q) and/or fetch-by-id (ids). Use returned ids inside ad set targets when creating or updating.

Conversions API (CAPI)

Create a business-level CAPI integration and mint auth tokens for server-side or GTM templates. Return tokens to the user; MCPBundles does not send CAPI events by default.

Reserved buying (podcast / reserved music)

Reserved flights use lifetime budget, unset bid strategy, and fCPM from reserved pricing — different from auction ad sets.

Writes and safe defaults

  • New campaigns default to paused after create when safe pause is enabled.
  • New ad sets with safe defaults: create without delivery on the POST, then patch delivery OFF (status stays in Spotify’s approval flow — do not assume PAUSED patch works while pending).
  • New ads default delivery OFF unless the body overrides.
  • No hard delete upstream; pause entities and turn delivery off.

Gotchas

  • Local OAuth redirect host must be 127.0.0.1 (Spotify rejects localhost).
  • No ARCHIVED status on update paths.
  • 429 on async reports — backoff; avoid parallel report storms.
  • GBP daily ad set budgets often require 15_000_000 micro minimum (£15).
  • Pick category codes appropriate to the advertiser (e.g. software/SaaS vs generic defaults from planners).

Tools in this Server (80)

Spotify Ads Audience Replace URL

Get a signed GCS URL to fully replace members of an existing customer-list audience. Upload CSV to the returned upload_url; processing may take up to ...

Spotify Ads Chunk Upload Finish

Finalize chunked upload after all chunks transferred; returns processed asset metadata.

Spotify Ads Chunk Upload Part

Upload one chunk of a large asset. Split the file using max_chunk_size_mb from the start session.

Spotify Ads Chunk Upload Start

Begin a chunked upload session for large audio/video assets. Returns upload_session_id and max_chunk_size_mb for chunked part uploads and completion.

Spotify Ads Create Ad

Create a Spotify ad. apply_safe_defaults (default true) sets delivery OFF unless the body explicitly sets delivery.

Spotify Ads Create Ad Account

Create a new Spotify ad account under a business. Does not start campaign delivery.

Spotify Ads Create Ad Set

Create a Spotify ad set. apply_safe_defaults (default true) sets delivery OFF and status PAUSED for planning unless the body explicitly sets those fie...

Spotify Ads Create Asset

Create an asset record under an ad account (status WAITING_UPLOAD). Follow with asset media upload, then attach the asset id when creating an ad.

Spotify Ads Create Async Report

Start an asynchronous CSV export. Prefer the one-shot async report runner to create, poll, and return a CSV preview in one call.

Spotify Ads Create Audience

Create a custom or lookalike audience after uploading a customer list (audience_id from audience upload URL creation) or for web-event rules with data...

Spotify Ads Create Audience Upload URL

Get a new audience id and signed GCS URL for uploading a hashed customer-list CSV. Upload CSV to upload_url externally, then finalize the audience wit...

Spotify Ads Create Campaign

Create a Spotify Ads campaign under an ad account. Create accepts name and delivery fields only; use pause_after_create (default true) to PATCH PAUSED...

Spotify Ads Create Capi Auth Token

Mint a long-lived CAPI JWT using the same Spotify OAuth connection. Use the returned capi_auth_token as Bearer on capi.spotify.com (not the Ads API to...

Spotify Ads Create Capi Integration

Create a CAPI integration record under a business (no media spend). Returns capi_connection_id.

Spotify Ads Create Measurement Dataset

Create a measurement dataset under a business (often ties pixel + CAPI). No media spend; used for conversion measurement on ad sets.

Spotify Ads Create Mobile App

Register a mobile app under a business for APP_INSTALLS campaigns. No ad spend until you attach mobile_app_id on a live ad set.

Spotify Ads Create Pixel

Create a Spotify Pixel on a business for web conversion tracking. Does not spend media budget; install returned snippet on the domain.

Spotify Ads Delete Audience

Delete a custom or lookalike audience from the ad account. Destructive; ad sets referencing it may need updates.

Spotify Ads Delete Capi Auth Token

Revoke a CAPI auth token (max 3 active tokens per connection).

Spotify Ads Diagnose Connection

Explain Spotify Ads access for the connected user: businesses, ad accounts, cached default_scope, selected account, and suggested next tools when setu...

Spotify Ads Duplicate Campaign

Copy a campaign's ad sets and ads into a new paused campaign with delivery off on new entities.

Spotify Ads Estimate Audience

Estimate reachable audience size for a proposed ad set configuration before creation. Response includes audience_forecast and bid_suggestion (CPM bid ...

Spotify Ads Estimate Bid

Get recommended bid micro-amount range for a proposed ad set. Uses POST /estimates/audience and returns bid_suggestion (Spotify's separate /estimates/...

Spotify Ads Find Ad Accounts

Search Spotify ad accounts by name or ID fragment. Refreshes discovery when refresh=true. Use before account-scoped tools when the user names an accou...

Spotify Ads Find Ads

Search ads by name or ID. Pass ad_set_id to narrow to creatives under one ad set.

Spotify Ads Find Ad Sets

Search ad sets by name or ID. Pass campaign_id to narrow to one campaign tree.

Spotify Ads Find Campaigns

Search campaigns by name or ID on the scoped ad account. Use when the user names a flight without providing campaign_id.

Spotify Ads Get Account Pulse

Summarize recent Spotify Ads performance: active campaign count plus last-N-days aggregate metrics at campaign level when campaign IDs exist.

Spotify Ads Get Active Ad Account

Return the selected or default Spotify ad account cached on this connection, if any.

Spotify Ads Get Ad Accounts

Get Spotify ad accounts. Pass ad_account_id to fetch one. Omit both business_id and ad_account_id to list every ad account for the OAuth user and refr...

Spotify Ads Get Ad Categories

Get Spotify Ads IAB-style category ids (ADV_* ) required on ad set create. Use returned id as category on ad set create body.

Spotify Ads Get Ads

Get Spotify ads (creative shells) for an ad account. Omit ad_id to list; pass ad_id for one ad. Use ad_set_ids to narrow list results.

Spotify Ads Get Ad Sets

Get Spotify ad sets (targeting, budget, schedule) for an ad account. Omit ad_set_id to list; pass ad_set_id to fetch one. Filter list results with cam...

Spotify Ads Get Aggregate Report

Get aggregated Spotify Ads performance metrics for an ad account. For DAY or HOUR granularity supply report_start, report_end (UTC midnight), entity_t...

Spotify Ads Get Approval Queue

List Spotify ads that are pending approval or otherwise not approved, with delivery status.

Spotify Ads Get Artist Targets

Search or resolve Spotify artist targets for ad set artist targeting. Returns artist id, name, and image metadata.

Spotify Ads Get Assets

Get creative assets (audio, image, video) for an ad account. Omit asset_id to list with filters; pass asset_id to fetch one asset including status and...

Spotify Ads Get Async Report

Get status and download URL for an async CSV report. status is PROCESSING until READY; report_url is populated when the export completes.

Spotify Ads Get Audience Datasets

List web-event datasets eligible for custom audience creation on this ad account. Use dataset ids when building WEB_EVENT audiences.

Spotify Ads Get Audiences

Get custom and lookalike audiences for an ad account. Omit audience_id to list; pass audience_id for status, size, and subtype. Target BOOKABLE audien...

Spotify Ads Get Businesses

Get Spotify Ads businesses for the authenticated user. Omit business_id to list businesses; pass business_id to fetch one business record. Start here ...

Spotify Ads Get Campaign Performance

Campaign summary plus aggregate metrics (recent DAY window and optional LIFETIME) without hand-building entity_ids for a raw aggregate report call.

Spotify Ads Get Campaigns

Get Spotify Ads campaigns for an ad account. Omit campaign_id to list with optional status filters; pass campaign_id to fetch one campaign's name, sta...

Spotify Ads Get Campaign Tree

Fetch one campaign with its ad sets and ads in a single structured tree for debugging.

Spotify Ads Get Capi Auth Tokens

List active CAPI auth tokens for a connection (JWT secrets for capi.spotify.com).

Spotify Ads Get Capi Integrations

Get one Conversion API integration by capi_connection_id (Spotify capi_integration_id param). Spotify does not expose a business-wide list on GET /cap...

Spotify Ads Get Dataset Diagnostics

Get diagnostics for a measurement dataset (event receipt health, integration issues). Read-only; does not change tracking.

Spotify Ads Get Episode Topic Targets

Get Spotify Ads podcast episode topic targets for podcast ad set targeting (podcast_episode_topic_ids).

Spotify Ads Get Genre Targets

Get Spotify Ads music genre targets for ad set genre_ids targeting. Omit filters for all genres.

Spotify Ads Get Geo Targets

Search Spotify Ads geo targets for ad set targeting. Provide q and/or types (e.g. COUNTRY, CITY). Use returned ids inside ad set targets.geo_targets w...

Spotify Ads Get Interest Targets

Get Spotify Ads interest targets and subtargets for ad set targeting. Omit filters to return the full interest tree; pass q to search or ids to resolv...

Spotify Ads Get Language Targets

Get language codes for ad set targets.language. Optional ad_account_id affects feature-flag behavior.

Spotify Ads Get Measurement Datasets

Get measurement datasets (pixel + optional CAPI) for conversion optimization. Pass business_id alone to list business datasets; business_id + dataset_...

Spotify Ads Get Mobile Apps

Get mobile apps registered for app-install measurement (Kochava, AppsFlyer, Adjust, Branch). List with business_id or ad_account_id; fetch one with bu...

Spotify Ads Get Pixels

Get Spotify Pixel configs for a business (website conversion measurement). Use include_events for PAGE_VIEW/LEAD/PURCHASE setup; historical flags add ...

Spotify Ads Get Playlist Targets

Get Spotify Ads playlist targets for ad set playlist_ids targeting. Omit filters to list all playlists.

Spotify Ads Get Podcast Shows

Search or resolve Spotify podcast shows for podcast placement targeting. market is required (ISO country code). Use q to search or ids to fetch known ...

Spotify Ads Get Reserved Pricing

Retrieve fixed CPM (fCPM) pricing for reserved podcast or reserved music inventory before creating a reserved campaign and lifetime-budget ad set.

Spotify Ads Get Sensitive Topic Targets

Get sensitive podcast topic targets for exclusions via ad set targets.sensitive_topic_exclusions.

Spotify Ads Plan Ad Set

Read-only: build a suggested ad set create JSON body for an objective/geo/budget. Does not create anything. Follow with audience and bid estimates, th...

Spotify Ads Run Async Report

Create an async CSV report, poll until READY (or timeout), and return status plus optional parsed preview rows from report_url.

Spotify Ads Select Ad Account

Set the active Spotify ad account on this connection for tools that omit ad_account_id. Use after the user picks an account from discovery or name sea...

Spotify Ads Share Measurement Dataset

Share a business measurement dataset with an ad account so ad sets can reference dataset_id.

Spotify Ads Share Mobile App

Share a business mobile app with an ad account for app promotion ad sets.

Spotify Ads Unshare Measurement Dataset

Remove ad account access to a shared measurement dataset.

Spotify Ads Unshare Mobile App

Revoke ad account access to a shared mobile app.

Spotify Ads Update Ad

Patch a Spotify ad (name, delivery, creative references).

Spotify Ads Update Ad Account

Patch ad account settings. Does not turn on campaign delivery.

Spotify Ads Update Ad Set

Patch a Spotify ad set. Pass only fields to change in body. Use status PAUSED to stop delivery.

Spotify Ads Update Asset

Rename a Spotify Ads asset (display name). Media upload is a separate upload step.

Spotify Ads Update Audience

Patch audience name, description, or web-event rules. Customer list replacement uses upload URL tools.

Spotify Ads Update Business

Patch business metadata (name, billing). Does not affect live campaign delivery by itself.

Spotify Ads Update Campaign

Patch an existing Spotify Ads campaign (name, status, delivery goal group). Use status PAUSED to stop delivery; Spotify does not support hard delete v...

Spotify Ads Update Capi Integration

Patch a business CAPI integration (connection metadata or enabled flag). Requires business_id and the integration id returned when the connection was ...

Spotify Ads Update Measurement Dataset

Patch measurement dataset name or archive state.

Spotify Ads Update Mobile App

Patch mobile app metadata (name, store URLs, SKAdNetwork flag).

Spotify Ads Update Pixel

Patch Spotify Pixel name, domain, advanced matching, or cookie settings.

Spotify Ads Upload Asset

Upload media for an existing asset (multipart, up to 20MB). Provide exactly one of file_content_base64, file_url, or local_path. Returns updated asset...

Spotify Ads Upload Asset Media

Upload creative media for an existing asset in one step. Provide exactly one of file_content_base64, file_url, or local_path. Uses simple multipart un...

Spotify Ads Upload Audience CSV

POST audience list CSV bytes to a Spotify upload_url from audience upload URL creation.

Frequently Asked Questions

What is Spotify Ads MCP?

Spotify Ads MCP connects your Spotify Ads account to AI assistants so you can review performance, inspect campaigns, upload creative, and plan audio or display flights from chat after you connect with Spotify on MCPBundles.

What can I do with Spotify Ads from chat?

You can list businesses and ad accounts, search campaigns, ad sets, and ads by name, read performance for one campaign, pull aggregate and CSV reports, manage audiences and pixels, discover geo and interest targets, and create or update campaigns when you intentionally turn delivery on.

How do I pick the right ad account?

Name the brand in chat. When one account matches, the assistant uses it. When several match, it asks you to choose and can remember your selection for the rest of the thread.

Can agents create campaigns without spending?

New campaigns default to paused. Ad sets and ads can be created with delivery off and future start dates so you can build structure before anything serves.

Can chat set up Spotify conversion tracking?

Chat can help you create server-side conversion connections and mint the credentials Spotify gives you for Google Tag Manager or your own site — after you connect with Spotify. You install those credentials in Tag Manager or your checkout flow; MCPBundles does not send conversion events on your behalf or store those secrets for you by default.

Does this replace Spotify Ads Manager?

No — it complements Ads Manager for teams who already work in Claude, Cursor, or ChatGPT and want Spotify campaign questions answered in the same conversation as the rest of their marketing work.

How do I connect Spotify Ads to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/spotify-ads. Authentication is handled automatically.

How many tools does Spotify Ads provide?

Spotify Ads provides 80 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Spotify Ads require?

Spotify Ads uses One-click sign in. Spotify Ads requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Spotify Ads to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/spotify-ads

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Spotify Ads and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Spotify Ads will appear under Not connected — select it and click Connect to complete OAuth.
Name: Spotify Ads
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/spotify-ads
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Spotify Ads?

Sign in to connect your credentials and start running tools from the chat.

Spotify Ads MCP Server — Audio & Podcast Campaigns with AI