Pinterest Profile Scraper

๐Ÿ“Œ Extract public Pinterest profile data: followers, pins, boards, websites, verification status, and recent pin previews from profile URLs or usernames.

Data fields

FieldTypeDescription
profileUrlstringValue exported as profileUrl.
usernamestringValue exported as username.
fullNamestringValue exported as fullName.
profileDescriptionstringValue exported as profileDescription.
websitestringValue exported as website.
imageUrlstringValue exported as imageUrl.
coverImageUrlstringValue exported as coverImageUrl.
verifiedbooleanValue exported as verified.

Input preview

profileUrlsPinterest profile URLs
usernamesPinterest usernames
includeBoardsInclude board previews
maxBoardsPerProfileMaximum boards per profile
includePinsInclude recent pin previews
maxPinsPerProfileMaximum pins per profile

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Extract public Pinterest profile details, follower counts, board previews, and recent pin previews from Pinterest creator or brand accounts.

Use this actor to monitor public Pinterest accounts for social media research, ecommerce trend tracking, influencer discovery, competitor analysis, and content planning.

What does Pinterest Profile Scraper do?

Pinterest Profile Scraper turns public Pinterest profiles into structured data.

It accepts Pinterest profile URLs or usernames.

It returns one clean dataset item per profile.

Each item can include account metadata, public counters, boards, and recent pins.

You can export the results as JSON, CSV, Excel, XML, RSS, or HTML from Apify.

Who is it for?

Marketers

Track brand profiles, creator accounts, and campaign inspiration accounts.

Ecommerce teams

Monitor public Pinterest activity for categories, seasonal boards, and product inspiration.

Trend researchers

Compare follower counts, board inventory, and recent visual topics across profiles.

Lead generation teams

Collect public profile facts for outreach lists and account qualification.

Agencies

Prepare account audits and competitive snapshots for clients.

Why use this actor?

  • ๐Ÿ“Œ Profile-focused output instead of broad mixed search results
  • ๐Ÿ“Š Public counters such as followers, following, pins, and boards
  • ๐Ÿงฉ Optional nested board previews
  • ๐Ÿ–ผ๏ธ Optional recent pin previews with images and outbound links
  • ๐Ÿ” Batch input by URL or username
  • ๐Ÿ“ค Export-ready dataset rows
  • โš™๏ธ Works in Apify API, schedules, webhooks, and integrations

Input settings

Setting JSON key Type / default Description
Pinterest profile URLs profileUrls array, default [{"url":"https://www.pinterest.com/pinterest/"},{"url":"https://www.pinterest.com/etsy/"}] Public Pinterest profile URLs to scrape. You can also use usernames below.
Pinterest usernames usernames array, default ["pinterest"] Pinterest usernames without the domain, for example pinterest or etsy.
Include board previews includeBoards boolean, default true Return public board previews embedded on the profile page.
Maximum boards per profile maxBoardsPerProfile integer, default 10 Limit how many board previews are stored for each profile.
Include recent pin previews includePins boolean, default true Return recent public pin previews embedded on the profile page.
Maximum pins per profile maxPinsPerProfile integer, default 20 Limit how many recent pin previews are stored for each profile.
Proxy configuration proxyConfiguration object, default {"useApifyProxy":false} Runs use direct connections by default to keep costs low. Enable Apify Proxy, preferably Residential, only for higher-volume runs or when Pinterest rate-limits or blocks your traffic.

Board preview fields

Each board preview can include:

  • id
  • name
  • url
  • description
  • followerCount
  • pinCount
  • coverImageUrl

Recent pin preview fields

Each recent pin preview can include:

  • id
  • title
  • description
  • pinUrl
  • link
  • imageUrl
  • boardName
  • boardUrl
  • createdAt
  • repinCount
  • commentCount

How to use Pinterest Profile Scraper

  1. Open the actor on Apify.
  2. Add Pinterest profile URLs or usernames.
  3. Choose whether to include board previews.
  4. Choose whether to include recent pin previews.
  5. Set small limits for your first run.
  6. Click Start.
  7. Open the dataset when the run finishes.
  8. Export the data in your preferred format.

Input options

Pinterest profile URLs

Add full public profile URLs.

Example:

[
  { "url": "https://www.pinterest.com/pinterest/" },
  { "url": "https://www.pinterest.com/etsy/" }
]

Pinterest usernames

Add usernames without the domain.

Example:

["pinterest", "etsy"]

Include board previews

Set includeBoards to true to return board previews.

Use maxBoardsPerProfile to limit nested board data.

Include recent pin previews

Set includePins to true to return recent pin previews.

Use maxPinsPerProfile to limit nested pin data.

Proxy configuration

Runs use direct connections by default to keep costs low.

For small tests, keep the no-proxy default settings.

Enable Apify Proxy, preferably Residential, only for higher-volume runs or if Pinterest rate-limits or blocks your traffic.

Example input

{
  "profileUrls": [
    { "url": "https://www.pinterest.com/pinterest/" }
  ],
  "usernames": ["etsy"],
  "includeBoards": true,
  "maxBoardsPerProfile": 10,
  "includePins": true,
  "maxPinsPerProfile": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}

Example output

