Works with all AI agents

Connect your AI agent

Choose your assistant and connect in seconds.

Add to Claude

Works on every Claude plan, including free. Full Claude guide

  1. 1

    Add to Claude

    One click from Claude’s connector directory.

  2. 2

    Sign up or sign in

    Takes seconds, then you’re sent straight back.

  3. 3

    Ask Claude

    “Plan and schedule my posts for next week.”

PostEverywhere Pinterest API Guide

PostEverywhere API reference for Pinterest: board selection, titles, descriptions, destination links and request examples for Pins.

Create and schedule Pins to Pinterest boards. PostEverywhere handles pin creation, image uploads, and board targeting so you can publish visual content alongside your other social platforms in a single API call. For a general overview of all supported platforms, see the Introduction.

Connect your Pinterest account to PostEverywhere

Connect Pinterest from the dashboard with OAuth, or headlessly from code: mint a connect link and hand it to the account owner - no dashboard session needed. Both flows are covered in Connecting Accounts.

What you can post to Pinterest

Content Type Media Required Description
Image Pin Image Standard Pin with an image, title, description, and optional destination link.

Pinterest is an image-first platform. Every Pin requires at least one image attachment.

Pinterest-specific options in the API

Use the platform_content.pinterest object to customise your Pin:

{
  "platform_content": {
    "pinterest": {
      "content": "Pin description with keywords",
      "settings": {
        "title": "Pin Title",
        "link": "https://example.com/page",
        "boardId": "board-id-from-your-account"
      }
    }
  }
}

Settings Reference

Setting Type Default Description
content string N/A Pin description. Used for search discovery on Pinterest. Include relevant keywords naturally.
settings.title string N/A Pin title displayed above the image. Max 100 characters.
settings.link string N/A Destination URL. When users click the Pin, they are directed to this URL.
settings.boardId string N/A The Pinterest board to pin to. If omitted, the Pin goes to the board saved as this account's default in PostEverywhere; if none is set yet, PostEverywhere creates a public board named "PostEverywhere" and uses it.
settings.altText string N/A Accessibility description for the pin image. Max 500 characters. Improves screen-reader access and is used by Pinterest for visual search indexing.

Publish to Pinterest: a working request

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
  -H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Default text for other platforms",
    "account_ids": [2300],
    "media_ids": ["f2a3b4c5-d6e7-8901-2345-f01234567890"],
    "scheduled_for": "2026-04-16T09:00:00Z",
    "timezone": "America/New_York",
    "platform_content": {
      "pinterest": {
        "content": "10 social media scheduling tips for small businesses. Save this for later and visit our blog for the full guide.",
        "settings": {
          "title": "10 Social Media Scheduling Tips for 2026",
          "link": "https://example.com/blog/scheduling-tips"
        }
      }
    }
  }'

Schedule a Pin to a Specific Board

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
  -H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "New recipe posted!",
    "account_ids": [2300],
    "media_ids": ["a3b4c5d6-e7f8-9012-3456-012345678901"],
    "scheduled_for": "2026-04-16T11:00:00Z",
    "timezone": "America/Los_Angeles",
    "platform_content": {
      "pinterest": {
        "content": "Easy 30-minute weeknight dinner recipe. Creamy garlic pasta with roasted vegetables. Perfect for busy families. Full recipe on the blog.",
        "settings": {
          "title": "30-Minute Creamy Garlic Pasta",
          "link": "https://example.com/recipes/garlic-pasta",
          "boardId": "your-recipes-board-id"
        }
      }
    }
  }'

Cross-Post to Pinterest and Instagram

curl -X POST https://app.posteverywhere.ai/api/v1/posts \
  -H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "New product just dropped!",
    "account_ids": [2280, 2300],
    "media_ids": ["b4c5d6e7-f8a9-0123-4567-123456789012"],
    "scheduled_for": "2026-04-17T10:00:00Z",
    "timezone": "UTC",
    "platform_content": {
      "instagram": {
        "content": "NEW: Our spring collection just dropped! Link in bio 🛍\n\n#newcollection #spring2026 #fashion",
        "settings": {
          "firstComment": "#style #outfitinspo #shopnow #newarrivals"
        }
      },
      "pinterest": {
        "content": "Spring 2026 collection now available. Shop the latest styles with free shipping over $50.",
        "settings": {
          "title": "Spring 2026 Collection",
          "link": "https://example.com/shop/spring-2026"
        }
      }
    }
  }'

