Skip to content

Connectors · Email & messaging

Pinterest MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Pinterest and the rest of your systems. It gives your agent 263 Pinterest actions (145 reads, 95 writes and 23 that wait for a confirmation) and holds the Pinterest credential itself, so the agent never does. It paces Pinterest's limits and records every call. Connecting Pinterest needs your own Pinterest OAuth app and one admin sign-in.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "pinterest_ads.pins.list",  intent: "check which Pinterest account is connected"}# List Pins · read · 1 upstream call
  • 263actionsin one signed file
  • 145readlook, never change
  • 95writecreate and update
  • 23wait for a yesdestructive, confirmed first

Set up

Connect Pinterest in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Pinterest.

    OAuth 2.0, authorization code. You register your own OAuth app with Pinterest, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.

    Before the first sign-in, Pinterest needs an OAuth app of your own, registered in its developer portal. actionlake has no Pinterest app to lend you.

    • access_tokenAccess token from one sign-in with your own OAuth app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_idApp ID of your Pinterest developer app (developers.pinterest.com > My apps)
    • client_secretApp secret key of the same Pinterest app (My apps > the app > App secret key)
    account { op: "connections.requirements", service: "pinterest_ads" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "pinterest_ads.pins.list" }# list pins · read · 1 upstream callcheck { action: "pinterest_ads.audiences.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Pinterest at a glance

Sign-in
OAuth 2.0, authorization code. You register your own OAuth app with Pinterest, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
You provide
access_tokenrefresh_tokenclient_idclient_secret
Limits we pace to
10 calls a second, per connection
API covered
Pinterest REST API v5 (OpenAPI 5.28.0)api.pinterest.com
Built from
Pinterest's documentation, read 23 October 2026OpenAPI spec (GitHub)developers.pinterest.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
138 of 145 reads, for up to 5 minutes; a write clears what it affects
Shared entities
3, so ask can line Pinterest up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Pinterest.

263 actions in 50 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 145readlook, never change
  • 95writecreate and update
  • 23destructivewait for a confirmation
  1. Ad accounts

    14

    8 read · 5 write · 1 destructive

    List ad accounts · Get ad account · Get ad account analytics · Create ad account

  2. User account

    14

    11 read · 2 write · 1 destructive

    Get user account · List linked businesses · List followers · Follow user

  3. Ad groups

    13

    10 read · 3 write · 0 destructive

    Get ad group analytics · Get audience sizing · Create ad groups · List ad groups

  4. Business access assets

    12

    5 read · 4 write · 3 destructive

    Create a new asset group. · Get members with access to asset · Get partners with access to asset · List business assets

  5. Billing

    11

    8 read · 3 write · 0 destructive

    Get billing invoices · Redeem ad credits · Get ads credit discounts · Get billing profiles

  6. Boards

    11

    5 read · 4 write · 2 destructive

    Create board section · List board sections · List Pins on board section · Create board

  7. Ads

    10

    5 read · 4 write · 1 destructive

    Create ad preview with pin or image · Get ad analytics · Create ads · List ads

  8. Catalog product groups

    10

    5 read · 3 write · 2 destructive

    List products by product group · Create product group · Create product groups · List product groups

42 more areas · 168 actions
  • Business access relationships 9
  • Campaigns 8
  • Catalog feeds 8
  • Pins 8
  • Audience sharing 7
  • Catalog supplemental 7
  • Integrations 7
  • Business access invite 6
  • Resources 6
  • Conversion tags 5
  • Keywords 5
  • Labels 5
  • Lead forms 5
  • Product group promotions 5
  • Promotions 5
  • Audiences 4
  • Conversion deletion requests 4
  • Conversions 4
  • Customer lists 4
  • Lead ads 4
  • Trends 4
  • Bulk 3
  • Catalog items 3
  • Catalog reports 3
  • Catalogs 3
  • Customer list uploads 3
  • Customer segment 3
  • Media 3
  • Product tags 3
  • Schedules 3
  • Search 3
  • Targeting template 3
  • Advanced auction 2
  • Audience insights 2
  • Leads export 2
  • Order lines 2
  • Terms 2
  • Conversion eqs 1
  • Conversion events 1
  • Msot events 1
  • Notification 1
  • Terms of service 1

Top actions

