# Pinterest Profile Scraper — Followers, Views & Boards (`lergassy/pinterest-profile-scraper`) Actor

\[$1.50/1K profiles] Public Pinterest profiles by username or URL: followers, following, pins, boards, monthly views, bio, verified website, business flag, join date — plus boards and latest pins. Unknown profiles free. No login, no run fee.

- **URL**: https://apify.com/lergassy/pinterest-profile-scraper.md
- **Developed by:** [Matvey](https://apify.com/lergassy) (community)
- **Categories:** Social media, Lead generation, Agents
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.36 / 1,000 profiles

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 Profile Scraper** scrapes public Pinterest profiles by username or profile URL and returns followers, following, pins, boards, monthly views, bio, website (and whether Pinterest verified it), verified and business flags and join date as JSON — plus, if you want, every public board and the profile's latest pins with their outbound links.

**$0.0016 per profile**, $0.0016 per board or pin row. No start fee, no login, no browser. Profiles that do not exist and inputs that are not profiles are free.

### Tested head-to-head — 14 October 2026

The same 10 well-known profiles (natgeo, marthastewart, etsy, ikeausa, bhg, nytimes, sephora, target, wholefoods, homedepot), profile data only, run on the five most-used Pinterest Actors that read profiles:

| | This Actor | Other Pinterest profile Actors |
|---|---|---|
| Profiles returned | **10 of 10** | 10 of 10 at best; one returned pins instead of profiles, one stopped at 3 of 10 at a $0.10 cap |
| Cost of the 10 profiles | **$0.016** | $0.020 – $0.10 |
| Start fee | **none** | none to $0.09 per run |
| Time | 9 s | 6 – 97 s |
| Monthly views, website verified flag, business e-mail, last pin date | **all in one row** | at most some of them |

### What is Pinterest Profile Scraper?

An influencer, competitor and lead research tool for marketers, agencies, e-commerce brands and AI agents. Paste a list of Pinterest accounts — from a search export, a competitor list or a CRM — and get the numbers you need before you reach out or benchmark: audience size, monthly reach, activity, the website behind the account, and what they pin.

Typical uses:

- **Influencer vetting** — followers, monthly views and last pin date for a shortlist of creators.
- **Competitor benchmarking** — track a brand's followers and boards weekly on a schedule.
- **Lead enrichment** — the verified website and business flag of each account.
- **Content audit** — a profile's latest pins with the links they drive traffic to, and every board with its pin count.

### What is in every row

**Profile rows** (`type: profile`)

| Field | Meaning |
|---|---|
| `username`, `name`, `url`, `about`, `avatarUrl`, `userId` | Who the account is |
| `followers`, `following`, `pins`, `boards` | Audience and size |
| `monthlyViews`, `monthlyViewsIsCapped` | Monthly views as Pinterest shows them; Pinterest caps the display at 10m+, flagged by `monthlyViewsIsCapped` |
| `website`, `websiteVerified` | The website on the profile and whether the owner verified it with Pinterest |
| `isVerified`, `isBusiness`, `isPrivate` | Badges and account type |
| `createdAt`, `lastPinAt` | Account age and last activity |
| `email`, `instagramUrl` | Business contact e-mail and linked Instagram the profile shows publicly (business accounts that filled them in) |
| `coverImageUrl`, `interestsFollowing`, `hasShop` | Profile cover, topics followed, whether the profile has a shop tab |

**Board rows** (`type: board`, with **Include boards**): `name`, `url`, `description`, `pins`, `followers`, `sections`, `isCollaborative`, `coverImageUrl`, `lastPinnedAt`, `profile`.

**Pin rows** (`type: pin`, with **Latest pins per profile** above 0): `title`, `description`, `link`, `linkDomain`, `imageUrl`, `isVideo`, `videoUrl`, `reactions`, `saves`, `boardName`, `createdAt`, `url`, `pinnerFollowers`, `profile` — plus `boardPinCount` when **Include boards** is on.

Three table views come with the dataset: **Profiles**, **Boards** and **Pins**.

### How much does it cost?

| Row | Price |
|---|---|
| Profile | **$0.0016** |
| Board | $0.0016 |
| Pin | $0.0016 |
| Not found / not a profile / failed | **$0** |

- 1,000 profiles, profile only: **$1.60**.
- One profile with 50 boards and 100 latest pins: **$0.24**.
- No start fee, no proxy charge. Prices drop on higher Apify plans (down to $0.00136 per row).

Other profile scrapers on the Store charge $0.002–0.004 per profile and one adds a $0.09 start fee per run (checked 14 October 2026).

Set **Max cost per run** in the run options to cap a run: the Actor stops by itself, green, once the cap is reached, and everything written is paid for.

### How to use it in three steps

1. Paste usernames or profile URLs into **👤 Profiles**, one per line.
2. Set **Latest pins per profile** (0 for profile only) and switch **Include boards** on or off.
3. Press **Start**, then download JSON, CSV or Excel — or call the run from the API, n8n, Make, Zapier or an AI agent.

### ⬇️ Input

```json
{
  "profiles": ["natgeo", "https://www.pinterest.com/marthastewart/", "@etsy"],
  "maxPinsPerProfile": 25,
  "includeBoards": true,
  "maxBoardsPerProfile": 50
}
```

### ⬆️ Output

```json
{
  "type": "profile",
  "username": "natgeo",
  "url": "https://www.pinterest.com/natgeo/",
  "name": "National Geographic",
  "about": "Since its inception 136 years ago, the core purpose of National Geographic has been to further the knowledge and awareness of our world.",
  "followers": 1307587,
  "following": 6,
  "pins": 9405,
  "boards": 79,
  "monthlyViews": 10000001,
  "monthlyViewsIsCapped": true,
  "website": "http://www.nationalgeographic.com",
  "websiteVerified": true,
  "isVerified": true,
  "isBusiness": true,
  "isPrivate": false,
  "createdAt": "2012-02-10T17:41:32.000Z",
  "lastPinAt": "2025-12-23T04:26:12.000Z"
}
```

### Tips

- **Find profiles first:** run [Pinterest Search Scraper](https://apify.com/lergassy/pinterest-search-scraper) with *People* for a keyword, then paste the usernames here.
- **Weekly tracking:** save the input as a Task and schedule it; compare `followers` and `lastPinAt` between runs.
- **Accounts that only save others' pins** have no pins of their own — the Actor then returns their latest saved pins instead.

### For AI agents

- **Minimal input:** `{"profiles": ["natgeo"]}` — usernames or profile links, any Pinterest domain.
- **Returns:** one `type: "profile"` row per profile; `type: "board"` / `type: "pin"` rows only when `includeBoards` / `maxPinsPerProfile` ask for them; `type: "error"` rows (free) for unknown usernames, inputs that are not profiles and boards/pins lists Pinterest cut short, always at the end of the dataset. Blank lines are skipped.
- **Time:** about 1 second per profile, plus about 1 second per 25 boards or pins. Up to 50 profiles — call synchronously (`run-sync-get-dataset-items`); bigger lists — start the run and poll it.
- The status message says how many profiles, boards and pins came back and how many inputs were not found.

### Integrations and API

Run it from the [Apify API](https://docs.apify.com/api/v2), the JavaScript and Python clients, a schedule, or a webhook, and push results to Google Sheets, Airtable, HubSpot or a database through **n8n**, **Make** or **Zapier**. The [Apify MCP server](https://mcp.apify.com) exposes it to Claude, ChatGPT and other agents as a tool: "compare the Pinterest audiences of IKEA UK, Etsy and Martha Stewart".

### FAQ

**Is it legal to scrape Pinterest profiles?** The Actor reads only public profile information any visitor sees without an account. Some profiles belong to individuals — you are responsible for having a legitimate reason to process that data and for complying with Pinterest's terms and privacy laws such as GDPR and CCPA.

**Can it read private profiles or secret boards?** No. A private profile comes back without boards or pins, and secret boards are never included.

**Do I need a Pinterest account?** No.

### You might also like

- [Pinterest Scraper](https://apify.com/lergassy/pinterest-scraper) — the all-in-one version: search, profiles, boards and pin URLs in one run.
- [Pinterest Search Scraper](https://apify.com/lergassy/pinterest-search-scraper) — pins, video pins, boards and people for any keyword.
- [TikTok Influencer Scraper](https://apify.com/lergassy/tiktok-influencer-scraper) — creator reach and engagement on TikTok.
- [Threads Profile Scraper](https://apify.com/lergassy/threads-profile-scraper) — Threads profiles and posts.

# Actor input Schema

## `profiles` (type: `array`):

Usernames or profile URLs, one per line — <b>natgeo</b>, <b>https://www.pinterest.com/marthastewart/</b>. Any Pinterest domain works.

## `maxPinsPerProfile` (type: `integer`):

0 = profile only. Otherwise the profile's own latest pins with link, image, reactions and board.

## `includeBoards` (type: `boolean`):

One row per public board: name, pins, followers, cover, last pinned.

## `maxBoardsPerProfile` (type: `integer`):

Used when 'Include boards' is on.

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

Off by default — Pinterest answers a direct request. A refused request is retried through a proxy automatically.

## Actor input object example

```json
{
  "profiles": [
    "natgeo"
  ],
  "maxPinsPerProfile": 10,
  "includeBoards": true,
  "maxBoardsPerProfile": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

One row per profile, plus board and pin rows when asked.

# 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 = {
    "profiles": [
        "natgeo"
    ],
    "maxPinsPerProfile": 10,
    "includeBoards": true,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("lergassy/pinterest-profile-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 = {
    "profiles": ["natgeo"],
    "maxPinsPerProfile": 10,
    "includeBoards": True,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("lergassy/pinterest-profile-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 '{
  "profiles": [
    "natgeo"
  ],
  "maxPinsPerProfile": 10,
  "includeBoards": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call lergassy/pinterest-profile-scraper --silent --output-dataset

```

## MCP server setup

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