Pinterest Comments Scraper avatar

Pinterest Comments Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Pinterest Comments Scraper

Pinterest Comments Scraper

Scrape comments from Pinterest pins by pin URL. Extracts commenter username, comment text, likes, reply counts, threading, author profiles, and timestamps for sentiment analysis and engagement monitoring.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeAI

ScrapeAI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Extract comments, comment replies, engagement metrics, author profiles, and timestamps from Pinterest pins at scale.

Whether you are performing audience sentiment analysis, monitoring brand conversations, researching community trends, or analyzing content performance, Pinterest Comments Scraper delivers rich, structured data directly into Apify datasets in JSON, CSV, or Excel format.


🌟 Key Features

  • πŸ“Œ Multi-Pin Processing β€” Scrape comments from multiple Pinterest pins concurrently in a single run.
  • πŸ’¬ Full Comment Data β€” Extracts comment text, comment ID, pin ID, creation timestamps, and edit status.
  • 🧡 Comment Threading & Replies β€” Identifies reply comments and attaches parent comment IDs for nested thread analysis.
  • πŸ‘€ Author & Profile Intelligence β€” Captures commenter usernames, display names, profile URLs, avatar image URLs, and verification status.
  • πŸ“Š Engagement Metrics β€” Extracts like/reaction counts, reply counts, and helpful counts per comment.
  • 🏷️ Tags & Mentions β€” Captures tagged users and attached media links when available.
  • ⚑ Dynamic API, Relay & DOM Extraction β€” Uses intercepted Pinterest API feeds first, then the live server-rendered Relay pin metadata to call UnifiedCommentsResource directly when browser hydration does not issue the comments request, with live DOM selectors as a final fallback.
  • πŸ›‘οΈ Proxy & Anti-Bot Ready β€” Fully compatible with Apify Proxy and residential proxy pools.

πŸ’‘ Use Cases

  • Brand & Product Sentiment: Understand what customers and community members think about products or pins.
  • Social Listening & Market Research: Discover consumer questions, feedback, and trends across niches.
  • Engagement Optimization: Identify which pins generate meaningful discussions and why.
  • NLP & Dataset Building: Build labeled text datasets for sentiment classification, spam detection, or conversational AI.
  • Competitor Analysis: Analyze comments on competitor pins to discover unmet customer needs and pain points.

πŸ“₯ Input Configuration

ParameterTypeDefaultRequiredDescription
pinUrlsArrayβ€”βœ… YesArray of valid Pinterest pin URLs to scrape comments from. The actor does not fabricate fallback URLs when this input is missing.
maxCommentsPerPinInteger50NoMaximum number of comments to extract per pin (1 – 500).
maxItemsInteger200NoMaximum total comments across all pins in the run (1 – 5000).
proxyConfigurationObject{ "useApifyProxy": true }NoProxy settings. Residential proxies recommended for high volume.

Sample Input JSON

{
"pinUrls": [
"https://www.pinterest.com/pin/185773553372200236/",
"https://www.pinterest.com/pin/68749767931326442/"
],
"maxCommentsPerPin": 50,
"maxItems": 200,
"proxyConfiguration": {
"useApifyProxy": true
}
}

πŸ“€ Output Data Format

Every scraped comment item is stored in the default dataset and includes the following fields:

FieldTypeDescription
idStringUnique Pinterest comment identifier
typeStringItem type, always "comment"
textStringFull text content of the comment
likeCountIntegerTotal count of likes and reactions on the comment
replyCountIntegerNumber of direct replies to this comment
helpfulCountIntegerNumber of users who marked the comment as helpful
isReplyBooleantrue if this comment is a reply in a thread
parentCommentIdString / NullIdentifier of parent comment if this is a reply
isEditedBooleanWhether the comment was edited after posting
highlightedByPinOwnerBooleanWhether the pin owner highlighted/pinned this comment
pinIdStringPinterest Pin ID
pinUrlStringCanonical URL of the Pinterest pin
authorIdStringPinterest User ID of the commenter
authorUsernameStringCommenter's Pinterest username
authorFullNameStringCommenter's display name
authorProfileUrlStringDirect URL to commenter's Pinterest profile
authorImageUrlStringURL of commenter's avatar image
authorFollowerCountInteger / NullCommenter's follower count (if publicly available)
authorIsVerifiedBooleanWhether commenter has a verified identity badge
authorIsPrivateBooleanWhether commenter's profile is private
taggedUsersArrayList of user handles tagged/mentioned in the comment
mediaUrlString / NullAttached image or media URL
createdAtStringComment publication timestamp
updatedAtString / NullComment update timestamp
scrapedAtStringISO 8601 timestamp when scraped

Sample Output JSON

{
"id": "5343634683613731534",
"type": "comment",
"text": "OK OK OR SPIDER MIKU I HAD AN IDEA WHERE SHE SWINGS WITH HER TWIN PIGTAILS DO YOU GUYS THINK THATS A COOL IDEA",
"likeCount": 258,
"replyCount": 16,
"helpfulCount": 1,
"isReply": false,
"parentCommentId": null,
"isEdited": true,
"highlightedByPinOwner": false,
"pinId": "185773553372200236",
"pinUrl": "https://www.pinterest.com/pin/185773553372200236/",
"authorId": "978618331437365287",
"authorUsername": "kawaiiqueenmp3",
"authorFullName": "sergeant huss",
"authorProfileUrl": "https://www.pinterest.com/kawaiiqueenmp3/",
"authorImageUrl": "https://i.pinimg.com/75x75_RS/bd/e3/c8/bde3c854deee7a5383369ddd40cc5ad2.jpg",
"authorFollowerCount": null,
"authorIsVerified": false,
"authorIsPrivate": false,
"taggedUsers": [],
"mediaUrl": null,
"createdAt": "Tue, 23 Jan 2024 14:05:21 +0000",
"updatedAt": null,
"scrapedAt": "2026-08-25T11:58:44.704Z"
}

πŸš€ How to Run

Via Apify Console

  1. Navigate to the Actor on Apify Console.
  2. Enter one or more Pinterest Pin URLs in the Pin URLs field.
  3. Adjust Max Comments Per Pin and Max Total Comments as needed.
  4. Click Start to run the scraper.
  5. Export results in JSON, CSV, XML, or Excel from the Storage / Dataset tab.

Via Apify API (Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: 'YOUR_APIFY_TOKEN',
});
const run = await client.actor('YOUR_ACTOR_NAME/pinterest-comments-scraper').call({
pinUrls: ['https://www.pinterest.com/pin/185773553372200236/'],
maxCommentsPerPin: 50,
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Fetched ${items.length} comments:`, items);

Via CLI Locally

npm install
apify run

For local runs, place the JSON input in storage/key_value_stores/default/INPUT.json before running apify run. All records are fetched live for the supplied pin URLs; the Actor does not create fallback pin URLs or static comment records.


πŸ› οΈ Tips & Best Practices

  • Proxies: When scraping at scale across multiple pins, enable Apify Proxy (RESIDENTIAL group) to avoid rate limiting.
  • Pins Without Comments: Pins with comments disabled or pins that have no comments are gracefully handled and logged without failing the entire run.
  • Exporting: You can download results in CSV or JSON at any point, even while the scraper is still running.