Pinterest API

Pinterest posting API: pins to any board, social media agents

Blotato's Pinterest posting API creates a pin on a board from one HTTP request, with the board lookup one call away and media handling and scheduling on our side.

You do not register a Pinterest developer app, pass Trial-to-Standard review, or record a demo video. Your agent needs a board id and a media URL, and the pin goes live.

REST
POST https://backend.blotato.com/v2/posts
Auth
blotato-api-key: YOUR_API_KEY
MCP
https://mcp.blotato.com/mcp

Updated September 2026. API access is included on every paid plan and excluded from the free trial.

What the Pinterest posting API does in Blotato

One POST to /v2/posts with targetType pinterest creates a pin. Pass a public image or video URL, a description of up to 800 characters in content.text, a title of up to 100, and the boardId. Add scheduledTime to queue it, or useNextFreeSlot to drop it into the next open calendar slot. The response is a postSubmissionId you poll until the pin reads published or failed.

Pins to any board you own

GET /social/pinterest/boards?accountId=ID returns every board with its id. That id goes in target.boardId. An agent on MCP calls blotato_list_pinterest_boards and never assembles the request by hand.

Image, video, and carousel pins

Images up to 20 MB. MP4 or MOV video from 4 seconds to 5 minutes at up to 2 GB. Carousel pins of 2 to 5 images. Off-spec video is converted when it runs under 120 seconds.

Links and alt text on every pin

target.link sets the destination URL and altText the alt text. Both are optional.

Pin analytics

GET /analytics ranks your published pins by views, reach, likes, or comments. GET /posts/:id/analytics returns the snapshot history for one pin.

The boardId is the only Pinterest field you cannot skip

Pinterest's own API needs a board for every pin, and so does Blotato's. Fetch the boards once, cache the id you post to most, and the target block needs only targetType and boardId.

POST https://backend.blotato.com/v2/posts
{
  "post": {
    "accountId": "98432",
    "content": {
      "text": "Ten Claude Code workflows for a one-person marketing team",
      "mediaUrls": ["https://cdn.example.com/pin.jpg"],
      "platform": "pinterest"
    },
    "target": {
      "targetType": "pinterest",
      "boardId": "1234567890123456789",
      "title": "Claude Code for marketing",
      "link": "https://example.com/claude-code-workflows"
    }
  }
}

Response: { "postSubmissionId": "uuid" }, a receipt. Poll GET /posts/:postSubmissionId for published or failed. Every field: help.blotato.com/api/llm. Pinterest's own reference: the Pinterest API v5 docs.

Why builders route Pinterest through Blotato instead of the v5 API

  • Nine platforms behind the same key. The same request shape posts to Instagram, TikTok, LinkedIn, X, Facebook, Threads, Bluesky, and YouTube. Swap targetType and the target fields.
  • The board lookup is one call, or none on MCP. Boards are the one Pinterest-specific prerequisite, and an agent on the MCP server lists them itself.
  • Trial access and the Standard review are not your problem. Pinterest's API v5 starts every app in Trial access, where pins are visible only to their creator, and reaching Standard takes an application and a wait. Blotato holds the integration, so you connect a Pinterest account and post.

How to post a pin through the API

  1. Connect Pinterest to Blotato. Sign in and connect the account. Blotato's guidance for a new account: warm it up manually for two to three weeks first, because accounts that start on automation too soon get shadowbanned.
  2. Generate an API key. The key comes from the API tab under Settings. Generate it knowing it starts paid Starter, because the free trial does not cover the API.
  3. List your boards. GET /social/pinterest/boards?accountId=ID. Keep the id of the board you post to.
  4. POST the pin and poll. Send the request above, then poll GET /posts/:postSubmissionId. A wrong boardId comes back as failed with Pinterest's error, never as a silent no-op.

Let the agent do the board lookup: the Pinterest tools, boards included, are on the MCP server at https://mcp.blotato.com/mcp. Setup per client is on the Pinterest MCP server page, and the walkthrough of the social media MCP server roundup shows the prompt-to-post flow. A prompt like "Pin this image to the Marketing board with a title and the blog link, and schedule two more for Thursday." calls the same endpoint this page documents.

See every plan and its limits

Pinterest posting limits and what it costs

Blotato's default cap is 10 pins per day per Pinterest account on every plan. That cap is ours, set below what Pinterest's API allows, because new pinning accounts get shadowbanned fast. Established accounts can ask for a higher limit in the in-app chat.

Pinterest limitValue through Blotato
Blotato daily cap10 pins per account per day, default on every plan
Description800 characters
Title100 characters
Alt text and link800 and 2,048 characters
Imagesup to 20 MB
VideoMP4 or MOV, 4 seconds to 5 minutes, up to 2 GB
Carousel2 to 5 images
New accounts2 to 3 weeks of manual warm-up, 100 monthly views to verify

Pinterest's own API has no per-call price. What its Trial and Standard access tiers actually require, and where the Standard review usually fails, is in the Pinterest API pricing guide.

On Pinterest, this API covers publishing, scheduling and analytics. Comments, DMs and DM automation are Instagram and Facebook only. Caps are listed at help.blotato.com/settings/social-accounts.

MCP tools that reach Pinterest

The tool names an agent calls on the MCP server for this platform, verbatim from the server's tool list. The REST endpoint behind each one is in the API reference.

  • blotato_list_accounts
  • blotato_create_post
  • blotato_get_post_status
  • blotato_list_posts
  • blotato_list_schedules
  • blotato_get_schedule
  • blotato_update_schedule
  • blotato_delete_schedule
  • blotato_create_presigned_upload_url
  • blotato_list_pinterest_boards
  • blotato_list_top_posts
  • blotato_get_post_analytics
FAQ

Pinterest posting API FAQs

01 Can an AI agent post to Pinterest through an API?
Yes. POST /v2/posts with targetType pinterest, a media URL, and a boardId creates the pin. On the MCP server the agent calls blotato_list_pinterest_boards and then blotato_create_post, so it never assembles the request by hand.
02 Do I need a Pinterest developer account to use Blotato's Pinterest API?
No. Blotato holds the Pinterest integration and its Standard access. You need a Pinterest account that Blotato can verify, which for a brand-new account means 100 monthly views first, but no developer app and no Trial-to-Standard review.
03 How many pins a day can I publish through Blotato?
10 per Pinterest account per day by default on every plan. That is a Blotato cap, not a Pinterest one, and it exists to keep fresh accounts off the spam radar. Well-established accounts can request a higher limit through in-app chat.
04 Where does the boardId come from?
GET /social/pinterest/boards?accountId=ID returns your boards with their ids. Use one as target.boardId. Every pin needs one, on this API and on Pinterest's own.

Same key, eight more platforms

Pinterest is one targetType on the same endpoint. The social media API page has the comparison table of every platform's required fields and caps.