Pinterest Profiles Scraper avatar

Pinterest Profiles Scraper

Pricing

Pay per event

Go to Apify Store
Pinterest Profiles Scraper

Pinterest Profiles Scraper

Extract public Pinterest profile metadata, audience counts, verification, websites, and recent pin and board signals from usernames or profile URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Extract public Pinterest profiles into analysis-ready records. Provide usernames or profile URLs and get identity, bio, website, audience counts, verification flags, profile images, and configurable recent pin and board signals.

Use the Actor for one-time profile research or schedule it to monitor a stable list of public influencer, creator, brand, and competitor accounts over time. No Pinterest login or cookies are required for the supported public data.

What does Pinterest Profiles Scraper do?

For every supplied public profile, the Actor:

  1. normalizes usernames, @usernames, and Pinterest profile URLs;
  2. removes duplicate profiles within the run;
  3. requests the current public profile metadata from Pinterest;
  4. optionally collects recent public pin previews;
  5. optionally collects recently active public boards;
  6. writes one typed dataset item per successfully extracted profile.

The Actor does not search for unknown accounts, download media, scrape followers, or access private Pinterest data.

Who is it for?

  • Influencer marketers comparing audience size and account verification.
  • Competitive intelligence teams monitoring brand profile activity.
  • Creator agencies enriching known Pinterest account lists.
  • Data analysts building periodic snapshots of follower, pin, and board counts.
  • Developers feeding normalized Pinterest profile data into a CRM or warehouse.

Choose this Actor when you already know the usernames or profile URLs. For pin search, individual pins, and board-feed extraction, use Pinterest Scraper instead.

Why use this Actor?

  • Accepts usernames, @usernames, and full profile URLs in one list.
  • Returns one consistent record per profile rather than mixed profile and pin rows.
  • Includes audience, website, verification, and recent activity signals together.
  • Supports up to 100 profiles per run with bounded concurrency.
  • Lets you skip recent-content requests when you only need profile counters.
  • Works with Apify schedules, webhooks, API clients, Make, Zapier, and MCP.

What Pinterest profile data can you extract?

Field groupIncluded data
IdentityPinterest ID, username, display name, canonical profile URL
DescriptionPublic bio, website URL, claimed or verified domain
AudienceFollower count and following count when exposed
PublishingTotal pin count, board count, latest pin-save timestamp
TrustVerified identity, verified merchant, partner, and private flags
ImagesBest available profile image and profile cover image URLs
Recent pinsID, title, description, URL, image, creation time, saves, board name
Recent boardsID, name, URL, description, pin/follower counts, cover image
ProvenanceProfile creation time when exposed and extraction timestamp

Pinterest does not expose every field for every account. Unavailable scalar values are returned as null; unavailable recent collections are returned as empty arrays.

Getting started

  1. Open the Actor in Apify Console.
  2. Add one or more entries to Pinterest profiles.
  3. Choose how many recent pins and boards to include.
  4. Keep the default concurrency for normal runs.
  5. Click Start.
  6. Open the Pinterest profiles dataset view.
  7. Export the results as JSON, CSV, Excel, XML, or another supported format.

A small first input:

{
"profiles": [
"nasa",
"https://www.pinterest.com/pinterest/"
],
"maxRecentPins": 3,
"maxRecentBoards": 3,
"maxConcurrency": 2
}

Input parameters

ParameterTypeDefaultDescription
profilesstring[]nasaRequired list of 1–100 usernames, @usernames, or full Pinterest profile URLs.
maxRecentPinsinteger3Recent pin previews per profile, from 0 to 10. Set to 0 to skip this request.
maxRecentBoardsinteger3Recently active boards per profile, from 0 to 10. Set to 0 to skip this request.
maxConcurrencyinteger5Profiles requested in parallel, from 1 to 20.

Duplicate entries are compared after normalization and scraped once. Only pinterest.com profile URLs with a single username path are accepted. Pin URLs, board URLs, search URLs, and non-Pinterest URLs fail input validation.

Output example

The default dataset contains one record per successful profile. This shortened example reflects the current output shape:

{
"profileId": "123456789012345678",
"username": "samplecreator",
"fullName": "Sample Creator",
"profileUrl": "https://www.pinterest.com/samplecreator/",
"bio": "Ideas and practical inspiration for creative projects.",
"websiteUrl": "https://sample.example.org/",
"domain": "sample.example.org",
"followerCount": 125000,
"followingCount": 240,
"pinCount": 1840,
"boardCount": 52,
"isVerified": true,
"isVerifiedMerchant": false,
"isPartner": false,
"isPrivate": false,
"profileImageUrl": "https://i.pinimg.com/280x280_RS/aa/bb/cc/sample.jpg",
"coverImageUrl": "https://i.pinimg.com/originals/aa/bb/cc/sample-cover.jpg",
"createdAt": "Mon, 15 Jan 2024 12:00:00 +0000",
"lastPinSavedAt": "Tue, 14 Jan 2025 10:30:00 +0000",
"recentPins": [
{
"id": "987654321098765432",
"title": "Sample project idea",
"url": "https://www.pinterest.com/pin/987654321098765432/",
"saveCount": 42,
"boardName": "Project ideas"
}
],
"recentBoards": [
{
"id": "123456789098765432",
"name": "Project ideas",
"url": "https://www.pinterest.com/samplecreator/project-ideas/",
"pinCount": 85,
"followerCount": 1200
}
],
"scrapedAt": "2025-01-15T12:00:00.000Z"
}

How much does it cost to extract Pinterest profiles?

