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:
idnameurldescriptionfollowerCountpinCountcoverImageUrl
Recent pin preview fields
Each recent pin preview can include:
idtitledescriptionpinUrllinkimageUrlboardNameboardUrlcreatedAtrepinCountcommentCount
How to use Pinterest Profile Scraper
- Open the actor on Apify.
- Add Pinterest profile URLs or usernames.
- Choose whether to include board previews.
- Choose whether to include recent pin previews.
- Set small limits for your first run.
- Click Start.
- Open the dataset when the run finishes.
- 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.