Pinterest Scraper avatar

Pinterest Scraper

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Pinterest Scraper

Pinterest Scraper

Under maintenance

Scrape Pinterest pins, boards, and user profiles. Search by keyword, extract pin details, images, save counts, comments, creator info, and more.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

abdulrahman alrashid

abdulrahman alrashid

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

Scrape Pinterest at scale. Search for pins by keyword, extract pin details, scrape entire boards, and pull user profile data — all without needing a Pinterest account or API key.

What does Pinterest Scraper do?

This actor lets you extract structured data from Pinterest, including:

  • Pin search results — search by any keyword and get pins with titles, descriptions, image URLs, save counts, and creator info
  • Pin details — scrape individual pins for full metadata including comments
  • Board contents — extract all pins from any public Pinterest board
  • User profiles — get follower counts, bio, board lists, and profile metadata

All data is returned as clean JSON, ready for analysis, content research, or integration with your workflow.

Why scrape Pinterest?

Pinterest has over 450 million monthly active users and is one of the largest visual discovery platforms. Common use cases:

  • Market research — discover trending products, designs, and visual content in any niche
  • Competitor analysis — track what competitors are pinning and how their content performs
  • Content inspiration — find high-performing visual content ideas for marketing campaigns
  • Trend monitoring — track emerging design, fashion, and lifestyle trends
  • Image dataset collection — gather visual datasets for machine learning or creative projects
  • Influencer research — analyze creator profiles, follower growth, and content strategy

Input configuration

FieldTypeDescriptionDefault
searchQueriesarrayKeywords to search for
boardUrlsarrayPinterest board URLs to scrape
userProfileUrlsarrayPinterest user profile URLs to scrape
pinUrlsarrayIndividual pin URLs to scrape
maxResultsintegerMax results per query/board (0 = unlimited)100
scrapeCommentsbooleanAlso scrape comments on each pinfalse
maxCommentsPerPinintegerMax comments to scrape per pin20
proxyConfigurationobjectProxy settings (residential recommended)Apify residential
minDelayintegerMinimum delay between requests (ms)1000
maxDelayintegerMaximum delay between requests (ms)3000
maxRetriesintegerMax retries for failed requests3
extendOutputFunctionstringJS function to modify output data

Example input

{
"searchQueries": ["modern kitchen design", "minimalist home office"],
"boardUrls": ["https://www.pinterest.com/pinterest/pin-of-the-week/"],
"userProfileUrls": ["https://www.pinterest.com/pinterest/"],
"maxResults": 50,
"scrapeComments": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Pin data

Each pin result contains:

{
"type": "pin",
"id": "123456789",
"title": "Modern Kitchen Design Ideas",
"description": "Beautiful white kitchen with marble countertops...",
"altText": "A modern kitchen with white cabinets",
"imageUrl": "https://i.pinimg.com/originals/ab/cd/ef.jpg",
"link": "https://example.com/kitchen-ideas",
"dominantColor": "#ffffff",
"saveCount": 15420,
"commentsCount": 87,
"reactionsCount": 234,
"isVideo": false,
"videoUrl": null,
"creator": {
"id": "987654321",
"username": "homedesigner",
"fullName": "Home Designer Pro",
"imageUrl": "https://i.pinimg.com/avatars/user.jpg",
"followerCount": 52000,
"isVerified": true
},
"board": {
"id": "111222333",
"name": "Kitchen Inspiration",
"url": "https://www.pinterest.com/homedesigner/kitchen-inspiration/"
},
"richMetadata": {
"siteName": "Example Blog",
"title": "50 Modern Kitchen Ideas",
"description": "Explore the latest kitchen trends..."
},
"pinUrl": "https://www.pinterest.com/pin/123456789/",
"createdAt": "2024-01-15T10:30:00",
"searchQuery": "modern kitchen design",
"scrapedAt": "2024-03-15T14:22:33.000Z"
}

User profile data

{
"type": "userProfile",
"id": "987654321",
"username": "homedesigner",
"displayName": "Home Designer Pro",
"bio": "Interior design tips and inspiration",
"profileImageUrl": "https://i.pinimg.com/avatars/user_xl.jpg",
"followerCount": 52000,
"followingCount": 1200,
"pinCount": 8500,
"boardCount": 45,
"isVerified": true,
"websiteUrl": "https://example.com",
"location": "Los Angeles, CA",
"profileUrl": "https://www.pinterest.com/homedesigner/",
"boards": [
{
"type": "board",
"id": "111222333",
"name": "Kitchen Inspiration",
"pinCount": 320,
"followerCount": 8900
}
],
"scrapedAt": "2024-03-15T14:22:33.000Z"
}

Board data

When scraping a board, the first result is the board metadata, followed by all pins on that board.

{
"type": "board",
"id": "111222333",
"name": "Kitchen Inspiration",
"description": "My favorite kitchen designs and ideas",
"pinCount": 320,
"followerCount": 8900,
"collaboratorCount": 0,
"imageUrl": "https://i.pinimg.com/custom_covers/board.jpg",
"isPrivate": false,
"owner": {
"id": "987654321",
"username": "homedesigner",
"fullName": "Home Designer Pro"
},
"boardUrl": "https://www.pinterest.com/homedesigner/kitchen-inspiration/",
"scrapedAt": "2024-03-15T14:22:33.000Z"
}

Proxy and anti-bot handling

Pinterest actively blocks automated requests. This scraper handles this by:

  • Residential proxies — uses Apify residential proxy group by default for the most reliable results
  • Randomized delays — configurable random delays between requests to mimic human behavior
  • Automatic retries — retries failed requests with exponential backoff on rate limiting
  • CSRF token generation — generates valid-looking CSRF tokens for API requests
  • Browser-like headers — sends realistic browser headers with each request

For best results, use residential proxies. Datacenter proxies may work for small volumes but will get blocked more frequently.

Rate limiting

Pinterest enforces rate limits on their internal API. The scraper handles this automatically:

  • When a 429 response is received, the scraper waits 30 seconds before retrying
  • On repeated rate limits, the wait time increases with each attempt
  • You can adjust minDelay and maxDelay to control request pacing

For large scraping jobs (1000+ results), consider increasing the delay settings.

Pricing

This actor uses a Pay-Per-Event pricing model:

  • $0.50 per 1,000 results
  • You only pay for the data you actually receive
  • Board metadata entries and user profiles each count as 1 result

Extend output function

You can customize the output by providing a JavaScript function in the extendOutputFunction field. This function receives each data item and can modify or filter it:

async ({ data, customData }) => {
// Only keep pins with more than 100 saves
if (data.type === 'pin' && data.saveCount < 100) {
return null; // Skip this result
}
// Add a custom field
data.customTag = 'high-engagement';
return data;
}

Tips for best results

  1. Start small — test with maxResults: 10 to verify your configuration works before running large jobs
  2. Use residential proxies — Pinterest is aggressive with bot detection; residential proxies are strongly recommended
  3. Increase delays for large jobs — if scraping thousands of results, set minDelay to 2000+ ms
  4. Search queries — use specific, descriptive keywords for more relevant results
  5. Board scraping — boards can contain thousands of pins; use maxResults to limit if you only need a sample
  6. Comments — enabling comment scraping significantly increases run time since each pin requires an additional API call

Limitations

  • Only public pins, boards, and profiles can be scraped
  • Pinterest may change their internal API at any time, which could temporarily break the scraper
  • Very high-volume scraping may trigger IP-level blocks even with residential proxies
  • Comment scraping is slower due to per-pin API calls

Support

If you encounter issues or have feature requests, please open an issue on this actor's page or contact the developer.