# Pinterest Scraper (`novashieldai/pinterest-scraper`) Actor

Scrape Pinterest for pins, boards, and user profiles. Search pins by keyword, get pin details, user profiles with follower counts, and board contents with all pin data.

- **URL**: https://apify.com/novashieldai/pinterest-scraper.md
- **Developed by:** [Ali haydar Karadaş](https://apify.com/novashieldai) (community)
- **Categories:** Social media, Marketing
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 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.

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 Scraper

Pinterest Scraper extracts pins, boards, and user profiles from Pinterest into structured JSON data. Built for content marketers, trend researchers, and anyone who needs Pinterest data at scale without manual scrolling.

### What does Pinterest Scraper do?

This actor has four modes that cover everything you'd want to pull from Pinterest. **Search** finds pins by keyword with sorting options for relevance, recency, or popularity. **Pin** fetches full details for a specific pin including rich metadata, image dimensions, tags, and embed data. **User** pulls a complete profile -- follower counts, bio, monthly views, boards, and more. **Board** extracts board details along with all pins inside it.

You can pass either IDs or full Pinterest URLs -- the scraper figures out what you mean. Want pins from a specific board? Just paste the board URL. Want details on a pin? Paste the pin link or enter the numeric ID. It handles both.

Results include image URLs at full resolution, save counts, comment counts, and external links. For video pins, you get embed data too.

### What data do you get?

**Pin results:**

- **id**, **title**, **description**
- **image\_url**, **image\_urls** (multiple resolutions)
- **link** (external URL from the pin)
- **pinner\_name**, **pinner\_username**, **board\_name**
- **save\_count**, **comment\_count**, **url**
- **is\_video**, **created\_at**

**Pin details (additional):**

- **rich\_metadata** (article, recipe, product data)
- **source\_url**, **dominant\_color**, **width**, **height**
- **embed** (video embed data), **tags**, **related\_pins\_count**

**User profiles:**

- **username**, **name**, **bio**
- **follower\_count**, **following\_count**, **pin\_count**, **board\_count**
- **avatar\_url**, **is\_verified**, **monthly\_views**
- **website**, **location**, **boards** (list of user's boards)

**Board results:**

- **id**, **name**, **slug**, **description**
- **pin\_count**, **follower\_count**, **owner\_username**
- **cover\_image**, **url**, **is\_secret**, **created\_at**

### Who is this for?

- **Content marketers** -- research trending pins and popular content formats for your niche
- **E-commerce brands** -- find product inspiration and track competitor Pinterest strategies
- **Social media managers** -- analyze board structures and pin performance metrics
- **Trend researchers** -- identify visual trends across categories at scale
- **Developers** -- build Pinterest analytics tools or content recommendation engines

### How to use it

1. Open the actor in Apify Console and select a mode (search, pin, user, or board).
2. Enter your search query, pin ID/URL, username, or board URL.
3. Set the sort order and result limit if needed.
4. Click "Start" to run the scraper.
5. Export results as JSON, CSV, or Excel from the Dataset tab.

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| mode | string | search | Scraping mode: search, pin, user, or board |
| query | string | -- | Search keywords (for search mode) |
| pin\_id | string | -- | Pin ID or full Pinterest pin URL (for pin mode) |
| username | string | -- | Pinterest username or profile URL (for user and board modes) |
| board\_url | string | -- | Full Pinterest board URL (for board mode) |
| board\_slug | string | -- | Board URL slug -- requires username (for board mode) |
| sort | string | -- | Sort order: relevance, recency, or popularity |
| limit | integer | 25 | Maximum results to return (1-250) |

### Sample output

```json
{
  "id": "846254323178",
  "title": "Modern Living Room Decor Ideas",
  "description": "Minimalist living room design with neutral tones and natural textures",
  "image_url": "https://i.pinimg.com/originals/ab/cd/ef/abcdef123456.jpg",
  "image_urls": [
    "https://i.pinimg.com/150x150/ab/cd/ef/abcdef123456.jpg",
    "https://i.pinimg.com/564x/ab/cd/ef/abcdef123456.jpg",
    "https://i.pinimg.com/originals/ab/cd/ef/abcdef123456.jpg"
  ],
  "link": "https://www.designblog.com/modern-living-room",
  "pinner_name": "Interior Design Daily",
  "pinner_username": "interiordesigndaily",
  "board_name": "Living Room Inspiration",
  "save_count": 4823,
  "comment_count": 42,
  "url": "https://www.pinterest.com/pin/846254323178",
  "is_video": false,
  "created_at": "2026-03-15T10:30:00Z"
}
```

### How much does it cost?

Each result costs **$0.003**. Scraping 1,000 pins costs $3, and 10,000 pins costs $30.

Apify gives every new user $5 in free monthly credits, so you can scrape roughly 1,600 results for free.

### Common questions

**Can I get full-resolution images?**
Yes. The scraper returns image URLs at multiple resolutions, including the original full-size version.

**Does it work with private boards?**
No. The scraper can only access publicly visible content. Private and secret boards are not accessible.

**Can I scrape all pins from a specific board?**
Yes. Use board mode and provide the board URL or the username plus board slug. Set the limit high enough to capture all pins.

### Contact & Custom Solutions

Need a custom scraper, higher volume, or a specific integration? We're here to help.

If anything isn't working right or you need support, don't hesitate to reach out.

- Telegram: [t.me/novashield\_dev](https://t.me/novashield_dev)
- Email: novashield.dev@gmail.com

# Actor input Schema

## `mode` (type: `string`):

Scraping mode: search pins, get pin details, user profile, or board contents

## `query` (type: `string`):

Search keywords (for 'search' mode)

## `pin_id` (type: `string`):

Pin ID (numeric) or full Pinterest pin URL (for 'pin' mode)

## `username` (type: `string`):

Pinterest username or profile URL (for 'user' and 'board' modes)

## `board_url` (type: `string`):

Full Pinterest board URL (for 'board' mode)

## `board_slug` (type: `string`):

Board URL slug — requires username (for 'board' mode)

## `sort` (type: `string`):

Sort order for search results

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

Max Results

## Actor input object example

```json
{
  "mode": "search",
  "query": "home decor ideas",
  "limit": 25
}
```

# 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 = {
    "query": "home decor ideas"
};

// Run the Actor and wait for it to finish
const run = await client.actor("novashieldai/pinterest-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 = { "query": "home decor ideas" }

# Run the Actor and wait for it to finish
run = client.actor("novashieldai/pinterest-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 '{
  "query": "home decor ideas"
}' |
apify call novashieldai/pinterest-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,novashieldai/pinterest-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/H7ilTAHBiZ4vekbay/builds/tRKh76WDdIzFSb1D4/openapi.json
