Pinterest BulkPublish

Pinterest API

Publish, schedule and manage Pinterest from your own code. One REST API and one key cover Pinterest and every other network you connect, so you write the integration once.

Pinterest integration for BulkPublish

What the Pinterest API covers

Everything below is part of the published API and works with Pinterest today.

CapabilityEndpoint
Create, schedule, update and publish posts POST /api/posts
Upload images and video POST /api/media
Find the next free slot in your queue GET /api/posts/queue-slot
Create repeating schedules POST /api/schedules
Publish new items from an RSS feed POST /api/rss-feeds
Look up Pinterest boards for a channel GET /api/channels/{id}/options
Read per-post metrics GET /api/posts/{id}/metrics
Check that the connection is healthy GET /api/channels/{id}/health
Check your plan usage GET /api/quotas/usage

Post types you can publish to Pinterest

Choose the type with postTypeOverrides. A type Pinterest does not offer is rejected before anything is queued.

Post typeMedia
pin Pin Required: 1 image
video_pin Video Pin Required: 1 video
carousel Carousel Required: 2 to 5 images

Schedule Pinterest posts with curl

Three requests: find your channel, upload the file if the post has one, then create the post. Replace the key with one from Settings, then API keys, and 12 with your own channel id.

1. List your channels and note the id of your Pinterest account.

curl https://app.bulkpublish.com/api/channels \
  -H "Authorization: Bearer bp_your_key_here"

2. Upload the file. The response gives you the media id used as mediaFiles below.

curl -X POST https://app.bulkpublish.com/api/media \
  -H "Authorization: Bearer bp_your_key_here" \
  -F "file=@photo.jpg"

3. Create the post.

curl -X POST https://app.bulkpublish.com/api/posts \
  -H "Authorization: Bearer bp_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "A 20 minute pasta for busy evenings",
  "channels": [{ "channelId": 12 }],
  "status": "scheduled",
  "scheduledAt": "2026-12-01T09:00:00Z",
  "mediaFiles": [101],
  "platformSpecific": {
    "pinterest": {
      "12": {
        "boardId": "BOARD_ID"
      },
      "title": "Weeknight pasta",
      "link": "https://example.com/pasta"
    }
  }
}'

The response is the created post, with its id and status. Fetch it later with GET /api/posts/{id} to see how it went.

Pinterest options

Send these inside platformSpecific, under the key for Pinterest.

For Pinterest the options are keyed by your channel id, for example "12", or sent flat to apply to every Pinterest channel on the post.

OptionWhat it doesAccepts
title Title text
description Description text
link Destination link text
dominantColor Background colour of the pin text
coverImageUrl Cover image for video pins text
boardId Board to pin to text

To find the valid boards for a channel, call GET /api/channels/{id}/options.

Pinterest analytics through the API

These metrics come back for each Pinterest post on GET /api/posts/{id}/metrics, with snapshots over time.

  • Impressions
  • Clicks
  • Saves
  • Video views
  • Likes
  • Comments
  • Engagement rate

Comments and messages

BulkPublish does not read comments or messages on Pinterest, so there is nothing to list or answer here.

API access on every plan

Every plan includes API keys, the Free plan included. Here is what each one allows.

PlanAPI keysRequests per day
Free 1 30
Pro 5 5,000
Business 10 50,000

Build on Pinterest directly, or use BulkPublish

Going direct is a fair choice, especially if you need something BulkPublish does not expose. This is what Pinterest API v5 asks of you, checked against its documentation in October 2026.

  • You register a developer app with Pinterest before you can publish.
  • Access tokens last about 30 days, so you need your own way to refresh or reconnect before they lapse.

BulkPublish keeps the connection for you: it refreshes tokens, checks each post against Pinterest's rules before it is queued, and reports a failed destination on the post, so your code makes one request.

Prefer to ask an assistant?

Claude, ChatGPT and Cursor can do the same through the Pinterest MCP server, with prompts instead of code.

Prefer a calendar to code?

The same Pinterest account can be scheduled from the app, with a content calendar and bulk upload.

Frequently asked questions

Common questions about the Pinterest API.

Is there a ready-made API for Pinterest, so I do not have to build the integration myself?

Yes. BulkPublish exposes Pinterest through its REST API. Connect your Pinterest account once, then publish, schedule and manage it with a key. The same key works for every other network you connect.

What can I publish to Pinterest through the API?

The post types are Pin, Video Pin, and Carousel. Each is checked against Pinterest's media rules before anything is queued, so a request Pinterest would reject fails straight away with a clear error.

Can I schedule Pinterest posts through the API?

Yes. Send status "scheduled" with a scheduledAt time and a timezone, or ask for the next free slot in your queue first. Repeating schedules and RSS feeds are available too.

Can I read Pinterest analytics through the API?

Yes. Per-post metrics include Impressions, Clicks, Saves, Video views, Likes, Comments, and Engagement rate, with snapshots over time.

Can I read and answer Pinterest comments or messages through the API?

No. BulkPublish does not read comments or messages on Pinterest.

Does the Pinterest API cost extra?

No. API access is on every plan. Free includes 1 key and 30 requests a day, Pro 5 keys and 5,000 a day, Business 10 keys and 50,000 a day.

Do I need a Pinterest developer account or an app review?

Not to use BulkPublish. You connect your Pinterest account on the Channels page and publish with a BulkPublish key. If you build on Pinterest's own API instead, the section above lists what it asks of you.

Can an AI assistant do this too?

Yes. The Pinterest MCP server page shows how to connect Claude, ChatGPT or Cursor and what to ask for.

The same key and the same request shape work for 15 networks.

Start publishing to Pinterest from code

Create a free account, connect Pinterest and generate a key. No card needed.