# Pinterest Search Scraper (`devcake/pinterest-search-scraper`) Actor

Search Pinterest by keywords and extract pins, comments, shares,saves, profiles,board information,product pins with pricing. 40+ fields for Seo Research, Trend discovery, and Keyword analysis.

- **URL**: https://apify.com/devcake/pinterest-search-scraper.md
- **Developed by:** [devcake](https://apify.com/devcake) (community)
- **Categories:** E-commerce, Social media, SEO tools
- **Stats:** 265 total users, 48 monthly users, 98.3% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.20 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🔍 Pinterest Search Scraper

Extract Pinterest search results by keyword with 40+ data fields per pin. Perfect for SEO research, trend analysis, content inspiration, and competitive monitoring.

### ✨ Features

- 🔍 **Search by Keyword** — Extract pins from any search query
- 🖼️ **All Image Sizes** — Get every resolution (236x, 474x, 564x, 736x, orig)
- 📊 **Engagement Metrics** — Saves, likes, comments, repins, shares
- 👤 **Creator Details** — Pinner username, full name, avatar, follower count
- 📦 **Board Information** — Board name, URL, pin count, owner
- 🛍️ **Product Pin Detection** — Identify pins with pricing, stock status
- 💬 **Comments with Replies** — Optional: Extract user feedback and nested replies
- 🚀 **No Login Required** — Works without cookies
- 🌐 **Proxy Support** — Built-in Apify Proxy integration

### 💡 Use Cases

| Use Case | Description |
|----------|-------------|
| **SEO Research** | Find trending keywords and content in your niche |
| **Trend Analysis** | Track popular pins and topics over time |
| **Content Planning** | Discover inspiration for your content calendar |
| **Competitor Monitoring** | See what's performing in your market |
| **Keyword Research** | Identify high-engagement search terms |
| **Product Discovery** | Find trending products with pricing info |

### 💰 Pricing

**Pay per use** — $2 per 1,000 results

No subscriptions, no commitments, no hidden fees. Control your spending with the Maximum Cost Per Run option.

### 🔗 Other Pinterest Scrapers

Need different Pinterest data? We offer specialized tools for every use case:

| Actor | Pricing | Link |
|-------|---------|------|
| 📎 **Pinterest Pin Scraper** | $4 per 1,000 pins | [View Actor](https://apify.com/devcake/pinterest-pin-scraping) |
| 👤 **Pinterest Profile Scraper** | $4 per 1,000 profiles | [View Actor](https://apify.com/devcake/pinterest-profile-scraper) |
| 📁 **Pinterest Board Scraper** | $4 per 1,000 pins | [View Actor](https://apify.com/devcake/pinterest-board-scraper) |
| 🎯 **All-in-One Pinterest Scraper** | $25/month unlimited | [View Actor](https://apify.com/devcake/pinterest-data-scraper) |

### 📝 Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `searchQueries` | array | No | Search terms to find pins (default: `minimalist home office`) |
| `maxResults` | integer | No | Max pins per query (24-250, default: 24) |
| `includeComments` | boolean | No | Fetch comments for each pin |
| `maxComments` | integer | No | Max comments per pin (1-100) |
| `proxyConfig` | object | No | Proxy configuration (Apify Proxy enabled by default) |

#### Search URL Formats

```
https://www.pinterest.com/search/pins/?q=keyword
https://www.pinterest.com/search/pins/?q=keyword&rs=hub_page
```

### 📤 Output

Each pin includes 40+ data fields. Key fields include:

#### Basic Data

- `id`, `url`, `title`, `description`, `domain`, `category`
- `images.236x`, `images.474x`, `images.564x`, `images.736x`, `images.orig`

#### Engagement

- `saves`, `like_count`, `comment_count`, `repin_count`, `share_count`

#### Creator & Board

- `pinner` — Username, full name, avatar, follower count, verification
- `board` — Name, URL, pin count, owner details

#### Product Data (When Available)

- `is_product_pin` — Product pin flag
- `products` — Array with name, price, original price, stock status
- `site_name` — Source website (e.g., "IKEA", "Amazon")
- `official_merchant` — Verification status, followers
- `aggregate_rating` — Rating value, rating count, review count
- `tracked_link` — Direct product URL for affiliate tracking

### 🎯 Example

```json
{
  "searchQueries": ["minimalist home office", "sustainable fashion"],
  "maxResults": 24,
  "proxyConfig": {"useApifyProxy": true}
}
```

```json
{
  "id": "123456789",
  "url": "https://www.pinterest.com/pin/123456789/",
  "title": "Minimalist Home Office Setup",
  "images": {
    "236x": {"url": "https://i.pinimg.com/236x/..."},
    "474x": {"url": "https://i.pinimg.com/474x/..."}
  },
  "saves": 1523,
  "pinner": {"username": "designlover", "follower_count": 12500},
  "board": {"name": "Office Inspiration", "pin_count": 245},
  "is_product_pin": false
}
```

### 🚀 Getting Started

1. **Add search queries** — Enter keywords you want to research, or run the supplied starter query
2. **Set max results** — Control how many pins per query (up to 250)
3. **Set the run cost limit** — Use Apify's maximum cost per run setting
4. **Run** — Get search results in JSON format

### 💡 Tips

- **Multiple Queries**: Add several keywords to compare trends
- **Content Discovery**: Use broad terms like "interior design" then filter results
- **Competitor Research**: Search for competitor brand names to see their featured content
- **Product Research**: Add "buy", "shop", or "price" to find product pins

***

### ❓ FAQ

**Q: Do I need Pinterest login credentials?**
A: No! This scraper works without login for all public search results.

**Q: How many results can I get per query?**
A: Up to 250 pins per search query. For larger datasets, use multiple runs with different keyword variations.

**Q: Can I search for specific types of pins?**
A: Yes. Include keywords like "product", "buy", "price" to find product pins, or use Pinterest's advanced search filters manually.

**Q: Does this include Pinterest's "More ideas" section?**
A: Yes, the API-based approach captures results from the main search feed.

**Q: Are comments included?**
A: Yes! Enable `includeComments: true` to fetch comments with nested replies for each pin.

***

### ⚠️ Troubleshooting

**Getting blocked?**

- Keep the default Apify Proxy setting enabled, or select a suitable proxy group
- Lower `maxResults` to reduce request volume
- Set Apify's maximum cost per run to control spending

**No results for my query?**

- Check spelling of your search terms
- Try broader keywords (Pinterest may have limited results for niche terms)
- Ensure query isn't violating Pinterest's terms

**Missing engagement data?**

- Some pins may have limited engagement metrics visible
- This is a Pinterest limitation, not a scraper issue

**Need help?** Contact us through Apify Console or check our documentation.

# Actor input Schema

## `searchQueries` (type: `array`):

Enter one or more search terms. A starter query is supplied so the Actor can run immediately with its default input.

## `maxResults` (type: `integer`):

Maximum number of pins to scrape from each search query

## `includeComments` (type: `boolean`):

Fetch comments for each pin from search results. When enabled, includes top-level comments and nested replies.

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

Maximum number of comments to fetch per pin (only used when includeComments is true)

## `proxyConfig` (type: `object`):

Routes Pinterest requests through Apify Proxy to reduce blocking. Apify Proxy automatic mode is enabled by default; you can select another proxy group or provide custom proxy URLs.

## Actor input object example

```json
{
  "searchQueries": [
    "minimalist home office"
  ],
  "maxResults": 24,
  "includeComments": false,
  "maxComments": 10,
  "proxyConfig": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `allResults` (type: `string`):

Complete dataset with all search results

## `overview` (type: `string`):

Pinterest search results optimized for SEO and trend analysis - engagement metrics, pinner details, board links

# 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 = {
    "searchQueries": [
        "minimalist home office"
    ],
    "proxyConfig": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("devcake/pinterest-search-scraper").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 = {
    "searchQueries": ["minimalist home office"],
    "proxyConfig": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("devcake/pinterest-search-scraper").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 '{
  "searchQueries": [
    "minimalist home office"
  ],
  "proxyConfig": {
    "useApifyProxy": true
  }
}' |
apify call devcake/pinterest-search-scraper --silent --output-dataset

```

## MCP server setup

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

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/EYEVv4WBXyHay4BIq/builds/QzCxen74IcKw5GFg1/openapi.json
