Pinterest API Guide
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.
Supported Content Types
| 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.
Platform-Specific Settings
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 | — | Pin description. Used for search discovery on Pinterest. Include relevant keywords naturally. |
settings.title | string | — | Pin title displayed above the image. Max 100 characters. |
settings.link | string | — | Destination URL. When users click the Pin, they are directed to this URL. |
settings.boardId | string | — | The Pinterest board to pin to. If omitted, the Pin is saved to your profile's default board. |
settings.altText | string | — | Accessibility description for the pin image. Max 500 characters. Improves screen-reader access and is used by Pinterest for visual search indexing. |
Example: Create a Post
Schedule a Pin with a Destination Link
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"
}
}
}
}'
Requirements & Limits
| 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 |
Tips
- 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 — 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.
Frequently Asked Questions
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 is saved to your profile's default board. You can find board IDs by listing your connected Pinterest account's boards via the API.
Does Pinterest support video Pins via the API?
Currently, the PostEverywhere API supports image Pins only for Pinterest. Upload an image (JPEG, PNG, or WebP, up to 20 MB) using the Upload Media endpoint. For best results, use vertical 2:3 images (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. Max 500 characters; we truncate above that. 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.
Related Platforms
- 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