Pinterest Scraper — Pins, Boards & Profiles
Pricing
from $1.99 / 1,000 pins
Pinterest Scraper — Pins, Boards & Profiles
Scrape public Pinterest pins from keyword search, board URLs, or profile URLs. Export title, image, outbound link, domain, price, saves, and creator. No login.
Pricing
from $1.99 / 1,000 pins
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pinterest Scraper
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Pinterest, Inc. or its affiliates. Data is read from publicly accessible search, board, profile, and pin pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Scrape public Pinterest pins from a keyword, a board URL, or a profile URL. Each row includes the pin title, image, outbound link, domain, creator, and the product price when the pin is a product pin. Built for content research, ecommerce creative checks, and catalog lookups. Export the dataset as JSON, CSV, or Excel.
When to use
- Pull pins for a product keyword such as a material, room, or SKU style.
- Walk a public board and keep title, image, and the outbound shop link.
- Read the latest public pins from a creator profile.
- Open one pin URL and keep the save count from the pin detail.
Skip this Actor for private boards, comments, follower graphs, and video file downloads.
Key features
- Keyword search, board URLs, profile URLs, and single pin URLs in one run.
- Title, description, image, dominant color, outbound link, and domain.
- Creator username, board name, and created-at timestamp when Pinterest sends them.
- Product name, price, currency, and stock flag on product pins.
- Save count on pin-detail rows, and when a feed includes aggregated stats.
- HTTP only, 256 MB. Leave proxy off unless a run is blocked.
Input
| Field | Required | Description |
|---|---|---|
searchQueries | No | Keywords. One search per line. |
startUrls | No | Public pin, board, or profile URLs. |
maxItems | No | Stop after this many unique pins. Default 50. Maximum 1000. |
proxyConfiguration | No | Off by default. |
{"searchQueries": ["ceramic mug"],"startUrls": [{ "url": "https://www.pinterest.com/pinterest/christmas-sweaters-and-how-to-style-them/" }],"maxItems": 50}
A profile URL is one path segment and returns that account's public pins. A board URL has two path segments. A pin URL contains /pin/{id}/.
Output
| Field | Description |
|---|---|
pinId, url | Pin id and public pin URL |
title, description | Pin copy |
imageUrl, dominantColor | Image and hex color |
link, domain | Outbound URL and its domain |
saveCount, commentCount | Engagement when the response includes it |
pinnerUsername, pinnerFullName | Creator |
boardName, boardUrl | Board |
price, currency, inStock, productName | Product pin fields |
isPromoted | Promoted placement |
source, query | search, board, profile, or pin, plus the input that produced the row |
createdAt, scrapedAt | Pin time and scrape time |
{"source": "search","query": "ceramic mug","pinId": "717339046939925313","url": "https://www.pinterest.com/pin/717339046939925313/","title": "Espresso cups","domain": "sezane.com","price": 55,"currency": "EUR","pinnerUsername": "paulinahurtz","imageUrl": "https://i.pinimg.com/originals/aa.jpg"}
Search and board feeds often omit save counts. Pass a pin URL when you need the detail save count.
Use cases
- A home brand collects pins for a material keyword and keeps the shop domain on each card.
- A marketplace seller opens a competitor board and lists outbound product links.
- A content calendar reads a creator profile and stores titles plus images.
- An analyst opens specific pin URLs and keeps save counts for those pins only.
Integration examples
Node.js
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor("crawloop/pinterest-scraper").call({searchQueries: ["ceramic mug"],maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_APIFY_TOKEN")run = client.actor("crawloop/pinterest-scraper").call(run_input={"searchQueries": ["ceramic mug"],"maxItems": 20,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL
curl "https://api.apify.com/v2/acts/crawloop~pinterest-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d "{\"searchQueries\":[\"ceramic mug\"],\"maxItems\":20}"
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store name.
Example prompts:
- "Run Pinterest Scraper for the query ceramic mug and return the top 20 pins as JSON."
- "Scrape the public Pinterest profile pinterest and list pin titles, domains, and image URLs."
- "Open these Pinterest pin URLs and return title, save count, and outbound link."
FAQ
Does this Actor log in? No. It reads public search, public boards, public profiles, and public pins.
Why is save count empty on a search row? Search cards often leave saves off the feed. Use a pin URL to request the detail record, which includes the save count when Pinterest sends it.
Can I turn proxy on? Yes. The default run does not use a proxy. Enable Apify Proxy on a retry only if a run is blocked.