Pinterest Scraper
Pricing
from $0.89 / 1,000 results
Pinterest Scraper
Scrape Pinterest pins, boards, profiles and search results. Images, engagement metrics, product data and creator profiles.
Pricing
from $0.89 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

Extract pins, boards, profiles and search results from Pinterest at scale, with the richest field set available: images at every resolution, engagement metrics, creator and board profiles, product data and outbound links. No login, no API key required.
Why this scraper?
🔍 Search every tab
Search Pinterest by keyword across pins, videos, boards or users. Paginates automatically through as many results as you set.
📌 Complete pin data
Title, description, alt text, outbound link, source domain, dominant colour, and images at five resolutions up to the original. Videos return the playable file URL.
📈 Engagement metrics
Save (repin) count, comment count, reactions and done count — the signals you need for trend research and content planning. Available when detail fetching is enabled.
👤 Creator and board profiles
Pinner username, full name, follower count, pin and board counts, verified-merchant flag and avatar. Board name, URL, pin count and owner.
🛍️ Product data
For shoppable pins: price, currency, brand, availability, product name, rating and review count.
🔗 Direct URLs
Feed pin, board, profile or search URLs directly and pull them without writing a query.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | array | [] | Keywords to search. Each entry becomes its own search. Leave empty if you use Start URLs. |
searchScope | string | "pins" | Which search tab to use for the queries: pins, videos, boards or users. |
startUrls | array | [] | Scrape specific Pinterest URLs directly. Supports pin, board, profile and search URLs. Takes priority over queries. |
maxResults | integer | 100 | Maximum number of pins to return across all queries and URLs. Set to 0 for unlimited. |
fetchDetails | boolean | false | Fetch each pin's detail page to add engagement metrics, product data and full metadata. Adds one request per pin. |
includeComments | boolean | false | Fetch top comments for each pin. Requires fetchDetails to be enabled. |
maxComments | integer | 10 | Maximum number of comments to fetch per pin when includeComments is enabled. |
proxyConfiguration | object | none | Optional. The scraper runs without a proxy by default. Enable a residential proxy only for very large runs. |
Output schema
Every field below is present on every record. Fields Pinterest does not publish for a given pin are returned as null rather than omitted.
Always present (list and search mode)
| Field | Type | Description |
|---|---|---|
id | string | Pinterest pin ID. |
url | string | Canonical pin URL. |
title | string | Pin title (falls back to the grid or SEO title). |
description | string | Pin description (null if none). |
altText | string | Auto-generated or author alt text for the image. |
link | string | Outbound destination URL of the pin (null if none). |
trackedLink | string | Pinterest click-tracking redirect for the outbound link. |
domain | string | Source domain of the outbound link. |
imageUrl | string | Original-resolution image URL. |
imageWidth | integer | Width of the original image in pixels. |
imageHeight | integer | Height of the original image in pixels. |
imageVariants | object | Map of every available image size to its URL, width and height. |
dominantColor | string | Dominant colour of the image as a hex code. |
isVideo | boolean | Whether the pin is a video pin. |
videoUrl | string | Playable video file URL (null for image pins). |
videoDurationMs | integer | Video duration in milliseconds (null for image pins). |
isPromoted | boolean | Whether the pin is a promoted (ad) pin. |
isRepin | boolean | Whether the pin is a repin of another pin. |
createdAt | string | Timestamp Pinterest reports for the pin. |
hashtags | array | Hashtags found on the pin (null if none). |
seoTitle | string | SEO title Pinterest assigns the pin. |
seoDescription | string | SEO description Pinterest assigns the pin. |
pinner | object | Creator profile — see profile fields below. |
board | object | Board the pin belongs to — id, name, url, privacy, owner. |
product | object | Product data — see product fields below. |
searchQuery | string | The query that produced this pin (null in URL mode). |
source | string | Always "pinterest.com". |
scrapedAt | string | ISO 8601 timestamp of extraction. |
contentHash | string | Stable hash of the pin's key fields for change detection. |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
repinCount | integer | Number of times the pin has been saved. |
saveCount | integer | Save count (alias of repinCount, from aggregated stats). |
likeCount | integer | Number of favourites/likes. |
commentCount | integer | Number of comments. |
shareCount | integer | Number of shares. |
reactionCounts | object | Breakdown of reaction types to their counts. |
doneCount | integer | Number of "tried it" / done marks. |
comments | array | Top comments (only with includeComments: true): id, text, commenter, createdAt, likeCount. |
Profile object (pinner, board.owner)
Inside a pin, the creator object carries identity and follower count. Full pin, board and following counts are returned when you scrape a profile directly with searchScope: "users" or a profile Start URL.
| Field | Type | Description |
|---|---|---|
id | string | User ID. |
username | string | Pinterest handle. |
fullName | string | Display name. |
followerCount | integer | Number of followers. |
isVerifiedMerchant | boolean | Whether the account is a verified merchant. |
avatarUrl | string | Profile image URL. |
Product object (product)
| Field | Type | Description |
|---|---|---|
isProduct | boolean | Whether the pin is a shoppable product pin. |
price | string | Displayed price (null if not a product). |
currency | string | Currency code. |
brand | string | Brand name. |
availability | string | Stock status. |
productName | string | Product name. |
rating | number | Average rating. |
ratingCount | integer | Number of ratings. |
Example record
{"id": "18788523442530970","url": "https://www.pinterest.com/pin/18788523442530970/","title": "Minimalist bedroom in warm neutrals","description": "Soft linen bedding and oak nightstands for a calm, minimal space.","altText": "Beige minimalist bedroom with linen bedding and oak furniture","link": "https://roveconcepts.com/bedroom","trackedLink": "https://www.pinterest.com/link/?url=https%3A%2F%2Froveconcepts.com%2Fbedroom","domain": "roveconcepts.com","imageUrl": "https://i.pinimg.com/originals/2b/3a/ac/2b3aac8b54.jpg","imageWidth": 1000,"imageHeight": 1500,"imageVariants": {"236x": { "url": "https://i.pinimg.com/236x/2b/3a/ac/2b3aac8b54.jpg", "width": 236, "height": 354 },"orig": { "url": "https://i.pinimg.com/originals/2b/3a/ac/2b3aac8b54.jpg", "width": 1000, "height": 1500 }},"dominantColor": "#cac7c0","isVideo": false,"videoUrl": null,"videoDurationMs": null,"isPromoted": false,"isRepin": false,"createdAt": "Tue, 04 Mar 2025 11:22:00 +0000","hashtags": ["minimalism", "bedroomdecor"],"seoTitle": "Minimalist bedroom in warm neutrals","seoDescription": "Soft linen bedding and oak nightstands for a calm, minimal space.","repinCount": 3418,"likeCount": 52,"commentCount": 7,"shareCount": 12,"reactionCounts": { "1": 52 },"doneCount": 3,"pinner": {"id": "509823477120983","username": "studioliv","fullName": "Studio Liv","followerCount": 24810,"isVerifiedMerchant": false,"avatarUrl": "https://i.pinimg.com/140x140/aa/bb/cc/aabbcc.jpg"},"board": {"id": "509823477000112233","name": "Bedroom inspo","url": "https://www.pinterest.com/studioliv/bedroom-inspo/","owner": { "username": "studioliv", "followerCount": 24810 }},"product": {"isProduct": true,"price": "$1,290.00","currency": "USD","brand": "Rove Concepts","availability": "in stock","productName": "Linen platform bed","rating": 4.7,"ratingCount": 128},"searchQuery": "minimalist bedroom","source": "pinterest.com","scrapedAt": "2026-07-03T12:00:00.000Z","contentHash": "a1b2c3d4e5f60718"}
Examples
Search for pins by keyword:
{"searchQueries": ["minimalist bedroom", "nail art"],"searchScope": "pins","maxResults": 200}
Search for creators (users tab):
{"searchQueries": ["interior designer"],"searchScope": "users","maxResults": 100}
Scrape specific pin, board and profile URLs:
{"startUrls": [{ "url": "https://www.pinterest.com/pin/18788523442530970/" },{ "url": "https://www.pinterest.com/refinery29/nail-art/" },{ "url": "https://www.pinterest.com/nike/" }],"fetchDetails": true}
Full enrichment with engagement metrics and comments:
{"searchQueries": ["home office desk"],"maxResults": 50,"fetchDetails": true,"includeComments": true,"maxComments": 10}
Scheduled daily run:
{"searchQueries": ["minimalist bedroom"],"maxResults": 300}
Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh dataset.
💰 Pricing
$1.19 per 1,000 results — you only pay for successfully retrieved pins. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.12 |
| 1,000 | ~$1.19 |
| 10,000 | ~$11.9 |
| 100,000 | ~$119 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.79 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Enabling fetchDetails adds one request per pin, so detail-mode runs take longer than list-mode runs of the same size.
Known limitations
- Engagement metrics (saves, likes, comments) are only available with
fetchDetails: true— Pinterest does not include them in search results. - Comment threads are only fetched when both
fetchDetailsandincludeCommentsare enabled. - Product fields are only populated for shoppable pins; regular pins return
isProduct: false. - Pinterest search caps how deep any single query can page; very large result targets are best split across several specific queries.
Technical details
- Source: pinterest.com — pins, boards, profiles and search
- Coverage: global, keyword and URL driven
- Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl