Pinterest Pin Comments Scraper avatar

Pinterest Pin Comments Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Pinterest Pin Comments Scraper

Pinterest Pin Comments Scraper

Collect public comments displayed on Pinterest pins. Export comment text, authors, dates, reactions and source pin references with cursor pagination.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Export public comments on Pinterest pins as individual dataset records. Pinterest Pin Comments Scraper returns comment text, dates, author information, visible reactions and available attached media while keeping the source pin reference on each row.

Start with known pin URLs or IDs to prepare discussion samples for qualitative research, manual feedback review or your own text analysis.

At a glanceDetails
📥 InputEnter numeric Pinterest pin IDs or canonical pin URLs. Collects the main public comments feed displayed for each pin, without expanding reply threads.
📤 OutputOne comment per success row with the input source retained
📄 PaginationResult pages per input; page sizes and availability are controlled by Pinterest
🔐 Login requiredNo
⚡ ProcessingUp to 5 HTTP requests concurrently; up to 5 attempts for temporary failures
💾 DeliveryOne Apify dataset view with individual records and complete nested JSON

What the Pinterest pin comments scraper collects 💬

The Actor resolves the pin’s aggregate comment reference and paginates its public comment feed. Comment rows keep the text and author together; interface modules and other unsupported activity types are excluded.

Data can include:

  • Comment IDs, text and creation dates
  • Author ID, username, profile link and available avatar
  • Visible reaction, helpful and reply counts when exposed
  • Attached media and tagged users when present
  • Input pin and aggregate-comment source references

How to collect pin comments from Pinterest 🚀

  1. Enter one or more supported inputs.
  2. Set the page budget and any collection option you need.
  3. Start the Actor.
  4. Open the Comments dataset view and review success or failed rows.
  5. Export the dataset or retrieve records from your application.
{
"inputList": [
"https://www.pinterest.com/pin/1020909809261285009/"
],
"pagesPerPin": 1
}

The page setting applies to the public comment feed for each input pin. Pages can contain fewer comment rows after unsupported activity entries are filtered. A short page can still continue.

Pinterest pin comments output fields 📦

FieldTypeMeaning
inputstringOriginal submitted input.
statusstringWhether this entity was successfully collected.
pageinteger or nullOne-based page within this input's collection.
source_pinobject or nullPin requested as the source, including its distinct aggregate ID when returned.
idstring or nullId when supplied by Pinterest.
textstring or nullText when supplied by Pinterest.
created_atstring or nullCreated at when supplied by Pinterest.
authorobject or nullAuthor when supplied by Pinterest.
reply_countinteger or nullReported reply count. Reply bodies are not included in the comment export.
helpful_countinteger or nullHelpful count when supplied by Pinterest.
reactionsarray or nullReactions when supplied by Pinterest.
is_editedboolean or nullIs edited when supplied by Pinterest.
highlighted_by_pin_ownerboolean or nullHighlighted by pin owner when supplied by Pinterest.
imagesarray or nullAvailable image variants, preserved in one dataset cell.
tagged_usersarray or nullTagged users when supplied by Pinterest.

Nested field structure:

  • source_pin: id, url, title, aggregated_pin_id.
  • author: id, username, name, url, image_url, image_large_url, is_verified, is_verified_merchant, is_private, follower_count.
  • reactions[]: type, count.
  • images[]: variant, url, width, height, dominant_color.
  • tagged_users[]: id, username, name, url, image_url, image_large_url, is_verified, is_verified_merchant, is_private, follower_count.

The examples below use normalized public response data. Values are snapshots and may change; every top-level output field is included. Different media variants and nested objects remain inside the same row.

Complete representative success result:

{
"input": "https://www.pinterest.com/pin/1020909809261285009/",
"status": "success",
"page": 1,
"source_pin": {
"id": "1020909809261285009",
"url": "https://www.pinterest.com/pin/1020909809261285009/",
"title": "Mariam Olivera",
"aggregated_pin_id": "5277747762016869223"
},
"id": "3143769064881031680",
"text": "He'll if u don't mine me Asking you a question",
"created_at": "2026-01-11T09:26:59Z",
"author": {
"id": "970737032089610681",
"username": "wisdomsbon002",
"name": "Patrick",
"url": "https://www.pinterest.com/wisdomsbon002/",
"image_url": null,
"image_large_url": null,
"is_verified": null,
"is_verified_merchant": null,
"is_private": true,
"follower_count": null
},
"reply_count": 36,
"helpful_count": 0,
"reactions": [
{
"type": "1",
"count": 203
}
],
"is_edited": false,
"highlighted_by_pin_owner": false,
"images": [],
"tagged_users": []
}

Complete failed dataset item:

{
"input": "invalid input",
"status": "failed",
"page": null,
"source_pin": null,
"id": null,
"text": null,
"created_at": null,
"author": null,
"reply_count": null,
"helpful_count": null,
"reactions": null,
"is_edited": null,
"highlighted_by_pin_owner": null,
"images": null,
"tagged_users": null
}

A failed row preserves input, sets status to failed, and sets every other top-level field to null. The reason is written to the run log. Optional successful values remain null or empty when Pinterest omits them. The single dataset view exposes object fields as useful columns; arrays are kept in their parent row rather than expanded into additional rows or views.

Input and pagination settings ⚙️

