Documentation

Ship your first Pin in five minutes.

Authenticate, connect a Pinterest account, and publish — with retries and webhooks handled for you.

Base URL
https://api.pinbridge.io/v1
Authentication
Send your key in the X-API-Key header on every request.
Idempotency
Pass an idempotency_key to make publishes safe to retry.
1

Authenticate

Create an API key in your dashboard, then send it as X-API-Key on every call. Each key is scoped to one workspace.

verify.sh
# Verify your key against the rate-meter
curl https://api.pinbridge.io/v1/rate-meter \
  -H "X-API-Key: $PINBRIDGE_KEY"
2

Connect a Pinterest account

Send the user through managed OAuth. PinBridge stores and refreshes their tokens — you never handle Pinterest credentials.

oauth.sh
# Returns a Pinterest consent URL to redirect the user to
curl https://api.pinbridge.io/v1/pinterest/oauth/start \
  -H "X-API-Key: $PINBRIDGE_KEY"
3

Publish a Pin

POST a Pin and PinBridge publishes it asynchronously — with per-account rate handling and automatic retries.

cURL
curl -X POST https://api.pinbridge.io/v1/pins \
  -H "X-API-Key: $PINBRIDGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "board_id": "b_78f2a9",
    "image_url": "https://cdn.shop/img/1.jpg",
    "title": "Summer styles 2026",
    "idempotency_key": "launch-123"
  }'
Python SDK
from pinbridge import PinBridge

pb = PinBridge(api_key=PINBRIDGE_KEY)

pin = pb.pins.create(
    board_id='b_78f2a9',
    image_url='https://cdn.shop/img/1.jpg',
    title='Summer styles 2026',
)
print(pin.status)  # queued
4

Get notified with webhooks

Register a webhook once. PinBridge sends signed pin.published and pin.failed events and retries delivery with exponential backoff until you 200.

webhook payload
{
  "event": "pin.published",
  "pin_id": "pin_8fa2",
  "board_id": "b_78f2a9",
  "status": "published"
}
API reference

The endpoints you will use.

API keys
POST/v1/api-keysCreate a key
GET/v1/api-keysList keys
DEL/v1/api-keys/{id}Revoke a key
Pinterest
GET/v1/pinterest/oauth/startBegin OAuth
GET/v1/pinterest/accountsList connected accounts
GET/v1/pinterest/boardsList boards
Pins
POST/v1/pinsPublish a Pin
GET/v1/pins/{id}Retrieve a Pin
GET/v1/pinsList Pins
Schedules
POST/v1/schedulesSchedule a Pin
POST/v1/schedules/{id}/cancelCancel a schedule
GET/v1/schedulesList schedules
Webhooks & usage
POST/v1/webhooksRegister a webhook
GET/v1/webhooksList webhooks
GET/v1/rate-meterLive rate-limit status
SDKs & integrations

Call it however you build.

Python SDK

An official, typed client: pip install pinbridge

n8n nodes

Drag-and-drop PinBridge into any n8n automation — no code required.

MCP server

Let an AI agent publish Pins directly through the Model Context Protocol.

Grab a key and build.

The Playground plan is free forever — enough to wire up publishing end to end before you pay a cent.