{
  "profileUrl": "https://www.pinterest.com/pinterest/",
  "username": "pinterest",
  "fullName": "Pinterest",
  "profileDescription": "Find your reason to go offline. ๐Ÿ“Œ",
  "website": "http://www.pinterest.com",
  "verified": true,
  "followerCount": 6257074,
  "followingCount": 393,
  "pinCount": 95722,
  "boardCount": 123,
  "boards": [
    {
      "name": "Sporty chic soccer looks",
      "url": "https://www.pinterest.com/pinterest/sporty-chic-soccer-looks/"
    }
  ],
  "recentPins": [
    {
      "pinUrl": "https://www.pinterest.com/pin/424605071145314750/",
      "imageUrl": "https://i.pinimg.com/736x/example.jpg"
    }
  ],
  "scrapedAt": "2026-06-29T10:00:00.000Z"
}

Tips for best results

  • โœ… Use public profile URLs.
  • โœ… Start with small profile batches.
  • โœ… Keep board and pin limits reasonable.
  • โœ… Use usernames for quick batch setup.
  • โœ… Export JSON if you need nested boards and pins.
  • โœ… Export CSV if you only need top-level profile fields.

Common use cases

Creator discovery

Compare followers, boards, and recent visual activity across creator accounts.

Brand monitoring

Track public brand profiles and save snapshots over time.

Competitive research

Build a list of competitors and monitor profile-level changes.

Content planning

Review boards and recent pins to discover visual content themes.

Ecommerce research

Analyze product inspiration accounts, marketplace brands, and seasonal boards.

Integrations

Use this actor with Apify integrations to automate Pinterest profile monitoring.

Google Sheets

Send profile rows to Google Sheets for campaign lists and team review.

Webhooks

Trigger a webhook when scheduled profile monitoring finishes.

Make

Route new datasets to CRM, enrichment, or alerting scenarios.

Zapier

Create lightweight workflows for saved profile snapshots.

Apify datasets

Query historical runs and compare account counters over time.

API usage

Run Pinterest Profile Scraper from your own code with the Apify API.

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "profileUrls": [
    {
      "url": "https://www.pinterest.com/pinterest/"
    },
    {
      "url": "https://www.pinterest.com/etsy/"
    }
  ],
  "usernames": [
    "pinterest"
  ],
  "includeBoards": true,
  "maxBoardsPerProfile": 10,
  "includePins": true
};

const run = await client.actor('fetch_cat/pinterest-profile-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/pinterest-profile-scraper").call(run_input={
  "profileUrls": [
    {
      "url": "https://www.pinterest.com/pinterest/"
    },
    {
      "url": "https://www.pinterest.com/etsy/"
    }
  ],
  "usernames": [
    "pinterest"
  ],
  "includeBoards": true,
  "maxBoardsPerProfile": 10,
  "includePins": true
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~pinterest-profile-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profileUrls":[{"url":"https://www.pinterest.com/pinterest/"},{"url":"https://www.pinterest.com/etsy/"}],"usernames":["pinterest"],"includeBoards":true,"maxBoardsPerProfile":10,"includePins":true}'

Use with AI agents via MCP

Pinterest Profile Scraper can be used by AI assistants through the hosted Apify MCP server.

Claude Code setup

claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/pinterest-profile-scraper"

Claude Desktop, Cursor, or VS Code JSON config

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=fetch_cat/pinterest-profile-scraper"
    }
  }
}

Example prompts

  • "Run Pinterest Profile Scraper with this input JSON and summarize the dataset."
  • "Export the latest Pinterest Profile Scraper results to a table I can review."
  • "Schedule this Actor for monitoring and tell me what changed between runs."

Scheduling

Schedule this actor to run daily, weekly, or monthly.

Scheduled runs are useful for tracking follower count changes and profile activity snapshots.

Keep your profile list stable if you want simple time-series comparisons.

Data quality notes

Pinterest controls what public data is visible on each profile.

Some profiles may expose fewer pins or boards than others.

Some counters can change between runs.

Private, removed, or unavailable profiles return an error field.

Limits

The first version focuses on data visible from public profile pages.

It does not log in to Pinterest.

It does not scrape private boards.

It does not bypass profile privacy settings.

It does not guarantee historical data that is not visible on the profile.

Troubleshooting

Why did a profile return an error?

The profile may not exist, may be private, may be unavailable in your region, or Pinterest may have temporarily limited the request.

Try the profile in a browser and verify that it is publicly visible.

Why are there fewer boards or pins than requested?

The limits cap the maximum number stored.

Pinterest may expose fewer previews on the public profile page.

Why is monthlyViews empty?

Pinterest does not always expose monthly views on every public profile.

When it is not visible, the actor returns null.

Legality and responsible use

This actor extracts public Pinterest profile information.

You are responsible for using the data in compliance with applicable laws, Pinterest terms, and privacy rules.

Do not use scraped data for spam, harassment, or prohibited profiling.

If you store personal data, make sure you have a lawful basis and honor deletion requests.

Support

Report bugs, wrong output, blocked runs, or missing fields from the Actor page. Include the Apify run ID or run URL, your input JSON, what you expected, what the Actor returned, and one reproducible public URL so the issue can be tested quickly.

Common questions

Questions and answers reused from the canonical actor README.

Can I scrape many profiles at once?

Yes. Add multiple URLs or usernames, then use sensible board and pin limits.

Can I scrape private Pinterest profiles?

No. This actor is for public profile data only.

Can I export nested boards and pins?

Yes. JSON exports preserve nested arrays best.

Can I monitor profiles over time?

Yes. Use Apify schedules and compare dataset exports between runs.

Does this actor require a Pinterest account?

No. It is designed for publicly visible profile data.