Scheduled a Pin without a board or destination link? You do not need to delete and recreate it. Send a PATCH with only the settings you want to change. They merge into the post before it publishes.

curl -X PATCH https://app.posteverywhere.ai/api/v1/posts/{post_id} \
  -H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform_content": {
      "pinterest": {
        "settings": {
          "boardId": "your-board-id",
          "link": "https://example.com/page"
        }
      }
    }
  }'

Pinterest limits: characters, media and video

Requirement Limit
Pin description length 500 characters
Pin title length 100 characters
Image formats JPEG, PNG, WebP
Image max file size 20 MB
Recommended image ratio 2:3 (1000x1500 px)
Minimum image width 600 px
Maximum image ratio 1:2.1 (very tall images may be cropped)
Link URL Must be a valid HTTPS URL

Getting better results on Pinterest

  • Use 2:3 vertical images (1000x1500 px). Pinterest is a vertical-scrolling platform. Taller images take up more space in the feed, which means more visibility. The ideal ratio is 2:3; wide or square images get less engagement.
  • Write keyword-rich descriptions. Pinterest functions as a visual search engine. Include relevant keywords naturally in your Pin description (not hashtags, since Pinterest uses natural language search, not hashtag discovery). Think about what someone would search for to find your content.
  • Always include a destination link. Pinterest is one of the best platforms for driving website traffic. Every Pin should link to a relevant page: a blog post, product page, or landing page. Pins without links are missed opportunities for conversion.

Common questions about posting to Pinterest

How do I pin to a specific Pinterest board?

Set settings.boardId in the platform_content.pinterest object when creating a post. If you omit boardId, the Pin goes to the account's saved default board (PostEverywhere creates a "PostEverywhere" board the first time if none exists). There is no API endpoint for listing boards yet: copy the board ID from the dashboard composer or from the board's URL on Pinterest. Already scheduled the Pin? Send the same platform_content object in a PATCH to update the post, see the example above.

Does Pinterest support video Pins via the API?

Yes. Upload a video with the Upload Media endpoint and attach it to your post. Image Pins work the same way (JPEG, PNG, or WebP, up to 20 MB). For best results, use vertical 2:3 media (1000x1500 px).

Should I use hashtags in Pinterest descriptions?

No. Unlike Instagram or TikTok, Pinterest uses natural language search rather than hashtag discovery. Write keyword-rich descriptions that read naturally. Think about what someone would type into Pinterest search to find your content, and include those phrases in your description.

Can I cross-post the same image to Pinterest and Instagram in one API call?

Yes. Include both account IDs in the account_ids array and use platform_content to customize the caption for each platform. See the cross-posting example above for a complete request that posts to both Instagram and Pinterest simultaneously.

Can I edit a Pinterest pin after it's published?

Not via the PostEverywhere API. Pinterest's v5 API allows editing pin titles, descriptions, board placement, and destination links, but we don't propagate edits to already-published pins. PATCH /v1/posts/:id only works while a post is in scheduled or draft status: once Pinterest has accepted the pin, the post becomes published and is read-only from our side. To change a live pin, edit it directly on Pinterest, or delete and recreate the pin from PostEverywhere.

How do I set alt text on a Pinterest pin?

Set settings.altText inside platform_content.pinterest. Pinterest uses alt text both for accessibility (screen readers) and for its visual search index, so descriptive alt text can help discovery. Pinterest allows up to 500 characters; PostEverywhere passes the value through unchanged, so longer alt text is rejected by Pinterest at publish time. Alt text is separate from content (the pin description) and settings.title: all three appear in different places on the pin.

Does Pinterest auto-extract a URL from my pin description?

No. Unlike Facebook and LinkedIn (which automatically build a link card from URLs in the post body), Pinterest does not auto-extract a destination URL from your description. If you want the pin to link somewhere when clicked, you must set settings.link explicitly. Without it, clicking the pin opens Pinterest's internal pin-detail view rather than redirecting to your site.

Other platforms you can publish to

  • Instagram -- visual-first platform ideal for cross-posting image content
  • Facebook -- image and link sharing for broader social reach
  • LinkedIn -- PDF carousels and image posts for professional audiences

Related: Pinterest media requirements · testing pins safely · scheduling Pinterest pins with an API · the PostEverywhere API overview