Pinterest

Automate Product Pins with the Pinterest API

How to automate publishing product Pins to Pinterest via API.

Quick answer

Automate product Pins by making one POST /api/posts call per product — the product image as media, name and price in the body, a board_id under post.options.pinterest, and the product SKU as the Idempotency-Key so a re-run never duplicates a Pin. Pace the sync against Pinterest's 100-requests-per-minute write limit with a queue instead of bursting the whole catalog.

Turning a product catalog into Pinterest Pins is a batching and pacing problem more than a publishing one — the create-a-Pin request itself is the same one used for a single manual post. This page covers the parts specific to running it against many products: per-item requests, board strategy, and staying inside Pinterest’s write limits at catalog scale. PostGate’s publishing API is separate from Pinterest’s own Catalogs feature — this is about creating individual product Pins on demand, not syncing a product feed into Pinterest’s shopping catalog.

01

How do you create each product Pin?

Each product becomes its own POST /api/posts call: product image or video as media, product name and price in the body, and a stable per-product Idempotency-Key — the product’s SKU or ID is a natural choice, so re-running a sync job never creates a duplicate Pin for the same item.
Create a product PinPostGate API
curl -X POST https://postgate.studio/api/posts \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: product-sku-4821" \
  -d '{
    "post": {
      "body": "Canvas Tote — $38",
      "options": { "pinterest": { "board_id": "1099...", "title": "Canvas Tote" } }
    },
    "profiles": ["pro_pinterest123"],
    "media": ["https://cdn.example.com/products/canvas-tote.jpg"]
  }'
02

How should you route products to boards?

Read the account’s boards with the boards endpoint and map product categories to board IDs once, then reuse that map for every sync run. A single “All Products” board works technically, but Pinterest’s own discovery favors boards with a clear, narrow topic — a per-category structure keeps each board’s Pins competing in a relevant feed instead of a mixed one.
03

How do you pace the sync against the write limit?

Pin creation is throttled at 100 requests per minute per connected account on Standard access — a catalog of a few thousand SKUs syncing in one shot will hit that ceiling. Use scheduling or a queue to spread a large catalog sync over hours instead of minutes, and treat each product’s Idempotency-Key as the mechanism that makes a resumed or retried batch safe. See Pinterest API Rate Limit for the full breakdown.
04

What happens when a price or stock changes?

Pinterest has no edit-in-place for a published Pin’s image or core content through this API — if the product price in the Pin caption goes stale, the practical fix is deleting the old Pin (DELETE /api/posts/{id}) and creating a new one, not patching the existing one. Build the sync job to track which product SKU maps to which live Pin ID so a refresh knows what to remove.
05

How do you measure which Pins worked?

Pinterest Pin analytics are fetched live through PostGate, not stored as a snapshot, so save counts and outbound clicks reflect the current state whenever you pull them — useful for feeding a “re-Pin the best performers with fresh creative” loop back into the same catalog sync.

Frequently asked questions

Should all my product Pins go to one Pinterest board?

A single "All Products" board works technically, but Pinterest's own discovery favors boards with a clear, narrow topic. Read the account's boards once, map product categories to board IDs, and reuse that map for every sync run — a per-category structure keeps each board's Pins competing in a relevant feed instead of a mixed one.

Can I update a product Pin when the price changes?

No — Pinterest has no edit-in-place for a published Pin's image or core content through this API. The practical fix is deleting the old Pin with DELETE /api/posts/{id} and creating a new one. Build the sync job to track which product SKU maps to which live Pin ID so a refresh knows what to remove.

How fast can I sync a whole catalog to Pinterest?

Pin creation is throttled at 100 requests per minute per connected account on Standard access, so a catalog of a few thousand SKUs syncing in one shot will hit that ceiling. Use scheduling or a queue to spread a large sync over hours instead of minutes, with each product's Idempotency-Key making a resumed or retried batch safe.

Is this the same as Pinterest's Catalogs feature?

No. PostGate's publishing API is separate from Pinterest's own Catalogs feature — this approach creates individual product Pins on demand, it does not sync a product feed into Pinterest's shopping catalog.

How do I see which product Pins performed best?

Pinterest Pin analytics are fetched live through PostGate, not stored as a snapshot, so save counts and outbound clicks reflect the current state whenever you pull them — useful for feeding a re-Pin-the-best-performers-with-fresh-creative loop back into the same catalog sync.

Build it with PostGate

One API for every social platform your customers care about — sandboxed, documented, and ready today.

Start building Read the docs