# Pinterest Profile Scraper (`devcake/pinterest-profile-scraper`) Actor

Extract Pinterest user profiles with follower/following and pin/board counts,bios, emails, recent content.
50+ fields for influencer outreach, lead generation, and competitor analysis.

- **URL**: https://apify.com/devcake/pinterest-profile-scraper.md
- **Developed by:** [devcake](https://apify.com/devcake) (community)
- **Categories:** E-commerce, Lead generation, Social media
- **Stats:** 55 total users, 8 monthly users, 95.3% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $4.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 Profile & Email Scraper

Extract Pinterest user profile data including usernames, follower counts, bios, website URLs, verification status, and contact information. Perfect for influencer marketing, lead generation, and social media research.

### ✨ Features

- 👤 **Complete Profile Data** — Username, bio, avatar, location, verification
- 📊 **Engagement Stats** — Followers, following, pin count, board count
- 🏢 **Business Data** — Website URL, partner status, merchant verification
- 📧 **Contact Discovery** — Email addresses when available
- ✅ **Verification Status** — Is verified, is partner, is verified merchant
- 🎯 **Quick Lookup Mode** — Get profile data only, skip pins and boards
- 🚀 **No Login Required** — Works without cookies for public profiles
- 🌐 **Proxy Support** — Built-in Apify Proxy integration

### 💡 Use Cases

| Use Case | Description |
|----------|-------------|
| **Influencer Marketing** | Find and vet potential influencers by follower count |
| **Lead Generation** | Build lists of profiles with website URLs and contact emails |
| **Competitor Analysis** | Monitor competitor profile growth and engagement |
| **Social Research** | Study user demographics and behavior patterns |
| **Outreach Campaigns** | Discover contact information for business partnerships |
| **Market Research** | Analyze profile statistics across niches |

### 💰 Pricing

**Pay per use** — $4 per 1,000 profiles

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 Search Scraper** | $4 per 1,000 results | [View Actor](https://apify.com/devcake/pinterest-search-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 |
|-------|------|----------|-------------|
| `startUrls` | array | ✅ Yes | Pinterest profile URLs |
| `proxyConfig` | object | No | Proxy configuration (recommended) |
| `maxTotalChargeUsd` | number | No | Spending limit per run (default: $10) |

#### Supported URL Formats

```
https://www.pinterest.com/username/
https://pinterest.com/username/
```

### 📤 Output

Each profile includes 50+ data fields:

#### Basic Data

- `id`, `url`, `username`, `full_name`, `first_name`, `last_name`
- `bio`, `location`
- `avatar_url`, `image_medium_url`, `profile_cover`

#### Stats

- `follower_count`, `following_count`, `pin_count`, `board_count`

#### Verification

- `verified`, `is_partner`, `is_verified_merchant`, `domain_verified`

#### Business

- `is_gco_account`, `business_account`, `catalog_available`

#### Contact

- `website_url`, `instagram_data`, `contact_email`

### 🎯 Example

```json
{
  "startUrls": [
    {"url": "https://www.pinterest.com/nike/"},
    {"url": "https://www.pinterest.com/ikea/"}
  ],
  "maxTotalChargeUsd": 10
}
```

```json
{
  "id": "516084575957422884",
  "url": "https://pinterest.com/nike/",
  "username": "nike",
  "full_name": "Nike",
  "bio": "Inspired by athletes*, styled by you.",
  "location": null,
  "avatar_url": "https://i.pinimg.com/75x75_RS/...",
  "image_medium_url": "https://i.pinimg.com/400x400_RS/...",
  "follower_count": 1093874,
  "following_count": 3,
  "pin_count": 0,
  "board_count": 5,
  "verified": false,
  "is_partner": true,
  "is_verified_merchant": true,
  "domain_verified": true,
  "business_account": true,
  "website_url": "http://www.nike.com/",
  "contact_email": null
}
```

### 🚀 Getting Started

1. **Add profile URLs** — Enter Pinterest profile URLs
2. **Set cost limit** — Optional spending cap per run
3. **Enable proxy** (recommended) — Use Apify Proxy for reliability
4. **Run** — Get profile data in JSON format

### 💡 Tips

- **Influencer Discovery**: Filter by `follower_count` to find creators by audience size
- **Business Verification**: Check `is_verified_merchant` and `domain_verified` for trusted accounts
- **Lead Generation**: Use `website_url` and `contact_email` for outreach campaigns
- **Partner Analysis**: `is_partner` indicates official Pinterest partners
- **Competitor Research**: Track `pin_count` and `board_count` over time

***

### ❓ FAQ

**Q: Do I need Pinterest login credentials?**
A: No! Public profiles can be accessed without authentication.

**Q: Can I scrape private profiles?**
A: Only public profiles are accessible. Private profiles require authentication.

**Q: How many profiles can I scrape per run?**
A: Unlimited. Control spending with `maxTotalChargeUsd` to set your budget.

**Q: Is email always available?**
A: No. Contact email is only available when users have made it public.

**Q: What's the difference between verified and is\_partner?**
A: `verified` means the account has a blue checkmark. `is_partner` means they're a Pinterest content partner.

**Q: Can I get profile image URLs?**
A: Yes! Multiple sizes are provided: `avatar_url` (75x75), `image_medium_url` (400x400), and `profile_cover`.

***

### ⚠️ Troubleshooting

**Profile not found?**

- Verify the URL format (pinterest.com/username/)
- Check if the profile exists and is public
- Try accessing the profile in a browser first

**Missing data fields?**

- Some fields like `contact_email` are optional and may not be available
- Business accounts have more data than personal accounts
- This is a Pinterest limitation, not a scraper issue

**Rate limiting?**

- Enable Apify Proxy in the input (recommended)
- Add delays between requests if scraping many profiles
- Set a `maxTotalChargeUsd` limit for controlled spending

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

# Actor input Schema

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

Add Pinterest profile URLs to scrape (e.g., https://www.pinterest.com/username/)

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

Configure proxy rotation. Using SHARED\_PROXY is recommended for Pinterest.

## `maxTotalChargeUsd` (type: `number`):

Set a spending limit for this run. The actor will stop when this amount is reached.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.pinterest.com/nike/"
    }
  ],
  "maxTotalChargeUsd": 10
}
```

# Actor output Schema

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

Complete dataset with all profile data

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

Pinterest user profiles optimized for influencer marketing and lead generation - verification status, follower counts, contact emails, business data

# 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 = {
    "startUrls": [
        {
            "url": "https://www.pinterest.com/nike/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devcake/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 = { "startUrls": [{ "url": "https://www.pinterest.com/nike/" }] }

# Run the Actor and wait for it to finish
run = client.actor("devcake/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 '{
  "startUrls": [
    {
      "url": "https://www.pinterest.com/nike/"
    }
  ]
}' |
apify call devcake/pinterest-profile-scraper --silent --output-dataset

```

## MCP server setup

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