Pinterest is a goldmine of visual data — 500M+ monthly active users pinning products, ideas, and trends. But their API? Barely useful for scraping. Rate-limited, requires app approval, and doesn't expose most of the data you actually want.
Here's how to scrape Pinterest effectively in 2026 — no API key needed.
Why Scrape Pinterest?
If you work in any of these areas, Pinterest data is incredibly valuable:
- E-commerce product research — Find what products people are saving and sharing. High save counts = high demand signals.
- Interior design & home decor — Aggregate inspiration boards programmatically for mood boards or client research.
- Trend tracking — Monitor what's trending in fashion, food, DIY, or any vertical before it hits mainstream.
- Competitive intelligence — See what imagery and products your competitors are promoting, what's getting engagement.
- Content marketing — Identify viral visual formats and themes in your niche.
How Pinterest Actually Works (The SSR Trick)
Pinterest serves server-side rendered HTML. When you load any Pinterest page, the full data payload is embedded right in the HTML inside a JavaScript variable called __PWS_INITIAL_PROPS__.
This means:
- No login required for public content
- No API authentication needed
- No rate-limited endpoints to worry about
- All data is right there in the initial HTML response
The trick is parsing that JavaScript object out of the HTML and extracting the structured data. It contains everything: pin URLs, image sources, save counts, pinner information, board metadata, and more.
What Can You Scrape?
1. Search Results
Search for any keyword and get back pins with:
- High-resolution image URLs
- Save/repin counts
- Pinner username and display name
- Pin descriptions and links
- Board information
2. Board Pins
Give it a board URL and extract every pin on that board — useful for monitoring competitor boards or aggregating themed collections.
3. User Profiles
Get a user's profile info plus all their boards, follower counts, and pin counts.
4. Pin Details
For a specific pin, get the full detail: save count, comments, image URL, related pins, source link, and more.
Using the Pinterest Scraper Actor on Apify
I built a Pinterest Scraper on Apify that handles all of this. It runs in the cloud, manages proxies, and returns clean JSON.
It has 4 modes — here's how each works:
Mode 1: Search
Find pins matching a keyword:
{
"mode": "search",
"query": "coffee shop aesthetic",
"maxItems": 50
}
Returns pins with image URLs, save counts, pinner info, descriptions. Great for trend research — search "minimalist desk setup" and instantly see what 50 top pins look like, who posted them, and how many saves they got.
Mode 2: Board Scraping
Extract all pins from a specific board:
{
"mode": "board",
"boardUrl": "https://www.pinterest.com/username/board-name/"
}
Perfect for monitoring competitor boards or aggregating curated collections.
Mode 3: Profile
Get user info and all their boards:
{
"mode": "profile",
"profileUrl": "https://www.pinterest.com/username/"
}
Returns follower counts, board list, pin counts — useful for influencer research.
Mode 4: Pin Detail
Get full details for a specific pin:
{
"mode": "pin",
"pinUrl": "https://www.pinterest.com/pin/123456789/"
}
Returns everything: 162 saves, full-resolution image URL, related pins, source website, comments. Great for deep-diving on specific viral content.
Python Code Example
Here's how to use it programmatically with the apify-client package:
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
# Search for trending coffee shop pins
run = client.actor("cryptosignals/pinterest-scraper").call(
run_input={
"mode": "search",
"query": "coffee shop aesthetic",
"maxItems": 50,
}
)
# Process results
for pin in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Pin: {pin.get('title', 'Untitled')}")
print(f" Saves: {pin.get('saveCount', 0)}")
print(f" Image: {pin.get('imageUrl', 'N/A')}")
print(f" Pinner: {pin.get('pinnerName', 'Unknown')}")
print()
Install the client:
pip install apify-client
Use Case: E-Commerce Trend Research
Here's a practical workflow for finding winning product imagery:
- Search trending terms in your niche — "boho home decor", "minimalist jewelry", "aesthetic phone cases"
- Sort by save count — high saves = high purchase intent signal
- Extract image URLs — see what visual styles are converting
- Monitor boards of top pinners in your category weekly
- Track trends over time — what's gaining saves fastest?
Pinterest save counts are one of the strongest demand signals available for visual products. A pin with 500+ saves in a week is telling you something about what people want to buy.
# Find high-demand products
run = client.actor("cryptosignals/pinterest-scraper").call(
run_input={
"mode": "search",
"query": "boho wall art",
"maxItems": 100,
}
)
# Filter for high-engagement pins
trending = []
for pin in client.dataset(run["defaultDatasetId"]).iterate_items():
if pin.get("saveCount", 0) > 100:
trending.append(pin)
print(f"Found {len(trending)} high-engagement pins")
for pin in sorted(trending, key=lambda x: x.get("saveCount", 0), reverse=True):
print(f" {pin.get('saveCount')} saves — {pin.get('title', 'Untitled')}")
Get Started
The Pinterest Scraper is launching this week on Apify. Try it free with Apify's trial credits, or subscribe for $4.99/month starting April 3 for unlimited runs.
No API keys to manage, no proxies to configure, no login cookies to maintain. Just send a request and get clean Pinterest data back.
Built by CryptoSignals on Apify. Questions? Open an issue on the actor page.
Top comments (0)