The Pinterest API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 21 of Pinterest's 21 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
pinterest_ads.audiences.listList audiencesList audiences.readcomm.audience.list26 connectors
pinterest_ads.user_account.getGet user accountGet user account.readidentity.current_user.get307 connectors
pinterest_ads.audiences.createCreate audienceCreate audience.writecomm.audience.create24 connectors
pinterest_ads.campaigns.listList campaignsList campaigns.readcomm.campaign.list41 connectors
pinterest_ads.campaigns.createCreate campaignsCreate campaigns.writecomm.campaign.create38 connectors
pinterest_ads.pins.createCreate PinCreate Pin.writecomm.social_post.create11 connectors
pinterest_ads.pins.listList PinsList Pins.readcomm.social_post.list9 connectors
pinterest_ads.lead_forms.listList lead formsList lead forms.readcontent.form.list36 connectors
pinterest_ads.lead_forms.createCreate lead formsCreate lead forms.writecontent.form.create26 connectors
pinterest_ads.ad_accounts.listList ad accountsList ad accounts.readplatform.tenant.list70 connectors
pinterest_ads.pins.deleteDelete PinDelete Pin.destructivecomm.social_post.delete10 connectors
pinterest_ads.ad_accounts.getGet ad accountGet ad account.readplatform.tenant.get86 connectors

Try it

Prompts to paste into Claude.

Each one names the Pinterest actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List Pins in Pinterest and tell me what stands out.

    callspinterest_ads.pins.list

  2. Writewrite

    Create audience in Pinterest. Show me exactly what you will send before you save it.

    callspinterest_ads.audiences.create

Governance for Pinterest

Destructive actions wait for a yes.

23 Pinterest actions are destructive. These are all of them:

  • Delete Pinpinterest_ads.pins.delete
  • Delete boardpinterest_ads.boards.delete
  • Remove label from entitiespinterest_ads.labels.remove
  • Delete promotion by idpinterest_ads.promotions.delete
  • Delete board sectionpinterest_ads.board_sections.delete
  • Delete feedpinterest_ads.catalogs_feeds.delete
  • Cancel invites/requestspinterest_ads.business_invites.cancel
  • Terminate business membershipspinterest_ads.business_members.delete
  • Delete product tags from pinpinterest_ads.pin_product_tags.delete
  • Terminate business partnershipspinterest_ads.business_partners.delete
  • Delete lead ads subscriptionpinterest_ads.lead_subscriptions.delete
  • Delete ad preview records for one or more ad groupspinterest_ads.campaign_ad_preview.delete
  • Delete asset groups.pinterest_ads.business_asset_groups.delete
  • Delete local storespinterest_ads.catalogs_local_stores.delete
  • Delete commerce integrationpinterest_ads.integrations_commerce.delete
  • Delete product grouppinterest_ads.catalogs_product_groups.delete
  • Delete ads data for ad account in API Sandboxpinterest_ads.sandbox_ad_account_data.delete
  • Unverify websitepinterest_ads.user_account_websites.unverify
  • Delete advertiser defined eventspinterest_ads.advertiser_defined_events.delete
  • Delete member access to assetpinterest_ads.business_member_asset_access.delete
  • Delete product groupspinterest_ads.catalogs_product_groups.delete_many
  • Delete a conversion deletion requestpinterest_ads.conversion_deletion_requests.delete
  • Delete partner access to assetpinterest_ads.business_partner_asset_access.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dopinterest_ads.pins.deleteconfirm_policy: human

Delete Pin?

intent: the user asked me to delete Pin

