# Pinterest Comments (`crawlerbros/pinterest-comments`) Actor

Collect public Pinterest comments, Tried It activity, comment authors, and engagement from Pin URLs without requiring login cookies.

- **URL**: https://apify.com/crawlerbros/pinterest-comments.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Pinterest Comments

Collect **public Pinterest comments and Pin activity** from one or many Pins. Get a Pin summary together with public comments, replies, reactions, helpful votes, authors, and attached media when Pinterest publishes them. The actor works without Pinterest login cookies and omits values that are not present in the public response.

### What this actor does

- **Pin summaries:** returns the public Pin, creator, board, media, link, and engagement context.
- **Comments and activity:** collects public comments, replies, reactions, helpful votes, and activity such as `Tried It` when exposed.
- **Flexible inputs:** accepts Pin URLs, numeric Pin IDs, and aliases for convenient workflows.
- **Large lists:** processes Pins one at a time and emits completed rows progressively.
- **Truthful output:** preserves published zeroes and `false` values while omitting unavailable data.

### Output per record

Each row includes `recordType`, `sourceUrl`, and `scrapedAt`. The dataset contains one `pinCommentsSummary` row per accessible Pin, followed by zero or more comment/activity rows.

#### Pin summary fields

Summary rows can include `recordType`, `pinId`, `pinUrl`, `aggregatedPinId`, `commentCount`, `commentsDisabled`, `commentsEligible`, `saveCount`, `reactionCounts`, `title`, `description`, `createdAt`, `imageUrl`, `videoUrl`, `linkUrl`, `linkDomain`, `creator`, `board`, `isPromoted`, and `isShoppable`.

The nested `creator` object can include `id`, `username`, `fullName`, `followerCount`, and `avatarUrl`. The nested `board` object can include `id`, `name`, and `url`.

#### Comment and activity fields

Comment rows can include `recordType`, `activityType`, `pinId`, `pinUrl`, `commentId`, `nodeId`, `text`, `details`, `createdAt`, `likeCount`, `reactionCounts`, `reactionByMe`, `helpfulCount`, `markedHelpfulByMe`, `replyCount`, `isEdited`, `isHighlightedByPinOwner`, `isTranslatable`, `tags`, `taggedUsers`, `media`, `author`, `sourceUrl`, and `scrapedAt`.

The nested `author` object can include `id`, `nodeId`, `username`, `firstName`, `fullName`, `avatarUrl`, `isPrivateProfile`, and `type`.

Missing Pinterest values are omitted. Explicit zero counts and `false` flags remain available when Pinterest publishes them.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `urls` | array | — | Public Pin URLs or numeric Pin IDs. |
| `pinUrls` | array | — | Friendly alias for `urls`. |
| `startUrls` | array | — | Friendly alias for `urls`. |
| `domain` | string | `www.pinterest.com` | Pinterest regional domain for the public request. |
| `maxComments` | integer | `10` | Maximum comment/activity rows per Pin; the summary is separate. |
| `limit` | integer | — | Friendly alias for `maxComments`. |
| `cookies` / `cookiesJson` | array/string | — | Optional Cookie-Editor export; not required for public Pins. |
| `proxyConfiguration` | object | — | Optional Apify proxy configuration. |

#### Example: one Pin

```json
{
  "urls": ["https://www.pinterest.com/pin/142567144448888376/"],
  "maxComments": 50
}
```

#### Example: many Pins by URL or ID

```json
{
  "pinUrls": [
    "142567144448888376",
    "https://www.pinterest.com/pin/993607355001234567/"
  ],
  "limit": 100
}
```

#### Example: regional public site

```json
{
  "startUrls": ["https://www.pinterest.com/pin/142567144448888376/"],
  "domain": "uk.pinterest.com",
  "maxComments": 25
}
```

### Use cases

- Public comment and audience research.
- Conversation monitoring for selected Pins.
- Moderation review using text, tags, flags, and attached media.
- Comparing reactions, helpful votes, replies, and Pin context.
- Collecting public `Tried It` and other activity rows when exposed.

### FAQ

#### Do I need to sign in to Pinterest?

No. The actor uses public signed-out responses and does not require cookies.

