Pinterest Scraper | Pins, Boards and Profiles
Pricing
from $1.70 / 1,000 results
Pinterest Scraper | Pins, Boards and Profiles
Pinterest scraper to extract pins, boards, user profiles and search results. Get Pinterest data with working pin links, images in 9 sizes, videos, saves, comments and replies, engagement metrics, outbound links, creator and board info, prices and SEO metadata. No login needed, 30+ fields per pin.
Pricing
from $1.70 / 1,000 results
Rating
5.0
(2)
Developer
SilentFlow
Maintained by CommunityActor stats
15
Bookmarked
1.7K
Total users
427
Monthly active users
5 hours ago
Last modified
Categories
Features
Share
Pinterest Scraper
Turn Pinterest into structured data you can actually use. Extract pins, boards, user profiles, and search results with 30+ fields per pin, including pin links that open, 9 image resolutions, saves and comments, creator info, and shopping data. No compute costs, only pay for data you get. Proxies included.
How it works

โจ Why use this scraper?
Copying Pinterest data manually? Dealing with scrapers that return 10 fields when you need 30? Getting blocked every other run?
- ๐ธ 9 image resolutions per pin. From 170px thumbnails to full originals. No more guessing which URL gives you the size you need.
- ๐ 30+ structured fields per pin. Engagement, creator, board, SEO, shopping, video, dominant color. Other scrapers skip half of these.
- ๐ Pins, video pins, boards or profiles from one keyword list. Search several keywords in one run and pick what comes back. Paste pins, boards, board sections, profiles, idea pages or search links too. One scraper, every Pinterest content type.
- ๐ Pin links that open. Search and board results come back with the real pin ID whenever the pin has a public page, so
urlopens the pin, never an error page. - ๐ Pinterest's own keyword suggestions. Set
searchTypetokeywordsand get the phrases Pinterest autocompletes for your keyword plus the related searches it shows above the results, ranked, in any language. About 17 to 20 phrases per keyword. - ๐งฉ Related pins of any pin. Paste a pin link, turn on
includeRelatedPinsand get the pins Pinterest shows under it as "More ideas", each with the pin it came from. - ๐ฌ Filters that cost nothing. Keep only pins with a minimum number of saves, pins that link to a website, or pins that link to the stores you name. Pins left out are never charged.
- ๐ฌ Comments and replies, no login. Turn on
includeCommentsto get each pin's public comments with author, date, likes and replies. - ๐ Shopping and price data included. Enable
includeDetailsto get product prices, sale prices, and rich pin metadata. - ๐จ Dominant color and visual data. Get hex color codes, dimensions, alt text, and visual annotations for every pin.
- โก Pay only for results. No compute costs. You pay per result returned, and proxies are included in the price.
๐ฏ Use cases
| Team | What they build |
|---|---|
| E-commerce | Product trend reports from Pinterest shopping pins across categories |
| Design agencies | Visual mood boards with high-res images, color palettes, and engagement data |
| Content marketing | Top-performing pin analysis to guide content strategy on Pinterest |
| Academic research | Visual culture datasets with metadata, engagement, and creator demographics |
| SEO teams | Pinterest keyword research from the phrases Pinterest itself suggests, then the pins that rank for each |
| Affiliate and e-commerce | Every pin driving traffic to a store, with linkDomains set to the store's domain |
| Brand monitoring | Track how products and brand visuals spread across boards and repins |
๐ฅ Input parameters
Search
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | array | * | - | Keywords to search on Pinterest, one per line. Each row says which keyword found it in searchQuery |
searchType | string | No | pins | What the keyword search collects: pins, videos (video pins only), boards, profiles or keywords (the search phrases Pinterest suggests) |
startUrls | array | * | - | Pinterest URLs: pins, boards, board sections, profiles, idea pages (/ideas/...) or search pages |
* Either searchQueries or startUrls is required (or both). The older single search field still works.
Options
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
maxItems | integer | No | 100 | Maximum number of results for the whole run, shared evenly between your keywords and URLs |
includeDetails | boolean | No | false | Fetch SEO metadata, original pin source, and product prices |
includeComments | boolean | No | false | Add each pin's public comments, with author, date, likes and replies |
maxComments | integer | No | 20 | Maximum comments per pin, replies included |
includeRelatedPins | boolean | No | false | For pin URLs, also return the pins Pinterest shows under the pin as "More ideas", up to maxItems |
Filters
Filters apply to pins only. A pin left out by a filter is not charged, and the run keeps reading Pinterest until maxItems pins pass.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
minSaves | integer | No | - | Keep only pins saved at least this many times |
onlyPinsWithLink | boolean | No | false | Keep only pins that link to a website |
linkDomains | array | No | - | Keep only pins linking to these websites, one per line (etsy.com, wayfair) |
๐ Output data
Each pin returns a structured JSON object with 30+ fields:
{"type": "pin","id": "1234567890","url": "https://www.pinterest.com/pin/1234567890/","title": "Modern Minimalist Living Room","description": "Clean lines and neutral tones for a calm, modern space","richSummary": "Interior design inspiration","imageUrl": "https://i.pinimg.com/originals/ab/cd/ef/abcdef123456.jpg","imageUrls": {"original": "https://i.pinimg.com/originals/ab/cd/ef/abcdef123456.jpg","736x": "https://i.pinimg.com/736x/ab/cd/ef/abcdef123456.jpg","474x": "https://i.pinimg.com/474x/ab/cd/ef/abcdef123456.jpg","236x": "https://i.pinimg.com/236x/ab/cd/ef/abcdef123456.jpg","170x": "https://i.pinimg.com/170x/ab/cd/ef/abcdef123456.jpg","60x60": "https://i.pinimg.com/60x60/ab/cd/ef/abcdef123456.jpg","136x136": "https://i.pinimg.com/136x136/ab/cd/ef/abcdef123456.jpg","200x150": "https://i.pinimg.com/200x150/ab/cd/ef/abcdef123456.jpg","400x300": "https://i.pinimg.com/400x300/ab/cd/ef/abcdef123456.jpg"},"videoUrl": "","isVideo": false,"saves": 3420,"comments": 87,"reactions": 215,"repinCount": 1890,"viewCount": 45200,"createdAt": "Mon, 10 Mar 2025 14:22:00 +0000","commentsList": [{"id": "5319046255358305771","text": "Saving this for our living room makeover!","createdAt": "Tue, 11 Mar 2025 09:05:12 +0000","author": {"username": "homewithana","fullName": "Ana","profileUrl": "https://www.pinterest.com/homewithana/"},"likeCount": 12,"replyCount": 1,"replies": [{"id": "5354424049153918672","text": "Same, the sofa is perfect","createdAt": "Tue, 11 Mar 2025 18:40:03 +0000","author": { "username": "lucasdesigns", "profileUrl": "https://www.pinterest.com/lucasdesigns/" },"likeCount": 2,"replyCount": 0}]}],"pinner": {"username": "modernhomedesign","fullName": "Modern Home Design","followerCount": 28500,"profileUrl": "https://www.pinterest.com/modernhomedesign/","imageUrl": "https://i.pinimg.com/avatars/modernhomedesign.jpg","isVerified": true},"board": {"name": "Living Room Ideas","url": "https://www.pinterest.com/modernhomedesign/living-room-ideas/","pinCount": 412,"owner": "modernhomedesign"},"dominantColor": "#D4C5B2","width": 1920,"height": 2560,"altText": "Modern minimalist living room with neutral tones","autoAltText": "Living room with white sofa and wooden coffee table","link": "https://www.homedesignmag.com/minimalist-living-room","domain": "homedesignmag.com","richPinType": "article","category": "home_decor","hashtags": ["minimalist", "livingroom", "homedecor"],"isStoryPin": false,"isCarousel": false,"isPromoted": false,"isRepin": true,"seoTitle": "20 Minimalist Living Room Ideas for 2025","seoDescription": "Discover clean, modern living room designs with neutral palettes","priceValue": 0,"priceCurrency": "","originalPin": {"id": "9876543210","pinner": {"username": "originalcreator","fullName": "Original Creator"}}}
๐๏ธ Data fields
Core
| Field | Type | Description |
|---|---|---|
type | string | Content type: pin, board, or user |
id | string | Pinterest pin ID |
searchQuery | string | The keyword (or idea page name) that found the row |
source | string | Where the row came from: search, board, user, ideas or pin_detail |
url | string | Full Pinterest URL |
title | string | Pin title |
description | string | Pin description |
richSummary | string | Rich pin summary text |
createdAt | string | Creation date, such as Mon, 10 Mar 2025 14:22:00 +0000 |
Images
| Field | Type | Description |
|---|---|---|
imageUrl | string | Highest resolution image URL |
imageUrls | object | All available resolutions: original, 736x, 474x, 236x, 170x, 60x60, 136x136, 200x150, 400x300 |
dominantColor | string | Hex color code of the dominant color |
width | integer | Image width in pixels |
height | integer | Image height in pixels |
altText | string | Image alt text |
autoAltText | string | Pinterest auto-generated alt text |
Video
| Field | Type | Description |
|---|---|---|
videoUrl | string | Video URL if available |
isVideo | boolean | Whether the pin contains a video |
isPlayable | boolean | Whether the video is playable |
videoDuration | float | Video duration in seconds |
Engagement
| Field | Type | Description |
|---|---|---|
saves | integer | Number of saves |
comments | integer | Number of comments |
reactions | integer | Number of reactions |
repinCount | integer | Number of repins |
viewCount | integer | Number of views |
likeCount | integer | Number of likes |
shareCount | integer | Number of shares |
Comments (with includeComments)
| Field | Type | Description |
|---|---|---|
commentsList | array | Public comments: id, text, createdAt, author (username, fullName, profileUrl, imageUrl), likeCount, replyCount, replies |
Creator
| Field | Type | Description |
|---|---|---|
pinner | object | Creator info: username, fullName, followerCount, profileUrl, imageUrl, isVerified |
nativeCreator | object | Original content creator (for repins) |
board | object | Board info: name, url, pinCount, owner |
Links and source
| Field | Type | Description |
|---|---|---|
link | string | External source URL |
domain | string | Source website domain |
trackingLink | string | Click tracking URL |
canonicalUrl | string | Canonical URL |
Rich pins and shopping
| Field | Type | Description |
|---|---|---|
richPinType | string | Type: article, recipe, product, app, movie |
priceValue | float | Product price (with includeDetails) |
priceCurrency | string | Price currency code |
salePrice | float | Sale price if available |
isBuyable | boolean | Whether the product can be purchased |
shoppingInfo | object | Full shopping metadata |
productTags | array | Product tags on the pin |
SEO (with includeDetails)
| Field | Type | Description |
|---|---|---|
seoTitle | string | SEO-optimized title |
seoDescription | string | SEO meta description |
originalPin | object | Source pin info for repins |
Content type
| Field | Type | Description |
|---|---|---|
isStoryPin | boolean | Whether it is an idea pin |
storyPinData | object | Idea pin pages and metadata |
isCarousel | boolean | Whether it is a carousel pin |
carouselCount | integer | Number of carousel slides |
category | string | Pinterest category |
hashtags | array | Hashtags on the pin |
visualAnnotations | array | Topics Pinterest attaches to the pin, such as "Sage Green Living Room" (most video pins carry them) |
isPromoted | boolean | Whether the pin is a promoted ad |
isRepin | boolean | Whether the pin is a repin |
Boards (with searchType: boards)
| Field | Type | Description |
|---|---|---|
type | string | board |
id, name, url | string | Board ID, name and link |
description | string | Board description |
pinCount, sectionCount, collaboratorCount | integer | Size of the board |
isCollaborative | boolean | Whether several people pin to it |
imageUrl, pinImageUrls | string, array | Cover image and pin thumbnails |
owner | object | Owner: username, fullName, followerCount, profileUrl |
searchQuery | string | The keyword that found the board |
Related pins (with includeRelatedPins)
Related pins are regular pin rows, with every pin field, plus:
| Field | Type | Description |
|---|---|---|
source | string | related |
relatedToPinId | string | The pin whose "More ideas" listed this one |
Keyword suggestions (with searchType: keywords)
| Field | Type | Description |
|---|---|---|
type | string | keyword |
keyword | string | The phrase Pinterest suggests |
rank | integer | Its position in Pinterest's own order, within its source |
source | string | autocomplete (Pinterest's search box) or related_search (the searches shown above the results) |
searchQuery | string | Your keyword |
url | string | Pinterest's search page for the phrase |
Profiles (with searchType: profiles)
| Field | Type | Description |
|---|---|---|
type | string | user |
id, username, fullName, profileUrl | string | The account and its link |
followerCount, pinCount, boardCount | integer | Audience and activity |
imageUrl, imageUrlLarge | string | Profile picture |
isVerified, domainVerified | boolean | Verification badges |
searchQuery | string | The keyword that found the profile |
๐ Examples
Search several keywords at once
{"searchQueries": ["interior design 2026", "small kitchen ideas", "boho bedroom"],"maxItems": 150}
Find boards or creators on a topic
{"searchQueries": ["meal prep"],"searchType": "boards","maxItems": 50}
Set searchType to profiles to get the accounts that post about a topic, or to videos for video pins only (add includeDetails for their MP4 files).
Get Pinterest's keyword suggestions
{"searchQueries": ["home office", "small apartment"],"searchType": "keywords"}
Each row is one phrase, for example home office ideas, cozy home office or small home office, with its rank and its Pinterest search page.
Find the pins that drive traffic to a store
{"searchQueries": ["standing desk"],"linkDomains": ["amazon", "etsy"],"minSaves": 20,"maxItems": 100}
Get the pins Pinterest shows as similar to a pin
{"startUrls": ["https://www.pinterest.com/pin/1135751599814853756/"],"includeRelatedPins": true,"maxItems": 100}
The first row is the pin itself, then up to 99 related pins, each with relatedToPinId.
Scrape an idea page or a board section
{"startUrls": ["https://www.pinterest.com/ideas/beauty/935541271955/","https://www.pinterest.com/maryloueobrecht/recipes/cocktails/"],"maxItems": 100}
Extract all pins from a board
{"startUrls": ["https://www.pinterest.com/pinterest/official-news/"],"maxItems": 200}
Get a user profile with their pins
{"startUrls": ["https://www.pinterest.com/pinterest/"],"maxItems": 50}
Collect comments on trending recipe pins
{"searchQueries": ["easy dinner recipes"],"maxItems": 50,"includeComments": true,"maxComments": 30}
Pull shopping data from fashion pins
{"searchQueries": ["summer dresses"],"maxItems": 100,"includeDetails": true}
๐ป Integrations
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("silentflow/pinterest-scraper-ppr").call(run_input={"searchQueries": ["home decor"],"maxItems": 100,"includeDetails": True})for pin in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{pin['title']}: {pin['imageUrl']}")print(f" Saves: {pin['saves']}, Color: {pin['dominantColor']}")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('silentflow/pinterest-scraper-ppr').call({searchQueries: ['fashion trends'],maxItems: 100,includeDetails: true});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(pin => {console.log(`${pin.title}: ${pin.imageUrl}`);console.log(` Saves: ${pin.saves}, Color: ${pin.dominantColor}`);});
๐ Performance
| Metric | Value |
|---|---|
| Speed | ~50-100 pins per minute |
| Fields per pin | 30+ |
| Image resolutions | 9 per pin |
| Proxies | Included |
๐ก Tips for best results
- Start with 10 items to test. Verify the output format matches your needs before running large jobs.
- Use board URLs for targeted data. Boards return focused, curated pins. Search results are broader but noisier.
- Enable includeDetails only when needed. It adds SEO metadata and prices but requires an extra request per pin.
- Combine keywords and URLs. Give
searchQueriesandstartUrlsin the same run:maxItemsis shared evenly between them, so no source crowds out the others. - Use maxItems to control costs. Set it to the exact number you need. No point scraping 1,000 pins if you need 50.
โ FAQ
Can I scrape private boards? No. Only publicly visible Pinterest content is accessible.
Are videos included?
Yes. Video pins include videoUrl, videoDuration, and isPlayable fields. Set searchType to videos to keep video pins only, and turn on includeDetails to get the MP4 file in videoUrl instead of the stream.
What are idea pins?
Idea pins (formerly story pins) are multi-page pins. The scraper returns them with isStoryPin: true and the full storyPinData object.
What does includeDetails add? SEO title and description, the original pin source for repins, and product price and shopping data. These fields require an extra request per pin.
Can I get the comments of a pin?
Yes. Turn on includeComments and each pin row carries its public comments in commentsList, with author, date, likes and replies. No Pinterest account needed. Use maxComments to cap how many you get per pin.
Why is url empty on some search results?
Pinterest shows some pins in search without their public pin ID: Pinterest Preview pins it builds from a website article, and some older pins. When the real pin cannot be found, url stays empty instead of pointing to a Pinterest error page. Every other field is filled, and the article link is in link.
How do I get Pinterest keyword ideas?
Set searchType to keywords. For each keyword you get the phrases Pinterest autocompletes in its search box, then the related searches it shows above the results, each ranked. Any language works, including Japanese, Korean or Arabic keywords.
Are pins left out by my filters charged?
No. Only rows that land in your dataset are charged. With a filter on, the run keeps reading Pinterest until maxItems pins pass or Pinterest has no more pins to show, and the run's status message says how many pins your filters left out.
Do related pins have saves?
Most do. A related pin whose public pin page Pinterest keeps hidden comes back with every other field, an empty url and saves at 0, so minSaves leaves it out.
How many image resolutions do I get? Nine: original, 736x, 474x, 236x, 170x, 60x60, 136x136, 200x150, and 400x300.
What URL formats are supported?
Pins (/pin/123/ and /pin/title--123/), boards (/user/board-name/), board sections (/user/board-name/section/), user profiles (/username/), idea pages (/ideas/beauty/935541271955/) and search pages on any tab (/search/pins/?q=keyword, /search/videos/, /search/boards/, /search/users/).
What does an idea page return?
The pins Pinterest lists for the idea's topic, with every field. Each row has source: "ideas" and the idea's name in searchQuery.
๐ฌ Support
Need something this scraper doesn't do yet? We ship features fast.
- Feature requests go straight to our backlog
- Enterprise needs? We do custom integrations
Response time: usually under 24 hours.
Check out our other scrapers: SilentFlow on Apify