run suspended · waiting for a named person · key pinterest-ads-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "pinterest-ads-agent",  allowed_actions: ["pinterest_ads.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "pinterest_ads.pins.delete", approver: "[email protected]" },    { match: "pinterest_ads.boards.delete", approver: "[email protected]" },    { match: "pinterest_ads.labels.remove", approver: "[email protected]" }  ]}
Illustrative. Scoped to Pinterest only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Pinterest costs on actionlake.

Every Pinterest action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Pinterest refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 263 Pinterest actions
  • 263actions pageeach page of a long list is one call
  • 138reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Pinterest action.

263 actions by area: the id your agent calls, what it does, and its effect.

Ad accounts14
  • pinterest_ads.ad_accounts.analyticsGet ad account analyticsread
  • pinterest_ads.ad_accounts.createCreate ad accountwrite
  • pinterest_ads.ad_accounts.getGet ad accountread
  • pinterest_ads.ad_accounts.listList ad accountsread
  • pinterest_ads.ad_accounts.targeting_analyticsGet targeting analytics for an ad accountread
  • pinterest_ads.conversion_product_reports.createCreate a request for a brand, category, SKU reportwrite
  • pinterest_ads.conversion_product_reports.getGet advertiser brand, category, SKU reportread
  • pinterest_ads.mmm_reports.createCreate a request for a Marketing Mix Modeling (MMM) reportwrite
  • pinterest_ads.mmm_reports.getGet advertiser Marketing Mix Modeling (MMM) report.read
  • pinterest_ads.reports.createCreate async request for an account analytics reportwrite
  • pinterest_ads.reports.getGet the account analytics report created by the async callread
  • pinterest_ads.sandbox_ad_account_data.deleteDelete ads data for ad account in API Sandboxdestructive
  • pinterest_ads.template_reports.createCreate async request for an analytics report using a templatewrite
  • pinterest_ads.templates.listList templatesread
User account14
  • pinterest_ads.user_account.analyticsGet user account analyticsread
  • pinterest_ads.user_account.getGet user accountread
  • pinterest_ads.user_account_analytics.top_pinsGet user account top pins analyticsread
  • pinterest_ads.user_account_analytics.top_video_pinsGet user account top video pins analyticsread
  • pinterest_ads.user_account_businesses.listList linked businessesread
  • pinterest_ads.user_account_followers.listList followersread
  • pinterest_ads.user_account_following.followFollow userwrite
  • pinterest_ads.user_account_following.listList followingread
  • pinterest_ads.user_account_following_boards.listList following boardsread
  • pinterest_ads.user_account_websites.listGet user websitesread
  • pinterest_ads.user_account_websites.unverifyUnverify websitedestructive
  • pinterest_ads.user_account_websites.verification_codeGet user verification code for website claimingread
  • pinterest_ads.user_account_websites.verifyVerify websitewrite
  • pinterest_ads.user_followed_interests.listList following interestsread
Ad groups13
  • pinterest_ads.ad_groups.analyticsGet ad group analyticsread
  • pinterest_ads.ad_groups.audience_sizingGet audience sizingread
  • pinterest_ads.ad_groups.createCreate ad groupswrite
  • pinterest_ads.ad_groups.getGet ad groupread
  • pinterest_ads.ad_groups.listList ad groupsread
  • pinterest_ads.ad_groups.targeting_analyticsGet targeting analytics for ad groupsread
  • pinterest_ads.ad_groups.updateUpdate ad groupswrite
  • pinterest_ads.ad_groups_dynamic_titles.csv_urlGet dynamic titles CSV download URLread
  • pinterest_ads.ad_groups_dynamic_titles.process_csvProcess dynamic titles CSVwrite
  • pinterest_ads.ad_groups_dynamic_titles.statusGet dynamic titles statusread
  • pinterest_ads.ad_groups_dynamic_titles.upload_urlGet dynamic titles upload URLread
  • pinterest_ads.bid_floors.queryGet bid floorsread
  • pinterest_ads.promotion_applied_ad_groups.listList of ad groups using promotions IDs.read
Business access assets12
  • pinterest_ads.business_asset_groups.createCreate a new asset group.write
  • pinterest_ads.business_asset_groups.deleteDelete asset groups.destructive
  • pinterest_ads.business_asset_groups.updateUpdate asset groups.write
  • pinterest_ads.business_asset_members.listGet members with access to assetread
  • pinterest_ads.business_asset_partners.listGet partners with access to assetread
  • pinterest_ads.business_assets.listList business assetsread
  • pinterest_ads.business_member_asset_access.deleteDelete member access to assetdestructive
  • pinterest_ads.business_member_asset_access.updateAssign/Update member asset permissionswrite
  • pinterest_ads.business_member_assets.listGet assets assigned to a memberread
  • pinterest_ads.business_partner_asset_access.deleteDelete partner access to assetdestructive
  • pinterest_ads.business_partner_asset_access.updateAssign/Update partner asset permissionswrite
  • pinterest_ads.business_partner_assets.listGet assets assigned to a partner or assets assigned by a partnerread
Billing11
  • pinterest_ads.ads_credit.redeemRedeem ad creditswrite
  • pinterest_ads.ads_credit_discounts.listGet ads credit discountsread
  • pinterest_ads.billing_invoices.download_urlGet download url for a billing invoiceread
  • pinterest_ads.billing_invoices.listGet billing invoicesread
  • pinterest_ads.billing_profiles.listGet billing profilesread
  • pinterest_ads.ssio_accounts.getGet Salesforce account details including bill-to information.read
  • pinterest_ads.ssio_insertion_orders.createCreate insertion order through SSIO.write
  • pinterest_ads.ssio_insertion_orders.updateEdit insertion order through SSIO.write
  • pinterest_ads.ssio_insertion_orders_status.getGet insertion order status by pin order id.read
  • pinterest_ads.ssio_insertion_orders_status.listGet insertion order status by ad account id.read
  • pinterest_ads.ssio_order_lines.listGet Salesforce order lines by ad account id.read
Boards11
  • pinterest_ads.board_sections.createCreate board sectionwrite
  • pinterest_ads.board_sections.deleteDelete board sectiondestructive
  • pinterest_ads.board_sections.listList board sectionsread
  • pinterest_ads.board_sections.list_pinsList Pins on board sectionread
  • pinterest_ads.board_sections.updateUpdate board sectionwrite
  • pinterest_ads.boards.createCreate boardwrite
  • pinterest_ads.boards.deleteDelete boarddestructive
  • pinterest_ads.boards.getGet boardread
  • pinterest_ads.boards.listList boardsread
  • pinterest_ads.boards.list_pinsList Pins on boardread
  • pinterest_ads.boards.updateUpdate boardwrite
Ads10
  • pinterest_ads.ad_previews.createCreate ad preview with pin or imagewrite
  • pinterest_ads.ads.analyticsGet ad analyticsread
  • pinterest_ads.ads.createCreate adswrite
  • pinterest_ads.ads.getGet adread
  • pinterest_ads.ads.listList adsread
  • pinterest_ads.ads.targeting_analyticsGet targeting analytics for adsread
  • pinterest_ads.ads.updateUpdate adswrite
  • pinterest_ads.campaign_ad_preview.createCreate ad preview records for one or more ad groupswrite
  • pinterest_ads.campaign_ad_preview.deleteDelete ad preview records for one or more ad groupsdestructive
  • pinterest_ads.campaign_ad_preview.getFetch ad preview records for one or more ad groupsread
Catalog product groups10
  • pinterest_ads.catalogs_product_group_pins.listList products by product groupread
  • pinterest_ads.catalogs_product_groups.createCreate product groupwrite
  • pinterest_ads.catalogs_product_groups.create_manyCreate product groupswrite
  • pinterest_ads.catalogs_product_groups.deleteDelete product groupdestructive
  • pinterest_ads.catalogs_product_groups.delete_manyDelete product groupsdestructive
  • pinterest_ads.catalogs_product_groups.getGet product groupread
  • pinterest_ads.catalogs_product_groups.listList product groupsread
  • pinterest_ads.catalogs_product_groups.product_countsGet product countsread
  • pinterest_ads.catalogs_product_groups.updateUpdate single product groupwrite
  • pinterest_ads.catalogs_products_by_filter.queryList products by filterread
Business access relationships9
  • pinterest_ads.brand_accounts.createCreate a Brand Accountwrite
  • pinterest_ads.brand_accounts.updateUpdate a Brand Accountwrite
  • pinterest_ads.business_members.deleteTerminate business membershipsdestructive
  • pinterest_ads.business_members.listGet business membersread
  • pinterest_ads.business_members.updateUpdate member's business rolewrite
  • pinterest_ads.business_partners.deleteTerminate business partnershipsdestructive
  • pinterest_ads.business_partners.listGet business partnersread
  • pinterest_ads.business_system_users.updateUpdate a system user information.write
  • pinterest_ads.businesses_employers.listList business employers for userread
Campaigns8
  • pinterest_ads.ad_pins.analyticsGet pins analyticsread
  • pinterest_ads.campaign_delivery_estimates.queryGet campaign delivery estimatesread
  • pinterest_ads.campaigns.analyticsGet campaign analyticsread
  • pinterest_ads.campaigns.createCreate campaignswrite
  • pinterest_ads.campaigns.getGet campaignread
  • pinterest_ads.campaigns.listList campaignsread
  • pinterest_ads.campaigns.targeting_analyticsGet targeting analytics for campaignsread
  • pinterest_ads.campaigns.updateUpdate campaignswrite
Catalog feeds8
  • pinterest_ads.catalogs_feed_processing_results.listList feed processing resultsread
  • pinterest_ads.catalogs_feeds.createCreate feedwrite
  • pinterest_ads.catalogs_feeds.deleteDelete feeddestructive
  • pinterest_ads.catalogs_feeds.getGet feedread
  • pinterest_ads.catalogs_feeds.ingestIngest feed itemswrite
  • pinterest_ads.catalogs_feeds.listList feedsread
  • pinterest_ads.catalogs_feeds.updateUpdate feedwrite
  • pinterest_ads.catalogs_item_issues.listList item issuesread
Pins8
  • pinterest_ads.pins.analyticsGet Pin analyticsread
  • pinterest_ads.pins.analytics_manyGet multiple Pin analyticsread
  • pinterest_ads.pins.createCreate Pinwrite
  • pinterest_ads.pins.deleteDelete Pindestructive
  • pinterest_ads.pins.getGet Pinread
  • pinterest_ads.pins.listList Pinsread
  • pinterest_ads.pins.saveSave Pinwrite
  • pinterest_ads.pins.updateUpdate Pinwrite
Audience sharing7
  • pinterest_ads.audience_sharing_ad_account_to_ad_accounts.updateUpdate audience sharing between ad accountswrite
  • pinterest_ads.audience_sharing_ad_account_to_businesses.updateUpdate audience sharing from an ad account to businesseswrite
  • pinterest_ads.audience_sharing_business_to_ad_accounts.updateUpdate audience sharing from a business to ad accountswrite
  • pinterest_ads.audience_sharing_business_to_businesses.updateUpdate audience sharing between businesseswrite
  • pinterest_ads.audiences_shared_accounts.listList accounts with access to an audience owned by an ad accountread
  • pinterest_ads.business_audiences_shared_accounts.listList accounts with access to an audience owned by a businessread
  • pinterest_ads.business_shared_audiences.listList received audiences for a businessread
Catalog supplemental7
  • pinterest_ads.catalogs_local_inventory_items.queryGet local inventory items (POST)read
  • pinterest_ads.catalogs_local_inventory_items_batch.createOperate on local inventory item batchwrite
  • pinterest_ads.catalogs_local_stores.createCreate local storeswrite
  • pinterest_ads.catalogs_local_stores.deleteDelete local storesdestructive
  • pinterest_ads.catalogs_local_stores.listList local storesread
  • pinterest_ads.catalogs_local_stores.updateUpdate local storeswrite
  • pinterest_ads.catalogs_supplemental_items_batch.getGet supplemental items batch statusread
Integrations7
  • pinterest_ads.integrations.getGet integration metadataread
  • pinterest_ads.integrations.listGet integration metadata listread
  • pinterest_ads.integrations_commerce.createCreate commerce integrationwrite
  • pinterest_ads.integrations_commerce.deleteDelete commerce integrationdestructive
  • pinterest_ads.integrations_commerce.getGet commerce integrationread
  • pinterest_ads.integrations_commerce.updateUpdate commerce integrationwrite
  • pinterest_ads.integrations_logs.createReceives batched logs from integration applications.write
Business access invite6
  • pinterest_ads.business_asset_access_requests.createCreate a request to access an existing partner's assets.write
  • pinterest_ads.business_asset_invites.createUpdate invite/request with an asset permissionwrite
  • pinterest_ads.business_invites.cancelCancel invites/requestsdestructive
  • pinterest_ads.business_invites.createCreate invites or requestswrite
  • pinterest_ads.business_invites.listGet invites/requestsread
  • pinterest_ads.business_invites.respondAccept or decline an invite/requestwrite
Resources6
  • pinterest_ads.ad_account_countries.getGet ad accounts countriesread
  • pinterest_ads.delivery_metrics.getGet available metrics' definitionsread
  • pinterest_ads.lead_form_questions.getGet lead form questionsread
  • pinterest_ads.metrics_ready_state.getGet metrics ready stateread
  • pinterest_ads.targeting_interests.getGet interest detailsread
  • pinterest_ads.targeting_options.listGet targeting optionsread
Conversion tags5
  • pinterest_ads.conversion_tags.createCreate conversion tagwrite
  • pinterest_ads.conversion_tags.getGet conversion tagread
  • pinterest_ads.conversion_tags.listList conversion tagsread
  • pinterest_ads.conversion_tags_ocpm_eligible.listGet Ocpm eligible conversion tagsread
  • pinterest_ads.conversion_tags_page_visit.listGet page visit conversion tagsread
Keywords5
  • pinterest_ads.keywords.country_metricsGet country's keyword metricsread
  • pinterest_ads.keywords.createCreate keywordswrite
  • pinterest_ads.keywords.listGet keywordsread
  • pinterest_ads.keywords.updateUpdate keywordswrite
  • pinterest_ads.trending_keywords.listList trending keywordsread
Labels5
  • pinterest_ads.labels.applyApply label to entitywrite
  • pinterest_ads.labels.createCreate labelswrite
  • pinterest_ads.labels.listList labelsread
  • pinterest_ads.labels.removeRemove label from entitiesdestructive
  • pinterest_ads.labels.updateUpdate labelswrite
Lead forms5
  • pinterest_ads.lead_form_test_data.createCreate lead form test datawrite
  • pinterest_ads.lead_forms.createCreate lead formswrite
  • pinterest_ads.lead_forms.getGet lead form by idread
  • pinterest_ads.lead_forms.listList lead formsread
  • pinterest_ads.lead_forms.updateUpdate lead formswrite
Product group promotions5
  • pinterest_ads.product_group_promotions.createCreate product group promotionswrite
  • pinterest_ads.product_group_promotions.getGet a product group promotion by idread
  • pinterest_ads.product_group_promotions.listGet product group promotionsread
  • pinterest_ads.product_group_promotions.updateUpdate product group promotionswrite
  • pinterest_ads.product_groups.analyticsGet product group analyticsread
Promotions5
  • pinterest_ads.promotions.createCreate promotionswrite
  • pinterest_ads.promotions.deleteDelete promotion by iddestructive
  • pinterest_ads.promotions.getGet promotion by idread
  • pinterest_ads.promotions.listGet promotionsread
  • pinterest_ads.promotions.updateUpdate promotionswrite
Audiences4
  • pinterest_ads.audiences.createCreate audiencewrite
  • pinterest_ads.audiences.getGet audienceread
  • pinterest_ads.audiences.listList audiencesread
  • pinterest_ads.audiences.updateUpdate audiencewrite
Conversion deletion requests4
  • pinterest_ads.conversion_deletion_requests.createCreate a conversion deletion requestwrite
  • pinterest_ads.conversion_deletion_requests.deleteDelete a conversion deletion requestdestructive
  • pinterest_ads.conversion_deletion_requests.getGet a single conversion deletion requestread
  • pinterest_ads.conversion_deletion_requests.listList conversion deletion requestsread
Conversions4
  • pinterest_ads.advertiser_defined_events.createCreate advertiser defined eventswrite
  • pinterest_ads.advertiser_defined_events.deleteDelete advertiser defined eventsdestructive
  • pinterest_ads.advertiser_defined_events.listGet advertiser defined eventsread
  • pinterest_ads.advertiser_defined_events.updateUpdate advertiser defined eventswrite
Customer lists4
  • pinterest_ads.customer_lists.createCreate customer listswrite
  • pinterest_ads.customer_lists.getGet customer listread
  • pinterest_ads.customer_lists.listGet customer listsread
  • pinterest_ads.customer_lists.updateUpdate customer listwrite
Lead ads4
  • pinterest_ads.lead_subscriptions.createCreate lead ads subscriptionwrite
  • pinterest_ads.lead_subscriptions.deleteDelete lead ads subscriptiondestructive
  • pinterest_ads.lead_subscriptions.getGet lead ads subscription by IDread
  • pinterest_ads.lead_subscriptions.listGet lead ads subscriptionsread
Trends4
  • pinterest_ads.trends_editorial_articles.listReturns editorial articles for a given regionread
  • pinterest_ads.trends_featured_topics.listGet featured topicsread
  • pinterest_ads.trends_product_categories_details.listGet product category detailsread
  • pinterest_ads.trends_product_categories_trending.listGet a list of growing Shopping Product Categoriesread
Bulk3
  • pinterest_ads.bulk_download.createGet advertiser entities in bulkwrite
  • pinterest_ads.bulk_request.getDownload advertiser entities in bulkread
  • pinterest_ads.bulk_upsert.createCreate/update ad entities in bulkwrite
Catalog items3
  • pinterest_ads.catalogs_items.queryGet catalogs items (POST)read
  • pinterest_ads.catalogs_items_batch.createOperate on item batchwrite
  • pinterest_ads.catalogs_items_batch.getGet item batch statusread
Catalog reports3
  • pinterest_ads.catalogs_reports.createBuild catalogs reportwrite
  • pinterest_ads.catalogs_reports.getGet catalogs reportread
  • pinterest_ads.catalogs_reports.statsList report statsread
Catalogs3
  • pinterest_ads.catalogs.available_filter_valuesList available filter valuesread
  • pinterest_ads.catalogs.createCreate catalogwrite
  • pinterest_ads.catalogs.listList catalogsread
Customer list uploads3
  • pinterest_ads.customer_list_uploads.createCreate customer list uploadwrite
  • pinterest_ads.customer_list_uploads.getGet customer list uploadread
  • pinterest_ads.customer_list_uploads.runRun customer list uploadwrite
Customer segment3
  • pinterest_ads.customer_segments.createCreate customer segmentswrite
  • pinterest_ads.customer_segments.listList customer segmentsread
  • pinterest_ads.customer_segments.updateUpdate customer segmentswrite
Media3
  • pinterest_ads.media.createRegister media uploadwrite
  • pinterest_ads.media.getGet media upload detailsread
  • pinterest_ads.media.listList media uploadsread
Product tags3
  • pinterest_ads.pin_product_tags.createAdd product tags to pinwrite
  • pinterest_ads.pin_product_tags.deleteDelete product tags from pindestructive
  • pinterest_ads.pin_product_tags.listGet product tags for pinread
Schedules3
  • pinterest_ads.schedules.createCreate scheduleswrite
  • pinterest_ads.schedules.listGet Schedulesread
  • pinterest_ads.schedules.updateUpdate scheduleswrite
Search3
  • pinterest_ads.search_boards.listSearch user's boardsread
  • pinterest_ads.search_partner_pins.listSearch pins by a given search termread
  • pinterest_ads.search_pins.listSearch user's Pinsread
Targeting template3
  • pinterest_ads.targeting_templates.createCreate targeting templateswrite
  • pinterest_ads.targeting_templates.listList targeting templatesread
  • pinterest_ads.targeting_templates.updateUpdate targeting templateswrite
Advanced auction2
  • pinterest_ads.advanced_auction_items.queryGet item bid options (POST)read
  • pinterest_ads.advanced_auction_items.submitOperate on item level bid optionswrite
Audience insights2
  • pinterest_ads.audience_insights.getGet audience insightsread
  • pinterest_ads.audience_insights_scope_and_type.listGet audience insights scope and typeread
Leads export2
  • pinterest_ads.leads_export.createCreate a request to export leads collected from a lead adwrite
  • pinterest_ads.leads_export.getGet the lead export from the lead export create callread
Order lines2
  • pinterest_ads.order_lines.getGet order lineread
  • pinterest_ads.order_lines.listGet order lines.read
Terms2
  • pinterest_ads.terms_related.listList related termsread
  • pinterest_ads.terms_suggested.listList suggested termsread
Conversion eqs1
  • pinterest_ads.conversion_eqs.listGet event quality score (EQS)read
Conversion events1
  • pinterest_ads.conversion_events.createSend conversionswrite
Msot events1
  • pinterest_ads.msot_events.createSend Measurement Source Of Truth (MSOT) attributed conversion eventswrite
Notification1
  • pinterest_ads.notifications.createReceive notifications from external partners.write
Terms of service1
  • pinterest_ads.terms_of_service.getGet terms of serviceread

Questions

The Pinterest MCP server, answered.

Is there a Pinterest MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 263 Pinterest actions across ad accounts, user account, ad groups and business access assets, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Pinterest.

What do I need to connect Pinterest?

Your own Pinterest OAuth app, registered with Pinterest (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Pinterest app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "pinterest_ads" } lists exactly what to paste.

Can an AI agent delete or change things in Pinterest?

Only if its key allows it, and only with an explicit confirmation. 23 Pinterest actions are destructive, including delete Pin, delete board and remove label from entities. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Pinterest API limit?

actionlake paces every call to the limits in the Pinterest service file: 10 calls a second per connection. Repeated reads are answered from cache (138 Pinterest actions can be), which never reaches Pinterest.

What does a Pinterest action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (263 Pinterest actions page). Cache hits, searches, dry runs and calls Pinterest refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Pinterest API does it cover?

The Pinterest REST API v5 (OpenAPI 5.28.0) at api.pinterest.com. It is built from Pinterest's documentation as read on 23 October 2026. 263 actions in 50 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Pinterest data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Pinterest credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Pinterest today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.