#### Why did I receive a summary but no comments?

The Pin may have no public comments, comments may be disabled, Pinterest may withhold activity from signed-out viewers, or the public response may expose only the summary. The actor never replaces that result with fabricated rows.

#### Can I request 10,000 comments for one Pin?

The input accepts large limits and records are emitted as they are found. Pinterest generally publishes a much smaller public page for an individual Pin, so the actual count is source-bounded.

#### Are private commenters exposed?

Only fields Pinterest publishes in the public response are included. Private profile indicators may be present, but private profile data is not inferred.

#### Does `likeCount` mean total Pinterest reactions?

It is the reaction type Pinterest publishes for the comment. The complete published breakdown is available in `reactionCounts` when supplied.

#### Can I pass IDs instead of links?

Yes. Numeric Pin IDs are accepted by all three URL fields.

#### Can I download attached comment media?

The `media` field is returned when Pinterest publishes it. Use Pinterest Media Downloader for Pin-level image/video files.

#### What does an omitted field mean?

Pinterest did not publish that value for the object or public session. It does not mean the actor guessed zero.

### Related Pinterest actors

- [Pinterest Scraper Pro](https://apify.com/crawlerbros/pinterest-scraper-pro) — Pins, profiles, boards, Ideas, search, and activity.
- [Pinterest Data Extractor](https://apify.com/crawlerbros/pinterest-data-extractor) — convenient multi-mode Pinterest data.
- [Pinterest Detailed Data Extractor](https://apify.com/crawlerbros/pinterest-detailed-data-extractor) — richer Pin, creator, board, product, SEO, and Story Pin fields.
- [Pinterest Media Downloader](https://apify.com/crawlerbros/pinterest-media-downloader) — save public Pin images and videos as files.
- [Pinterest Trends](https://apify.com/crawlerbros/pinterest-trends) — public topics, editorial stories, shopping categories, and metrics.

# Actor input Schema

## `urls` (type: `array`):

One or more public Pin links or numeric Pin IDs. You can also use pinUrls or startUrls as compatibility aliases.

## `pinUrls` (type: `array`):

Compatibility alias for URLs.

## `startUrls` (type: `array`):

Compatibility alias for URLs.

## `domain` (type: `string`):

Use the region where the Pin link lives. If a region cannot resolve a Pin, use www.pinterest.com.

## `maxComments` (type: `integer`):

Maximum comment/activity rows per Pin. A Pin summary row is also returned.

## `limit` (type: `integer`):

Compatibility alias for maxComments.

## `cookies` (type: `array`):

Optional Cookie Editor JSON array. Public comments work without cookies; cookies can add account-relative fields where Pinterest exposes them. Never share cookies publicly.

## `cookiesJson` (type: `string`):

Compatibility alias: paste the Cookie Editor JSON export as text.

## `proxyConfiguration` (type: `object`):

Optional Apify proxy configuration. The actor works directly on the free plan first.

## Actor input object example

```json
{
  "urls": [
    "https://www.pinterest.com/pin/142567144448888376/"
  ],
  "pinUrls": [],
  "startUrls": [],
  "domain": "www.pinterest.com",
  "maxComments": 10,
  "limit": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `records` (type: `string`):

Dataset containing Pinterest comment, activity, and Pin summary records.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.pinterest.com/pin/142567144448888376/"
    ],
    "pinUrls": [],
    "startUrls": [],
    "domain": "www.pinterest.com",
    "maxComments": 10,
    "limit": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/pinterest-comments").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.pinterest.com/pin/142567144448888376/"],
    "pinUrls": [],
    "startUrls": [],
    "domain": "www.pinterest.com",
    "maxComments": 10,
    "limit": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/pinterest-comments").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.pinterest.com/pin/142567144448888376/"
  ],
  "pinUrls": [],
  "startUrls": [],
  "domain": "www.pinterest.com",
  "maxComments": 10,
  "limit": 10
}' |
apify call crawlerbros/pinterest-comments --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crawlerbros/pinterest-comments"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9YsXsKj1jvPbCxdtG/builds/JjzdM2dI84dKhLcOp/openapi.json
