# Pinterest Pins Scraper (`scrapers_lat/pinterest-scraper`) Actor

Extract Pinterest pins by keyword, board, user, or pin URL: image, title, description, board, pinner, saves, comments, outbound link, color and dimensions.

- **URL**: https://apify.com/scrapers\_lat/pinterest-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 pin scrapeds

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/platform/actors/running/actors-in-store#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 Pins Scraper](https://scrapers.lat/banners/pinterest-scraper.png)](https://console.apify.com/actors/i86oIN3vBeUtR5Gtu/input)

## Pinterest Pins Scraper

> Extract Pinterest pins by keyword, board, user, or pin URL with images, save counts, pinner profiles and the outbound destination link behind every pin

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Global-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>22 fields</strong><br>per pin</td>
<td align="center"><strong>Global</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-07-26</td>
</tr></table>

<br>

### What you get

Each record is one Pinterest pin with its image, the pinner behind it, the board it lives on, engagement counts, and the outbound link the pin points to, so you can build visual product catalogs, find creators, and spot which brands and shops drive traffic through Pinterest.

- **imageUrl**: full-resolution pin image
- **title**: pin title
- **url**: canonical Pinterest pin URL
- **id**: Pinterest pin id
- **description**: pin description text
- **boardName**: name of the board the pin is saved to
- **boardUrl**: URL of that board
- **pinnerUsername**: username of the person or brand that pinned it
- **pinnerFullName**: display name of the pinner
- **pinnerProfileUrl**: URL of the pinner's Pinterest profile
- **pinnerFollowerCount**: follower count of the pinner
- **destinationUrl**: the outbound link the pin points to, the source or shop URL behind the image
- **domain**: domain of the destination link
- **saveCount\***: number of times the pin has been saved (repins)
- **commentCount\***: number of comments on the pin
- **shareCount\***: number of times the pin has been shared
- **reactionCount\***: total reactions on the pin
- **dominantColor**: dominant color of the image as a hex code
- **imageWidth**: image width in pixels
- **imageHeight**: image height in pixels
- **createdAt**: when the pin was created
- **observedAt**: when this pin was last seen by the scraper

*\*These fields only appear when withDetails is set to true, and are always included for individual pin URLs.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Build a visual product or inspiration catalog from a keyword | E-commerce and content teams |
| Find shops and brands driving traffic through Pinterest | Affiliate and marketing analysts |
| Discover top creators and influencers in a niche | Influencer and outreach teams |
| Track which pins and boards get the most saves | Social media managers |
| Collect competitor pins and destination links for research | Growth and SEO researchers |

### Frequently Asked Questions

**What can I use as input to scrape Pinterest pins?**
You can enter one or more search keywords, board URLs like pinterest.com/user/board/, user profile URLs like pinterest.com/user/, and individual pin URLs like pinterest.com/pin/12345/. You can combine keywords and URLs in a single run.

**How many pins can I collect per run?**
Set the Max Pins limit to whatever you need. The scraper pages through search results, boards and user feeds automatically until it reaches your limit, collecting 25 pins per page.

**Can I get the number of saves and comments for each pin?**
Yes. Turn on Fetch pin details to enrich every pin with its save count, comment count, share count and reaction count. Individual pin URLs always include these fields.

**Does it return the link behind each pin?**
Yes. Every pin includes its destination link and domain when the pin points to an external page, which is the strongest traffic and lead signal Pinterest exposes. Purely visual pins with no outbound link leave this field empty.

**Do I need a Pinterest login or cookies?**
No. The scraper reads only publicly available pins and does not require any login, account or cookies.

### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [Behance Projects Scraper](https://apify.com/scrapers_lat/behance-scraper): Extract creative projects, owners and appreciation counts from Behance.
- [Reddit Posts & Comments Scraper](https://apify.com/scrapers_lat/reddit-scraper): Collect posts, comments and scores from any subreddit or search.
- [X (Twitter) Profile Scraper](https://apify.com/scrapers_lat/x-profile-scraper): Pull profile details, follower counts and recent posts from X.
- [App Store Reviews Scraper](https://apify.com/scrapers_lat/app-store-reviews-scraper): Gather ratings and reviews for any App Store app.
- [Amazon Product Scraper](https://apify.com/scrapers_lat/amazon-product-scraper): Extract product titles, prices, images and ratings from Amazon.
- [Airbnb Listings Scraper](https://apify.com/scrapers_lat/airbnb-scraper): Collect listings, prices, photos and host details from Airbnb.

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with Pinterest. It only accesses data that is publicly available on the platform. Use it in accordance with Pinterest's terms of service.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of pins to collect across all inputs. Optional.

## `withDetails` (type: `boolean`):

When on, each pin is enriched with its save count, comment count, share count and reaction count. Turn off for faster keyword/board/user runs that only need the listing fields.

## `searchTerms` (type: `array`):

Keywords to search Pinterest for, e.g. "home decor". One search per keyword.

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

Pinterest URLs to scrape. Supports board URLs (pinterest.com/user/board/), user profile URLs (pinterest.com/user/), and pin URLs (pinterest.com/pin/12345/).

## Actor input object example

```json
{
  "maxItems": 50,
  "withDetails": true,
  "searchTerms": [
    "home decor"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxItems": 50,
    "searchTerms": [
        "home decor"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/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 = {
    "maxItems": 50,
    "searchTerms": ["home decor"],
}

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

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

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

```

## CLI example

```bash
echo '{
  "maxItems": 50,
  "searchTerms": [
    "home decor"
  ]
}' |
apify call scrapers_lat/pinterest-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/pinterest-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/i86oIN3vBeUtR5Gtu/builds/ZWgrohIeJEgpiw6fd/openapi.json