ParameterTypeRequiredDefaultRules
inputListarray of stringsYesNoneEnter numeric Pinterest pin IDs or canonical pin URLs. Collects the main public comments feed displayed for each pin, without expanding reply threads.
pagesPerPinintegerNo1Maximum result pages per input. Website page sizes vary; short pages can still have a continuation. Preparation requests do not count as result pages. Minimum 1.

Use supported Pinterest pin URLs or numeric pin IDs. The Actor resolves the aggregate comment identifier itself; do not substitute an aggregate identifier for a pin ID.

Use canonical HTTPS links on www.pinterest.com or pinterest.com. Country-specific hosts, shortened pin.it links and unsupported paths are not accepted.

Duplicate normalized inputs are processed once. A returned identifier is deduplicated within the pagination of one source input; the same object found under different source inputs retains each source relationship.

The first result request counts as page 1. Source validation and preparation requests do not consume result pages. A short or filtered page can continue if it supplies a usable cursor. Collection stops at the page budget or the end of pagination; a repeated cursor does not trigger an endless loop.

Pinterest pin comments use cases 🎯

Public discussion research

Collect a comment sample and review themes in the original wording. Keep dates, source pin and author references for traceability.

Feedback preparation

Export text and available reactions to prepare a dataset for your own classification or manual review. The Actor does not interpret sentiment.

Media-supported comment review

Inspect attached media where the public comment includes it. Image references remain in the same row as the corresponding comment.

Pricing and saved-result behavior 💰

Check the Actor’s Pricing tab for the active charging model and current rate. Store settings may change, so this README does not state an unverified fixed price or runtime.

Under dataset-item pricing:

  • Each unique success result represents one comment for its source input.
  • An invalid or unavailable input, an input with no accessible results, or a request that exhausts retries can produce a failed row.
  • Retry attempts and supporting metadata requests do not create extra dataset rows by themselves.
  • Nested media, author and source fields stay inside their parent result.
  • A normal empty continuation after earlier successes creates no additional result row.
  • Saved failed rows are not assumed to be free. Check the active pricing configuration for their treatment.

Larger page budgets and more inputs can produce more saved rows. Start with a small run and check actual usage before increasing the workload.

Pinterest pin comments API 🔌

Replace $ACTOR_ID with the identifier shown in this Actor’s API tab and $APIFY_TOKEN with your Apify token.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["https://www.pinterest.com/pin/1020909809261285009/"],"pagesPerPin":1}'

Download JSON, CSV, Excel, XML or other formats available in the Console, or retrieve the dataset through the Apify API. Schedules, webhooks and Apify integrations can connect results to Google Sheets, Make, Zapier, n8n, cloud storage or your own backend. These are connection options rather than integrations already configured by the Actor.

Reliability, retries, and public-data limits ⚠️

Collection uses pure HTTP with up to five concurrent requests. Invalid syntax and confirmed missing, removed or inaccessible targets stop without unnecessary retries. Temporary network or proxy failures, timeouts, blocking responses, malformed data, throttling and server errors are retried up to five total attempts per request.

Earlier successful pages remain saved when a later request fails. A normal end after previously saved results is not retried. An input that produces no accessible results can receive a failed row; this does not by itself prove the underlying account or collection does not exist. A later exhausted request can append a failed row while keeping earlier output.

Pinterest controls public availability, ranking, fields and pagination. Private, deleted, restricted or otherwise unavailable data can be omitted. Counts can change during collection, and media links can expire. Successful HTTP research confirms the supported request paths and pagination on tested sources, rather than future availability or exhaustive coverage.

Nested reply threads are not collected. A reply counter describes the number reported by Pinterest and does not mean the replies are included. Other activity records such as photo-based “tried it” entries are not silently relabelled as comments. Public comment availability can differ from pin-level counters.

An invalid string within a valid input list does not stop other inputs. A configuration that fails validation, such as a non-string list item or an invalid page-count type, exits before requests start. Infrastructure errors such as startup failure, unavailable dataset storage or an unrecoverable result-save error can stop the whole run. A failed dataset save is not retried as a new scraping request.

Frequently asked questions ❓

Does it include replies to comments?

No. It collects the supported public comment records from the paginated feed. Reply counts may be present, but full reply threads are not expanded.

Why is the result count lower than a pin counter?

Pinterest can expose aggregate counters, filtered activity types, unavailable comments and changing records. Your page budget also limits the sample.

Does it perform sentiment analysis?

No. It exports comment text and context. You can use those records in your own sentiment or qualitative analysis workflow.

Does it require Pinterest login or personal cookies?

No. The Actor uses HTTP requests from the public website. It does not require a Pinterest account, password or personal session cookie, and does not launch a browser.

What happens to invalid or unavailable inputs?

Invalid individual inputs are saved as failed rows without a source request. Confirmed unavailable targets stop without unnecessary retries. Temporary failures allow up to five total attempts; other inputs and previously saved results remain available.

Can I export results or schedule runs?

Yes. Download the default dataset in supported formats or retrieve it through the Apify API. Apify schedules and completion webhooks can connect repeated runs to your own workflow.

For a reproducible issue, use the Actor’s Issues tab and provide the run ID, approximate time, safe public input, expected behavior and actual result. Include the selected mode or page count when applicable. Do not share access tokens, cookies or proxy credentials.

Use public data responsibly and follow applicable privacy, copyright, contractual and platform requirements before storing, analyzing or redistributing collected information.