Connect your account, then chat with AI to run tools.
Name accounts and campaigns in chat, review performance for one flight, plan paused ad sets with delivery off, and triage creative approval — after you connect with Spotify.
Try this workflow
Monday account pulse
On my connected Spotify ad account, summarize the last 7 days of campaign performance and flag anything paused that still has spend.
Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.
Browse all toolsBuilt for
Brand Marketers, Audio & Podcast Advertisers, Performance Teams, Agencies Running Spotify Alongside Other Channels
Monday account pulse
Operators start with pacing and status before editing creative.
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.
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.
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.
Find the Spotify campaign named Harbor summer podcast test on my account, then show last week's performance for that campaign.
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.
Domain knowledge for Spotify Ads — workflow patterns, data models, and gotchas for your AI agent.
Manage Spotify audio, video, and display campaigns through the Ads Partner API (api-partner.spotify.com).
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.
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.
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.
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 flights use lifetime budget, unset bid strategy, and fCPM from reserved pricing — different from auction ad sets.
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 ...
Finalize chunked upload after all chunks transferred; returns processed asset metadata.
Upload one chunk of a large asset. Split the file using max_chunk_size_mb from the start session.
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.
Create a Spotify ad. apply_safe_defaults (default true) sets delivery OFF unless the body explicitly sets delivery.
Create a new Spotify ad account under a business. Does not start campaign delivery.
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...
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.
Start an asynchronous CSV export. Prefer the one-shot async report runner to create, poll, and return a CSV preview in one call.
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...
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...
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...
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...
Create a CAPI integration record under a business (no media spend). Returns capi_connection_id.
Create a measurement dataset under a business (often ties pixel + CAPI). No media spend; used for conversion measurement on ad sets.
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.
Create a Spotify Pixel on a business for web conversion tracking. Does not spend media budget; install returned snippet on the domain.
Delete a custom or lookalike audience from the ad account. Destructive; ad sets referencing it may need updates.
Revoke a CAPI auth token (max 3 active tokens per connection).
Explain Spotify Ads access for the connected user: businesses, ad accounts, cached default_scope, selected account, and suggested next tools when setu...
Copy a campaign's ad sets and ads into a new paused campaign with delivery off on new entities.
Estimate reachable audience size for a proposed ad set configuration before creation. Response includes audience_forecast and bid_suggestion (CPM bid ...
Get recommended bid micro-amount range for a proposed ad set. Uses POST /estimates/audience and returns bid_suggestion (Spotify's separate /estimates/...
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...
Search ads by name or ID. Pass ad_set_id to narrow to creatives under one ad set.
Search ad sets by name or ID. Pass campaign_id to narrow to one campaign tree.
Search campaigns by name or ID on the scoped ad account. Use when the user names a flight without providing campaign_id.
Summarize recent Spotify Ads performance: active campaign count plus last-N-days aggregate metrics at campaign level when campaign IDs exist.
Return the selected or default Spotify ad account cached on this connection, if any.
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...
Get Spotify Ads IAB-style category ids (ADV_* ) required on ad set create. Use returned id as category on ad set create body.
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.
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...
Get aggregated Spotify Ads performance metrics for an ad account. For DAY or HOUR granularity supply report_start, report_end (UTC midnight), entity_t...
List Spotify ads that are pending approval or otherwise not approved, with delivery status.
Search or resolve Spotify artist targets for ad set artist targeting. Returns artist id, name, and image metadata.
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...
Get status and download URL for an async CSV report. status is PROCESSING until READY; report_url is populated when the export completes.
List web-event datasets eligible for custom audience creation on this ad account. Use dataset ids when building WEB_EVENT 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...
Get Spotify Ads businesses for the authenticated user. Omit business_id to list businesses; pass business_id to fetch one business record. Start here ...
Campaign summary plus aggregate metrics (recent DAY window and optional LIFETIME) without hand-building entity_ids for a raw aggregate report call.
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...
Fetch one campaign with its ad sets and ads in a single structured tree for debugging.
List active CAPI auth tokens for a connection (JWT secrets for capi.spotify.com).
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...
Get diagnostics for a measurement dataset (event receipt health, integration issues). Read-only; does not change tracking.
Get Spotify Ads podcast episode topic targets for podcast ad set targeting (podcast_episode_topic_ids).
Get Spotify Ads music genre targets for ad set genre_ids targeting. Omit filters for all genres.
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...
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...
Get language codes for ad set targets.language. Optional ad_account_id affects feature-flag behavior.
Get measurement datasets (pixel + optional CAPI) for conversion optimization. Pass business_id alone to list business datasets; business_id + dataset_...
Get mobile apps registered for app-install measurement (Kochava, AppsFlyer, Adjust, Branch). List with business_id or ad_account_id; fetch one with bu...
Get Spotify Pixel configs for a business (website conversion measurement). Use include_events for PAGE_VIEW/LEAD/PURCHASE setup; historical flags add ...
Get Spotify Ads playlist targets for ad set playlist_ids targeting. Omit filters to list all playlists.
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 ...
Retrieve fixed CPM (fCPM) pricing for reserved podcast or reserved music inventory before creating a reserved campaign and lifetime-budget ad set.
Get sensitive podcast topic targets for exclusions via ad set targets.sensitive_topic_exclusions.
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...
Create an async CSV report, poll until READY (or timeout), and return status plus optional parsed preview rows from report_url.
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...
Share a business measurement dataset with an ad account so ad sets can reference dataset_id.
Share a business mobile app with an ad account for app promotion ad sets.
Remove ad account access to a shared measurement dataset.
Revoke ad account access to a shared mobile app.
Patch a Spotify ad (name, delivery, creative references).
Patch ad account settings. Does not turn on campaign delivery.
Patch a Spotify ad set. Pass only fields to change in body. Use status PAUSED to stop delivery.
Rename a Spotify Ads asset (display name). Media upload is a separate upload step.
Patch audience name, description, or web-event rules. Customer list replacement uses upload URL tools.
Patch business metadata (name, billing). Does not affect live campaign delivery by itself.
Patch an existing Spotify Ads campaign (name, status, delivery goal group). Use status PAUSED to stop delivery; Spotify does not support hard delete v...
Patch a business CAPI integration (connection metadata or enabled flag). Requires business_id and the integration id returned when the connection was ...
Patch measurement dataset name or archive state.
Patch mobile app metadata (name, store URLs, SKAdNetwork flag).
Patch Spotify Pixel name, domain, advanced matching, or cookie settings.
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...
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...
POST audience list CSV bytes to a Spotify upload_url from audience upload URL creation.
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.
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.
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.
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.
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.
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.
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.
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.
Spotify Ads uses One-click sign in. Spotify Ads requires credentials. Connect via MCPBundles and authentication is handled automatically.
Connect Spotify Ads to any MCP client in minutes
https://mcp.mcpbundles.com/bundle/spotify-adsThe link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.
Spotify Ads and paste the MCP URL into Remote MCP server URL.Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).
More marketing integrations you might like
Reddit Ads is Reddit's advertising platform that enables businesses to create and manage advertising...
Google Search Console is a free service that helps you monitor, maintain, and troubleshoot your site...
ActiveCampaign is an email marketing, marketing automation, and customer experience automation platf...
Google Ads is Google's online advertising platform that enables businesses to create and manage adve...
Smartlead is an AI-powered email outreach and cold email automation platform designed for lead gener...
Apple Ads is a digital advertising platform allowing businesses to promote their apps within the App...