---
title: "Pinterest MCP server for AI agents - actionlake"
description: "Give Claude 263 Pinterest actions through one MCP server: ad accounts, user account. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/pinterest
updated: 2026-10-23
---

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.

[Connect Pinterest free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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
```

- 263 actions in one signed file
- 145 read look, never change
- 95 write create and update
- 23 wait for a yes destructive, 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_token` Access token from one sign-in with your own OAuth app
   - `refresh_token` Refresh token from the same sign-in; the access token is renewed from it
   - `client_id` App ID of your Pinterest developer app (developers.pinterest.com > My apps)
   - `client_secret` App 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 call
   check { 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_token` `refresh_token` `client_id` `client_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 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/pinterest/api-description/main/v5/openapi.yaml) [developers.pinterest.com](https://developers.pinterest.com/docs/getting-started/authentication-and-scopes/)

**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.

- **145** read look, never change
- **95** write create and update
- **23** destructive wait 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.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `pinterest_ads.audiences.list` List audiences | List audiences. | read | `comm.audience.list` 26 connectors |
| `pinterest_ads.user_account.get` Get user account | Get user account. | read | `identity.current_user.get` 307 connectors |
| `pinterest_ads.audiences.create` Create audience | Create audience. | write | `comm.audience.create` 24 connectors |
| `pinterest_ads.campaigns.list` List campaigns | List campaigns. | read | `comm.campaign.list` 41 connectors |
| `pinterest_ads.campaigns.create` Create campaigns | Create campaigns. | write | `comm.campaign.create` 38 connectors |
| `pinterest_ads.pins.create` Create Pin | Create Pin. | write | `comm.social_post.create` 11 connectors |
| `pinterest_ads.pins.list` List Pins | List Pins. | read | `comm.social_post.list` 9 connectors |
| `pinterest_ads.lead_forms.list` List lead forms | List lead forms. | read | `content.form.list` 36 connectors |
| `pinterest_ads.lead_forms.create` Create lead forms | Create lead forms. | write | `content.form.create` 26 connectors |
| `pinterest_ads.ad_accounts.list` List ad accounts | List ad accounts. | read | `platform.tenant.list` 70 connectors |
| `pinterest_ads.pins.delete` Delete Pin | Delete Pin. | destructive | `comm.social_post.delete` 10 connectors |
| `pinterest_ads.ad_accounts.get` Get ad account | Get ad account. | read | `platform.tenant.get` 86 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. Read read
   List Pins in Pinterest and tell me what stands out.
   calls `pinterest_ads.pins.list`
2. Write write
   Create audience in Pinterest. Show me exactly what you will send before you save it.
   calls `pinterest_ads.audiences.create`

Governance for Pinterest

## Destructive actions wait for a yes.

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

- Delete Pin `pinterest_ads.pins.delete`
- Delete board `pinterest_ads.boards.delete`
- Remove label from entities `pinterest_ads.labels.remove`
- Delete promotion by id `pinterest_ads.promotions.delete`
- Delete board section `pinterest_ads.board_sections.delete`
- Delete feed `pinterest_ads.catalogs_feeds.delete`
- Cancel invites/requests `pinterest_ads.business_invites.cancel`
- Terminate business memberships `pinterest_ads.business_members.delete`
- Delete product tags from pin `pinterest_ads.pin_product_tags.delete`
- Terminate business partnerships `pinterest_ads.business_partners.delete`
- Delete lead ads subscription `pinterest_ads.lead_subscriptions.delete`
- Delete ad preview records for one or more ad groups `pinterest_ads.campaign_ad_preview.delete`
- Delete asset groups. `pinterest_ads.business_asset_groups.delete`
- Delete local stores `pinterest_ads.catalogs_local_stores.delete`
- Delete commerce integration `pinterest_ads.integrations_commerce.delete`
- Delete product group `pinterest_ads.catalogs_product_groups.delete`
- Delete ads data for ad account in API Sandbox `pinterest_ads.sandbox_ad_account_data.delete`
- Unverify website `pinterest_ads.user_account_websites.unverify`
- Delete advertiser defined events `pinterest_ads.advertiser_defined_events.delete`
- Delete member access to asset `pinterest_ads.business_member_asset_access.delete`
- Delete product groups `pinterest_ads.catalogs_product_groups.delete_many`
- Delete a conversion deletion request `pinterest_ads.conversion_deletion_requests.delete`
- Delete partner access to asset `pinterest_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.

do pinterest_ads.pins.delete confirm_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: "lead@example.com" },
    { match: "pinterest_ads.boards.delete", approver: "lead@example.com" },
    { match: "pinterest_ads.labels.remove", approver: "lead@example.com" }
  ]
}
```

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.

- 1 upstream call per action all 263 Pinterest actions
- 263 actions page each page of a long list is one call
- 138 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Pinterest action.

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

**Ad accounts 14**

- `pinterest_ads.ad_accounts.analytics` Get ad account analytics read
- `pinterest_ads.ad_accounts.create` Create ad account write
- `pinterest_ads.ad_accounts.get` Get ad account read
- `pinterest_ads.ad_accounts.list` List ad accounts read
- `pinterest_ads.ad_accounts.targeting_analytics` Get targeting analytics for an ad account read
- `pinterest_ads.conversion_product_reports.create` Create a request for a brand, category, SKU report write
- `pinterest_ads.conversion_product_reports.get` Get advertiser brand, category, SKU report read
- `pinterest_ads.mmm_reports.create` Create a request for a Marketing Mix Modeling (MMM) report write
- `pinterest_ads.mmm_reports.get` Get advertiser Marketing Mix Modeling (MMM) report. read
- `pinterest_ads.reports.create` Create async request for an account analytics report write
- `pinterest_ads.reports.get` Get the account analytics report created by the async call read
- `pinterest_ads.sandbox_ad_account_data.delete` Delete ads data for ad account in API Sandbox destructive
- `pinterest_ads.template_reports.create` Create async request for an analytics report using a template write
- `pinterest_ads.templates.list` List templates read

**User account 14**

- `pinterest_ads.user_account.analytics` Get user account analytics read
- `pinterest_ads.user_account.get` Get user account read
- `pinterest_ads.user_account_analytics.top_pins` Get user account top pins analytics read
- `pinterest_ads.user_account_analytics.top_video_pins` Get user account top video pins analytics read
- `pinterest_ads.user_account_businesses.list` List linked businesses read
- `pinterest_ads.user_account_followers.list` List followers read
- `pinterest_ads.user_account_following.follow` Follow user write
- `pinterest_ads.user_account_following.list` List following read
- `pinterest_ads.user_account_following_boards.list` List following boards read
- `pinterest_ads.user_account_websites.list` Get user websites read
- `pinterest_ads.user_account_websites.unverify` Unverify website destructive
- `pinterest_ads.user_account_websites.verification_code` Get user verification code for website claiming read
- `pinterest_ads.user_account_websites.verify` Verify website write
- `pinterest_ads.user_followed_interests.list` List following interests read

**Ad groups 13**

- `pinterest_ads.ad_groups.analytics` Get ad group analytics read
- `pinterest_ads.ad_groups.audience_sizing` Get audience sizing read
- `pinterest_ads.ad_groups.create` Create ad groups write
- `pinterest_ads.ad_groups.get` Get ad group read
- `pinterest_ads.ad_groups.list` List ad groups read
- `pinterest_ads.ad_groups.targeting_analytics` Get targeting analytics for ad groups read
- `pinterest_ads.ad_groups.update` Update ad groups write
- `pinterest_ads.ad_groups_dynamic_titles.csv_url` Get dynamic titles CSV download URL read
- `pinterest_ads.ad_groups_dynamic_titles.process_csv` Process dynamic titles CSV write
- `pinterest_ads.ad_groups_dynamic_titles.status` Get dynamic titles status read
- `pinterest_ads.ad_groups_dynamic_titles.upload_url` Get dynamic titles upload URL read
- `pinterest_ads.bid_floors.query` Get bid floors read
- `pinterest_ads.promotion_applied_ad_groups.list` List of ad groups using promotions IDs. read

**Business access assets 12**

- `pinterest_ads.business_asset_groups.create` Create a new asset group. write
- `pinterest_ads.business_asset_groups.delete` Delete asset groups. destructive
- `pinterest_ads.business_asset_groups.update` Update asset groups. write
- `pinterest_ads.business_asset_members.list` Get members with access to asset read
- `pinterest_ads.business_asset_partners.list` Get partners with access to asset read
- `pinterest_ads.business_assets.list` List business assets read
- `pinterest_ads.business_member_asset_access.delete` Delete member access to asset destructive
- `pinterest_ads.business_member_asset_access.update` Assign/Update member asset permissions write
- `pinterest_ads.business_member_assets.list` Get assets assigned to a member read
- `pinterest_ads.business_partner_asset_access.delete` Delete partner access to asset destructive
- `pinterest_ads.business_partner_asset_access.update` Assign/Update partner asset permissions write
- `pinterest_ads.business_partner_assets.list` Get assets assigned to a partner or assets assigned by a partner read

**Billing 11**

- `pinterest_ads.ads_credit.redeem` Redeem ad credits write
- `pinterest_ads.ads_credit_discounts.list` Get ads credit discounts read
- `pinterest_ads.billing_invoices.download_url` Get download url for a billing invoice read
- `pinterest_ads.billing_invoices.list` Get billing invoices read
- `pinterest_ads.billing_profiles.list` Get billing profiles read
- `pinterest_ads.ssio_accounts.get` Get Salesforce account details including bill-to information. read
- `pinterest_ads.ssio_insertion_orders.create` Create insertion order through SSIO. write
- `pinterest_ads.ssio_insertion_orders.update` Edit insertion order through SSIO. write
- `pinterest_ads.ssio_insertion_orders_status.get` Get insertion order status by pin order id. read
- `pinterest_ads.ssio_insertion_orders_status.list` Get insertion order status by ad account id. read
- `pinterest_ads.ssio_order_lines.list` Get Salesforce order lines by ad account id. read

**Boards 11**

- `pinterest_ads.board_sections.create` Create board section write
- `pinterest_ads.board_sections.delete` Delete board section destructive
- `pinterest_ads.board_sections.list` List board sections read
- `pinterest_ads.board_sections.list_pins` List Pins on board section read
- `pinterest_ads.board_sections.update` Update board section write
- `pinterest_ads.boards.create` Create board write
- `pinterest_ads.boards.delete` Delete board destructive
- `pinterest_ads.boards.get` Get board read
- `pinterest_ads.boards.list` List boards read
- `pinterest_ads.boards.list_pins` List Pins on board read
- `pinterest_ads.boards.update` Update board write

**Ads 10**

- `pinterest_ads.ad_previews.create` Create ad preview with pin or image write
- `pinterest_ads.ads.analytics` Get ad analytics read
- `pinterest_ads.ads.create` Create ads write
- `pinterest_ads.ads.get` Get ad read
- `pinterest_ads.ads.list` List ads read
- `pinterest_ads.ads.targeting_analytics` Get targeting analytics for ads read
- `pinterest_ads.ads.update` Update ads write
- `pinterest_ads.campaign_ad_preview.create` Create ad preview records for one or more ad groups write
- `pinterest_ads.campaign_ad_preview.delete` Delete ad preview records for one or more ad groups destructive
- `pinterest_ads.campaign_ad_preview.get` Fetch ad preview records for one or more ad groups read

**Catalog product groups 10**

- `pinterest_ads.catalogs_product_group_pins.list` List products by product group read
- `pinterest_ads.catalogs_product_groups.create` Create product group write
- `pinterest_ads.catalogs_product_groups.create_many` Create product groups write
- `pinterest_ads.catalogs_product_groups.delete` Delete product group destructive
- `pinterest_ads.catalogs_product_groups.delete_many` Delete product groups destructive
- `pinterest_ads.catalogs_product_groups.get` Get product group read
- `pinterest_ads.catalogs_product_groups.list` List product groups read
- `pinterest_ads.catalogs_product_groups.product_counts` Get product counts read
- `pinterest_ads.catalogs_product_groups.update` Update single product group write
- `pinterest_ads.catalogs_products_by_filter.query` List products by filter read

**Business access relationships 9**

- `pinterest_ads.brand_accounts.create` Create a Brand Account write
- `pinterest_ads.brand_accounts.update` Update a Brand Account write
- `pinterest_ads.business_members.delete` Terminate business memberships destructive
- `pinterest_ads.business_members.list` Get business members read
- `pinterest_ads.business_members.update` Update member's business role write
- `pinterest_ads.business_partners.delete` Terminate business partnerships destructive
- `pinterest_ads.business_partners.list` Get business partners read
- `pinterest_ads.business_system_users.update` Update a system user information. write
- `pinterest_ads.businesses_employers.list` List business employers for user read

**Campaigns 8**

- `pinterest_ads.ad_pins.analytics` Get pins analytics read
- `pinterest_ads.campaign_delivery_estimates.query` Get campaign delivery estimates read
- `pinterest_ads.campaigns.analytics` Get campaign analytics read
- `pinterest_ads.campaigns.create` Create campaigns write
- `pinterest_ads.campaigns.get` Get campaign read
- `pinterest_ads.campaigns.list` List campaigns read
- `pinterest_ads.campaigns.targeting_analytics` Get targeting analytics for campaigns read
- `pinterest_ads.campaigns.update` Update campaigns write

**Catalog feeds 8**

- `pinterest_ads.catalogs_feed_processing_results.list` List feed processing results read
- `pinterest_ads.catalogs_feeds.create` Create feed write
- `pinterest_ads.catalogs_feeds.delete` Delete feed destructive
- `pinterest_ads.catalogs_feeds.get` Get feed read
- `pinterest_ads.catalogs_feeds.ingest` Ingest feed items write
- `pinterest_ads.catalogs_feeds.list` List feeds read
- `pinterest_ads.catalogs_feeds.update` Update feed write
- `pinterest_ads.catalogs_item_issues.list` List item issues read

**Pins 8**

- `pinterest_ads.pins.analytics` Get Pin analytics read
- `pinterest_ads.pins.analytics_many` Get multiple Pin analytics read
- `pinterest_ads.pins.create` Create Pin write
- `pinterest_ads.pins.delete` Delete Pin destructive
- `pinterest_ads.pins.get` Get Pin read
- `pinterest_ads.pins.list` List Pins read
- `pinterest_ads.pins.save` Save Pin write
- `pinterest_ads.pins.update` Update Pin write

**Audience sharing 7**

- `pinterest_ads.audience_sharing_ad_account_to_ad_accounts.update` Update audience sharing between ad accounts write
- `pinterest_ads.audience_sharing_ad_account_to_businesses.update` Update audience sharing from an ad account to businesses write
- `pinterest_ads.audience_sharing_business_to_ad_accounts.update` Update audience sharing from a business to ad accounts write
- `pinterest_ads.audience_sharing_business_to_businesses.update` Update audience sharing between businesses write
- `pinterest_ads.audiences_shared_accounts.list` List accounts with access to an audience owned by an ad account read
- `pinterest_ads.business_audiences_shared_accounts.list` List accounts with access to an audience owned by a business read
- `pinterest_ads.business_shared_audiences.list` List received audiences for a business read

**Catalog supplemental 7**

- `pinterest_ads.catalogs_local_inventory_items.query` Get local inventory items (POST) read
- `pinterest_ads.catalogs_local_inventory_items_batch.create` Operate on local inventory item batch write
- `pinterest_ads.catalogs_local_stores.create` Create local stores write
- `pinterest_ads.catalogs_local_stores.delete` Delete local stores destructive
- `pinterest_ads.catalogs_local_stores.list` List local stores read
- `pinterest_ads.catalogs_local_stores.update` Update local stores write
- `pinterest_ads.catalogs_supplemental_items_batch.get` Get supplemental items batch status read

**Integrations 7**

- `pinterest_ads.integrations.get` Get integration metadata read
- `pinterest_ads.integrations.list` Get integration metadata list read
- `pinterest_ads.integrations_commerce.create` Create commerce integration write
- `pinterest_ads.integrations_commerce.delete` Delete commerce integration destructive
- `pinterest_ads.integrations_commerce.get` Get commerce integration read
- `pinterest_ads.integrations_commerce.update` Update commerce integration write
- `pinterest_ads.integrations_logs.create` Receives batched logs from integration applications. write

**Business access invite 6**

- `pinterest_ads.business_asset_access_requests.create` Create a request to access an existing partner's assets. write
- `pinterest_ads.business_asset_invites.create` Update invite/request with an asset permission write
- `pinterest_ads.business_invites.cancel` Cancel invites/requests destructive
- `pinterest_ads.business_invites.create` Create invites or requests write
- `pinterest_ads.business_invites.list` Get invites/requests read
- `pinterest_ads.business_invites.respond` Accept or decline an invite/request write

**Resources 6**

- `pinterest_ads.ad_account_countries.get` Get ad accounts countries read
- `pinterest_ads.delivery_metrics.get` Get available metrics' definitions read
- `pinterest_ads.lead_form_questions.get` Get lead form questions read
- `pinterest_ads.metrics_ready_state.get` Get metrics ready state read
- `pinterest_ads.targeting_interests.get` Get interest details read
- `pinterest_ads.targeting_options.list` Get targeting options read

**Conversion tags 5**

- `pinterest_ads.conversion_tags.create` Create conversion tag write
- `pinterest_ads.conversion_tags.get` Get conversion tag read
- `pinterest_ads.conversion_tags.list` List conversion tags read
- `pinterest_ads.conversion_tags_ocpm_eligible.list` Get Ocpm eligible conversion tags read
- `pinterest_ads.conversion_tags_page_visit.list` Get page visit conversion tags read

**Keywords 5**

- `pinterest_ads.keywords.country_metrics` Get country's keyword metrics read
- `pinterest_ads.keywords.create` Create keywords write
- `pinterest_ads.keywords.list` Get keywords read
- `pinterest_ads.keywords.update` Update keywords write
- `pinterest_ads.trending_keywords.list` List trending keywords read

**Labels 5**

- `pinterest_ads.labels.apply` Apply label to entity write
- `pinterest_ads.labels.create` Create labels write
- `pinterest_ads.labels.list` List labels read
- `pinterest_ads.labels.remove` Remove label from entities destructive
- `pinterest_ads.labels.update` Update labels write

**Lead forms 5**

- `pinterest_ads.lead_form_test_data.create` Create lead form test data write
- `pinterest_ads.lead_forms.create` Create lead forms write
- `pinterest_ads.lead_forms.get` Get lead form by id read
- `pinterest_ads.lead_forms.list` List lead forms read
- `pinterest_ads.lead_forms.update` Update lead forms write

**Product group promotions 5**

- `pinterest_ads.product_group_promotions.create` Create product group promotions write
- `pinterest_ads.product_group_promotions.get` Get a product group promotion by id read
- `pinterest_ads.product_group_promotions.list` Get product group promotions read
- `pinterest_ads.product_group_promotions.update` Update product group promotions write
- `pinterest_ads.product_groups.analytics` Get product group analytics read

**Promotions 5**

- `pinterest_ads.promotions.create` Create promotions write
- `pinterest_ads.promotions.delete` Delete promotion by id destructive
- `pinterest_ads.promotions.get` Get promotion by id read
- `pinterest_ads.promotions.list` Get promotions read
- `pinterest_ads.promotions.update` Update promotions write

**Audiences 4**

- `pinterest_ads.audiences.create` Create audience write
- `pinterest_ads.audiences.get` Get audience read
- `pinterest_ads.audiences.list` List audiences read
- `pinterest_ads.audiences.update` Update audience write

**Conversion deletion requests 4**

- `pinterest_ads.conversion_deletion_requests.create` Create a conversion deletion request write
- `pinterest_ads.conversion_deletion_requests.delete` Delete a conversion deletion request destructive
- `pinterest_ads.conversion_deletion_requests.get` Get a single conversion deletion request read
- `pinterest_ads.conversion_deletion_requests.list` List conversion deletion requests read

**Conversions 4**

- `pinterest_ads.advertiser_defined_events.create` Create advertiser defined events write
- `pinterest_ads.advertiser_defined_events.delete` Delete advertiser defined events destructive
- `pinterest_ads.advertiser_defined_events.list` Get advertiser defined events read
- `pinterest_ads.advertiser_defined_events.update` Update advertiser defined events write

**Customer lists 4**

- `pinterest_ads.customer_lists.create` Create customer lists write
- `pinterest_ads.customer_lists.get` Get customer list read
- `pinterest_ads.customer_lists.list` Get customer lists read
- `pinterest_ads.customer_lists.update` Update customer list write

**Lead ads 4**

- `pinterest_ads.lead_subscriptions.create` Create lead ads subscription write
- `pinterest_ads.lead_subscriptions.delete` Delete lead ads subscription destructive
- `pinterest_ads.lead_subscriptions.get` Get lead ads subscription by ID read
- `pinterest_ads.lead_subscriptions.list` Get lead ads subscriptions read

**Trends 4**

- `pinterest_ads.trends_editorial_articles.list` Returns editorial articles for a given region read
- `pinterest_ads.trends_featured_topics.list` Get featured topics read
- `pinterest_ads.trends_product_categories_details.list` Get product category details read
- `pinterest_ads.trends_product_categories_trending.list` Get a list of growing Shopping Product Categories read

**Bulk 3**

- `pinterest_ads.bulk_download.create` Get advertiser entities in bulk write
- `pinterest_ads.bulk_request.get` Download advertiser entities in bulk read
- `pinterest_ads.bulk_upsert.create` Create/update ad entities in bulk write

**Catalog items 3**

- `pinterest_ads.catalogs_items.query` Get catalogs items (POST) read
- `pinterest_ads.catalogs_items_batch.create` Operate on item batch write
- `pinterest_ads.catalogs_items_batch.get` Get item batch status read

**Catalog reports 3**

- `pinterest_ads.catalogs_reports.create` Build catalogs report write
- `pinterest_ads.catalogs_reports.get` Get catalogs report read
- `pinterest_ads.catalogs_reports.stats` List report stats read

**Catalogs 3**

- `pinterest_ads.catalogs.available_filter_values` List available filter values read
- `pinterest_ads.catalogs.create` Create catalog write
- `pinterest_ads.catalogs.list` List catalogs read

**Customer list uploads 3**

- `pinterest_ads.customer_list_uploads.create` Create customer list upload write
- `pinterest_ads.customer_list_uploads.get` Get customer list upload read
- `pinterest_ads.customer_list_uploads.run` Run customer list upload write

**Customer segment 3**

- `pinterest_ads.customer_segments.create` Create customer segments write
- `pinterest_ads.customer_segments.list` List customer segments read
- `pinterest_ads.customer_segments.update` Update customer segments write

**Media 3**

- `pinterest_ads.media.create` Register media upload write
- `pinterest_ads.media.get` Get media upload details read
- `pinterest_ads.media.list` List media uploads read

**Product tags 3**

- `pinterest_ads.pin_product_tags.create` Add product tags to pin write
- `pinterest_ads.pin_product_tags.delete` Delete product tags from pin destructive
- `pinterest_ads.pin_product_tags.list` Get product tags for pin read

**Schedules 3**

- `pinterest_ads.schedules.create` Create schedules write
- `pinterest_ads.schedules.list` Get Schedules read
- `pinterest_ads.schedules.update` Update schedules write

**Search 3**

- `pinterest_ads.search_boards.list` Search user's boards read
- `pinterest_ads.search_partner_pins.list` Search pins by a given search term read
- `pinterest_ads.search_pins.list` Search user's Pins read

**Targeting template 3**

- `pinterest_ads.targeting_templates.create` Create targeting templates write
- `pinterest_ads.targeting_templates.list` List targeting templates read
- `pinterest_ads.targeting_templates.update` Update targeting templates write

**Advanced auction 2**

- `pinterest_ads.advanced_auction_items.query` Get item bid options (POST) read
- `pinterest_ads.advanced_auction_items.submit` Operate on item level bid options write

**Audience insights 2**

- `pinterest_ads.audience_insights.get` Get audience insights read
- `pinterest_ads.audience_insights_scope_and_type.list` Get audience insights scope and type read

**Leads export 2**

- `pinterest_ads.leads_export.create` Create a request to export leads collected from a lead ad write
- `pinterest_ads.leads_export.get` Get the lead export from the lead export create call read

**Order lines 2**

- `pinterest_ads.order_lines.get` Get order line read
- `pinterest_ads.order_lines.list` Get order lines. read

**Terms 2**

- `pinterest_ads.terms_related.list` List related terms read
- `pinterest_ads.terms_suggested.list` List suggested terms read

**Conversion eqs 1**

- `pinterest_ads.conversion_eqs.list` Get event quality score (EQS) read

**Conversion events 1**

- `pinterest_ads.conversion_events.create` Send conversions write

**Msot events 1**

- `pinterest_ads.msot_events.create` Send Measurement Source Of Truth (MSOT) attributed conversion events write

**Notification 1**

- `pinterest_ads.notifications.create` Receive notifications from external partners. write

**Terms of service 1**

- `pinterest_ads.terms_of_service.get` Get terms of service read

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.

## More connectors like Pinterest

Shares the most action names with

- [Snapchat Marketing API 15](https://actionlake.com/connectors/snapchat-marketing-api)
- [Meta Marketing API 13](https://actionlake.com/connectors/meta-marketing-api)
- [TikTok API for Business (Ads) 8](https://actionlake.com/connectors/tiktok-api-for-business-ads)
- [Dotdigital 8](https://actionlake.com/connectors/dotdigital)
- [Omnisend 8](https://actionlake.com/connectors/omnisend)
- [Amazon Ads API 6](https://actionlake.com/connectors/amazon-ads-api)

Joins with, on shared entities

- [Cloudflare 2](https://actionlake.com/connectors/cloudflare)
- [Docebo 2](https://actionlake.com/connectors/docebo)
- [Make 2](https://actionlake.com/connectors/make)
- [Laravel Forge 2](https://actionlake.com/connectors/laravel-forge)
- [PlanetScale 2](https://actionlake.com/connectors/planetscale)
- [Render 2](https://actionlake.com/connectors/render)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Pinterest; the name is the vendor's own. Counts are from the Pinterest service file, version 1.0.0.

## Give your agent Pinterest today.

[Connect Pinterest free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

---

Source: https://actionlake.com/connectors/pinterest
More: https://actionlake.com/llms.txt