This is a pay-per-event Actor. A run has a $0.005 start charge and a plan-dependent charge for each successfully saved profile record. Recent pin and board previews are included in the profile event and do not have separate event charges. Failed or rejected profiles are not charged as profile records.

At the current BRONZE rate of $0.00224 per profile:

Successful profilesCost calculation
1$0.005 start + 1 × $0.00224 profile
10$0.005 start + 10 × $0.00224 profile
100$0.005 start + 100 × $0.00224 profile

Other Apify plan tiers have different profile-event rates. Apify Console shows the applicable event prices before a run.

Monitoring Pinterest profile metrics

A dataset item is a snapshot, which makes the Actor useful with Apify schedules. For example:

  1. save a Task containing a stable list of competitor profiles;
  2. schedule it daily or weekly;
  3. send the dataset to a webhook or data warehouse;
  4. compare followerCount, pinCount, boardCount, and lastPinSavedAt;
  5. alert only when a metric crosses your own threshold.

The Actor reports current source values; it does not calculate historical deltas or send alerts by itself.

Export and integration workflows

  • Export a one-time comparison to CSV or Excel.
  • Append scheduled snapshots to BigQuery, Snowflake, or a database.
  • Enrich CRM creator records by Pinterest username.
  • Trigger a webhook when a scheduled run completes.
  • Use Make or Zapier to route dataset items into Sheets or Airtable.
  • Query the dataset from an internal dashboard.

For lightweight audience monitoring, set both recent limits to 0. For content-context monitoring, retain recent pins and boards.

Run with the Apify API using cURL

Replace YOUR_TOKEN with an Apify API token:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~pinterest-profile-metadata-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"profiles": ["nasa", "pinterest"],
"maxRecentPins": 3,
"maxRecentBoards": 3
}'

Run with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/pinterest-profile-metadata-scraper').call({
profiles: ['nasa', 'pinterest'],
maxRecentPins: 3,
maxRecentBoards: 3,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/pinterest-profile-metadata-scraper').call(
run_input={
'profiles': ['nasa', 'pinterest'],
'maxRecentPins': 3,
'maxRecentBoards': 3,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with MCP and AI agents

Add the Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/pinterest-profile-metadata-scraper"

Claude Desktop

Add this server to the Claude Desktop MCP configuration:

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

Cursor

Add the same JSON server entry in Cursor Settings → MCP.

VS Code

Add the same HTTP MCP URL to your workspace or user MCP server configuration.

Example prompts:

  • “Extract the public profile metrics for these five Pinterest usernames.”
  • “Compare follower, pin, and board counts for these brand profiles.”
  • “Collect five recent pin and board signals for this competitor list.”

Limits and reliability

  • A run accepts at most 100 unique profiles.
  • Recent pins and boards are limited to 10 of each per profile.
  • The Actor reads only public, unauthenticated data exposed by Pinterest.
  • Private or removed profiles may expose limited data or return no record.
  • Pinterest can change undocumented fields or temporarily rate-limit requests.
  • Transient network, 429, and server failures are retried with bounded backoff.
  • Recent-content enrichment can fail independently; valid profile metadata is still saved with the affected recent array empty.
  • If every requested profile fails, the run fails instead of returning a silent empty success.

Tips for stable runs

  • Start with the default concurrency of 5.
  • Reduce concurrency for a large list if logs show temporary rate limiting.
  • Use maxRecentPins: 0 and maxRecentBoards: 0 when only counters matter.
  • Schedule at a cadence appropriate for the decisions you make from the data.
  • Keep the source username as your stable join key; display names can change.
  • Store scrapedAt with every snapshot before calculating changes.

Troubleshooting

The input is rejected before scraping

Check that every value is a username, @username, or a profile URL such as https://www.pinterest.com/nasa/. Board, pin, search, and third-party URLs are intentionally rejected.

A profile is reported as not found

Open the profile URL in a logged-out browser and verify the current username. The profile may have been renamed, removed, or made unavailable publicly.

Some recent pin or board arrays are empty

The account may not expose that collection, the selected limit may be 0, or an enrichment request may have failed after the required profile request succeeded. Inspect the run log for the affected username.

The run is rate-limited

Lower maxConcurrency and retry later. The Actor does not automatically switch to a paid proxy, so no hidden proxy traffic is added to the run.

Responsible use and legality

Pinterest profile pages can contain personal data. Use this Actor only for lawful purposes and only collect data you are authorized to process. Follow Pinterest's terms, applicable privacy and data-protection laws, and your organization's retention and access-control policies. Do not use the output for harassment, sensitive-trait inference, spam, or unlawful automated decision-making. The user of the Actor is responsible for the purpose and downstream handling of the extracted data.

FAQ

Does it require a Pinterest login?

No. The Actor targets public profile data available without account credentials.

Can it discover profiles by keyword?

No. Supply known usernames or profile URLs. This boundary keeps profile monitoring precise and predictable.

Does it scrape followers or following lists?

No. It returns public aggregate counts when Pinterest exposes them, not the underlying social graph.

Does it download profile pictures or pin images?

No. It returns public image URLs but does not download media files.

Can I monitor changes automatically?

Yes. Save the input as an Apify Task and attach a schedule. Persist each run's dataset in your destination and compare snapshots there.

Are recent pins and boards charged separately?

No. They are enrichments inside each successfully saved profile record and do not emit separate charge events.

What happens when one profile fails in a batch?

Other valid profiles continue. The failed username and reason appear in logs, and only successful profile records are charged and written.

What happens when all profiles fail?

The Actor exits with a failed status and a concise summary instead of reporting a misleading successful empty run.