Skip to content
Engineering Blueprint · Python & TypeScript8 min read·Updated 2026-11-15

Pinterest Scraper API Guide (2026): Extract Pins, Boards, Creators & Merchant Links Cleanly

Quick Answer (BLUF)

To extract public Pinterest pins reliably in Python or Node.js without OAuth app review or residential proxy fleets, call GET https://api.pindataapi.com/v1/pins/search?query=japandi+living+room&limit=20 with your x-api-key header, then pass data.next_cursor into ?cursor=... to paginate deep results.

Gateway p50 Latency28ms cached (<1.4s live multi-rail)
OAuth App ReviewZero Waiting · Instant pn_live_ Key60 – 600 RPM (up to 15 RPS)
Deterministic Unit Price$0.08–$0.20 / 1,000 pins

Instant API key in 3s (12,000 Free Credits + 20,000 Sandbox Streak Credits) · $1 = 10,000 Credits · $9 Indie Starter Pack available · Top up anytime via 0%-fee Multi-Chain Crypto (+5% bonus credits)

Instant Quickstart · Copy & Run in 30 Seconds

Multi-Page Cursor Pagination in Python & TypeScript

import os, requests

API_KEY = os.environ["PINDATA_API_KEY"]
cursor = None
shoppable_pins = []

for page in range(3):
    params = {"query": "stoneware lamp", "limit": 20}
    if cursor:
        params["cursor"] = cursor
    res = requests.get(
        "https://api.pindataapi.com/v1/pins/search",
        params=params,
        headers={"x-api-key": API_KEY},
        timeout=20,
    ).json()
    data = res["data"]
    shoppable_pins.extend([p for p in data["pins"] if p.get("merchant_domain")])
    cursor = data.get("next_cursor")
    if not cursor:
        break

print(f"Collected {len(shoppable_pins)} shoppable pins")
Want to inspect real live masonry cards & hex swatches before creating an account?Open Interactive Visual Masonry Studio →

Key Engineering Takeaways (TL;DR)

  • ✓Direct browser scraping against pinterest.com hits TLS JA3 fingerprinting, React Relay hash rotation, and blank CSR shells.
  • ✓PinData API normalizes all image tiers (originals + 236x thumbnails), width/height/aspect_ratio, 5-swatch palette_hex arrays, save counts, and outbound e-commerce merchant domains.
  • ✓Use data.next_cursor for deterministic multi-page cursor pagination across thousands of aesthetic pins and creator boards.
  • ✓Pass any raw pinterest.com/pin/... URL directly to /v1/pins/details — our gateway extracts the canonical Pin ID automatically.

1. Paginating Public Pins & Shop-the-Look Merchant Links

Every /v1/pins/search call returns normalized visual geometry, color DNA, and outbound e-commerce attribution.

  • Zero-CLS Masonry Geometry: Use width, height, and aspect_ratio ('2:3', '3:4', '9:16') together with dominant_color placeholders so cards paint instantaneously before high-res images load.
  • E-Commerce Outbound Intelligence: Filter is_shoppable === true and group by merchant_domain ('etsy.com', 'garmentory.com', 'hoppeshoppe.com', Shopify stores) to spot breakout D2C products early.
  • Multi-Rail Automatic Failover: Every request is backed by our PostgreSQL 16 + Redis DB 7 warm visual index plus dual-rail upstream failover so production pipelines stay green 24/7.

Multi-Page Cursor Pagination in Python & TypeScript

Fetch multiple pages of shop-the-look ceramic & home decor pins and filter for verified outbound merchant links.

curl "https://api.pindataapi.com/v1/pins/search?query=stoneware+lamp&limit=20" \
  -H "x-api-key: pn_live_your_api_key"
Test this exact endpoint right now in the Masonry Studio (3 free anonymous runs):Run 3 Free Live Queries in Studio →

2. Enriching Creator Profiles & Curated Aesthetic Boards

Combine /v1/boards/search and /v1/users/profile to map taste-makers, interior studios, and verified retail brands.

Creator boards act as human-curated taxonomy clusters: when thousands of users save an item to boards titled 'Japandi Entryway' or 'Quiet Luxury Knitwear', board titles reveal emerging consumer vocabulary months before search-engine keyword volume catches up.

Passing any @username or pinterest.com/{username} URL to GET /v1/users/profile returns follower counts, verified merchant status, dominant brand color swatches, and recent high-performing sample pins.

Interactive Studio Workbench · GET /v1/pins/search

Verify real-time latency, credit math & JSON schema

10,000 pins/day
2,000 boards/day
1,000 stays/day
HTTP Calls / Day
505
Sync JSON, 0 queues
Credit Unit
$1 = 10,000
Unified across 7 routes
Empty Result Fee
0 Credits
$0.00 for 0 matches
Estimated Monthly Pipeline Cost (30 Days)
$34.80/ mo on Business ($49.59 on Pro)
Monthly consumption: 870,000 Credits (29,000 Credits/day)
PinData API (Business $0.08/1K pins):$34.80 / mo
Cloud Scraper Actors ($2.50–$5/1K):$1050.00 / mo
Empty search / 5xx upstream fee:$0.00 (0 Credits)

Frequently Asked Questions

Can I pass a full pinterest.com/pin/... URL instead of parsing the Pin ID myself?
Yes! Both /v1/pins/details?pin_id=... and our interactive /tools/pinterest-pin-id-extractor automatically normalize full Pinterest URLs, slugged URLs (e.g., /pin/handmade-mug--424605071146337183/), and token IDs.
Does PinData API work inside Claude, Cursor, and Windsurf AI agents?
Yes. Connect directly to our hosted Streamable HTTP MCP server at https://mcp.pindataapi.com or install @pindataapi/mcp-server locally — see /mcp for one-click configuration.