Pinterest Profile Scraper | Followers, Pins & Bio, No Login avatar

Pinterest Profile Scraper | Followers, Pins & Bio, No Login

Pricing

from $2.00 / 1,000 profile scrapeds

Go to Apify Store
Pinterest Profile Scraper | Followers, Pins & Bio, No Login

Pinterest Profile Scraper | Followers, Pins & Bio, No Login

Scrape public Pinterest profiles by username: followers, following, pin and board counts, bio, website and verified flag. Optionally attach each profile’s most recent pins with save counts, images and links. No login, no browser. Works in Claude, ChatGPT & any MCP agent.

Pricing

from $2.00 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

3

Monthly active users

a day ago

Last modified

Share

10 Pinterest brand profiles with 84 recent pins in 108 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.

Give it Pinterest usernames such as nasa, hgtv or sephora (or their profile links) and get one row per profile with the follower count, following count, pin count, board count, bio, website and profile photo. Switch on includePins to also get each profile's latest pins, with titles, images, save counts, boards and destination links.

Why choose this actor?

  • Profile numbers for a whole list of accounts in one run. In our 2 October test, 10 brand profiles came back in 108 seconds, all 10 complete, with 84 recent pins attached. From Etsy's 11.2 million followers to HGTV's 26,315 pins, you get the figures Pinterest shows on each profile page.
  • One price per profile, pins included. You pay per profile delivered. The recent pins ride inside the profile row at no extra charge, and a username that does not exist or cannot be reached is never charged.
  • No Pinterest login, cookies or API key. The actor reads public profile pages. When Pinterest blocks a request it retries on Apify's proxies, which are included in the price.

Run it on Apify

Part of The Mine Works Social media and video family: Threads Scraper, Reddit Scraper, Threads Search Scraper, Instagram Profile Scraper, Instagram Followers & Following, Reddit Search Scraper.

Try it in one minute

Paste this into the JSON tab of the input page and press Start. It returns 3 profiles in well under a minute.

{
"usernames": ["nasa", "hgtv", "sephora"]
}

Give profiles in usernames as plain usernames (nasa), with an @ (@nasa) or as profile links (https://www.pinterest.com/nasa/); the actor cleans them all to the username and drops repeats. The username field takes one more profile and adds it to the list. Add "includePins": true to get each profile's latest pins, and maxPins to say how many.

Apify's free plan includes $5 of credit every month, which covers about 1,600 profiles at this actor's price (Free tier $3.00 per 1,000 profiles, plus the $0.005 start fee on each run, in runs of 50).

Copy to your AI assistant

themineworks/pinterest-profile-scraper on Apify. Looks up public Pinterest profiles by username and returns one row per profile with full name, bio, followers, following, pin count, board count, website, profile photo and profile URL, plus optional recent pins (title, description, image, save count, comment count, board, destination link, domain, timestamp). Call ApifyClient("TOKEN").actor("themineworks/pinterest-profile-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: usernames (array of usernames or profile URLs). Optional: username (one more profile), includePins (boolean, default false), maxPins (integer 1 to 200, default 50, recent pins per profile). Rows with _type "summary" or "info" are run reports; rows with status "not_found" or "blocked" are profiles that could not be read. None of these is billed. Full spec: GET https://api.apify.com/v2/acts/themineworks~pinterest-profile-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral

Key features

  • Up to 500 profiles per run. Each username becomes one row; repeats in your list are removed before anything is fetched.
  • 9 profile fields as Pinterest reports them: full_name, about, followers, following, pin_count, board_count, website_url, profile_pic_url and profile_url.
  • Up to 200 recent pins per profile, each with 17 fields: title, description, full size image URL, video URL, save count, comment count, board name and link, pinner, destination link and domain, dominant colour and the pin's timestamp.
  • A fallback for every block. Each profile is tried first with a plain request, then on Apify's datacenter proxy, then on residential proxy (at most twice), then in a headless browser, and finally through Pinterest's public widget feed (name, bio and followers only). The source field tells you which route answered.
  • Honest misses. A profile that cannot be read comes back as a row with status blocked (or not_found when Pinterest says so outright) and is never charged.

How to use it

Basic: a few profiles, numbers only

{
"usernames": ["nasa", "natgeo", "hgtv"]
}

Without pins, each profile is a single page read, so this is the fastest and cheapest way to collect follower and pin counts.

Many profiles at once, with recent pins

{
"usernames": [
"https://www.pinterest.com/sephora/",
"marthastewart",
"@wholefoods",
"etsy",
"target"
],
"includePins": true,
"maxPins": 25
}

Links, @ names and plain usernames can be mixed in one list. Each profile row then carries a recent_pins list of up to 25 pins.

Competitor tracking for a brand team

Put your own account and your rivals in one list.

{
"usernames": ["hgtv", "marthastewart", "target", "wholefoods"],
"includePins": false
}

Save it as a task and schedule it weekly (for example 0 8 * * 1). Each run adds a dated snapshot (scraped_at) of followers, pin_count and board_count, so a sheet of weekly rows shows who is growing and who is posting.

{
"usernames": ["hgtv"],
"includePins": true,
"maxPins": 200
}

Group the pins by board to see which boards a brand feeds most, by domain to see where its pins send traffic, and sort by save_count to find the pins that travel furthest.

Influencer vetting before outreach

{
"usernames": ["creator_one", "creator_two", "creator_three"],
"includePins": true,
"maxPins": 30
}

Replace the placeholders with the creators you are considering. Compare followers with the save_count of their recent pins: a large following with almost no saves on recent pins is a warning sign.

Input parameters

ParameterTypeDefaultWhat it does
usernamesarray of stringsrequired (form prefill: nasa, natgeo)Pinterest usernames, @ names or profile links on pinterest.com. Repeats are removed. Up to 500 profiles per run.
usernamestringnone (form prefill: nasa)One more profile, added to usernames. Handy for single lookups from other tools.
includePinsbooleanfalsetrue adds a recent_pins list to each profile row: the latest pins the profile created.
maxPinsinteger (1 to 200)50Most pins per profile when includePins is on.
maxItemsinteger (1 to 250)40Left over from older pin search and board modes, which now live in our separate Pinterest Search Scraper. It has no effect on profiles.

"Form prefill" values fill the Console form for you but are not defaults. The Console form prefills both usernames (nasa, natgeo) and username (nasa); nasa appears twice but is fetched and charged once. Clear username if you do not need it.

What data do you get?

One row per profile. A profile field Pinterest leaves empty is left out of the row.

Who it is: username, full_name, about (the bio), website_url (the website on the profile), profile_pic_url, profile_url.

How big it is: followers, following, pin_count, board_count, all as plain numbers. These are Pinterest's own counts; for large retailers pin_count can run into the hundreds of millions (Etsy showed 949,017,980), because Pinterest counts more than the pins the brand made itself.

How it was read: source (http-direct for a plain request, http-datacenter or http-residential when a proxy was needed, widgets-api for the reduced fallback), _mode (always profile), scraped_at.

Recent pins (only with includePins: true): recent_pins, a list of the profile's own latest pins. Each pin has pin_id, url, title, description, image_url (full size on i.pinimg.com), video_url, is_video, save_count, comment_count, board, board_url, pinner, pinner_username, link (where the pin sends people), domain, dominant_color and timestamp. Inside pins, empty values are kept as null.

Two caveats from our test. First, is_video was false on all 84 pins, including 15 that had a video_url; use video_url to find video pins. Second, monthly views are not returned: Pinterest no longer sent them in any of the 11 profile rows we sampled.

Each run ends with a _type: "summary" row (requested, targets_scraped, pins_delivered, blocked, not_found, charged_for and counters for each route tried) and a _type: "info" row. A profile that could not be read adds a row with _mode, target and status (not_found or blocked). None of these rows is charged. Keep rows that have a followers field if you want profiles only.

Stable fields for automations

These 11 fields were present in every profile row we sampled (11 rows: 10 from our 2 October test and 1 from a scheduled platform run):

FieldWhat it holds
usernamePinterest username
full_nameDisplay name on the profile
followersFollower count, a number
followingAccounts followed, a number
pin_countPin count as Pinterest reports it
board_countNumber of boards
profile_pic_urlProfile photo URL
profile_urlLink to the profile
sourceWhich route returned the data
scraped_atISO timestamp when the row was captured
_modeAlways profile

about and website_url were present in 10 of 11 rows, and recent_pins in every row of a run with includePins on. We will not rename these fields. New fields may be added over time; existing ones keep their names.

Output examples

Real rows from our runs, with pin lists shortened.

A profile with recent pins (includePins: true), from the 2 October test:

{
"username": "hgtv",
"full_name": "HGTV",
"about": "Discover home decorating ideas, DIY projects, crafts, party ideas and designs we love.",
"followers": 5595889,
"following": 181,
"pin_count": 26315,
"board_count": 80,
"profile_pic_url": "https://i.pinimg.com/280x280_RS/1b/f1/d4/1bf1d4bf0ed8c37e1c8efc5b17401467.jpg",
"website_url": "http://www.hgtv.com/",
"profile_url": "https://www.pinterest.com/hgtv/",
"source": "http-direct",
"scraped_at": "2026-10-02T08:07:41.744Z",
"recent_pins": [
{
"pin_id": "162481499055644788",
"url": "https://www.pinterest.com/pin/162481499055644788/",
"title": "What Not to Store in Your Garage",
"description": "The storage experts at HGTV share their list of items you should never store in the garage, including hazardous materials, important documents, food and more.",
"image_url": "https://i.pinimg.com/originals/c9/3a/30/c93a30ad5973198df6db39c74abc776e.webp",
"save_count": 1,
"comment_count": 0,
"is_video": false,
"video_url": null,
"board": "The Best of HGTV.com",
"board_url": "https://www.pinterest.com/hgtv/the-best-of-hgtvcom/",
"pinner": "HGTV",
"pinner_username": "hgtv",
"link": "https://www.hgtv.com/decorating/garages/what-not-to-store-in-your-garage-pictures",
"domain": "hgtv.com",
"dominant_color": "#48525b",
"timestamp": "2026-10-01T12:28:54.000Z"
}
],
"_mode": "profile"
}

A profile without pins, from a scheduled platform run on 1 October:

{
"username": "nasa",
"full_name": "NASA",
"about": "Explore the universe and discover our home planet with the official NASA boards on Pinterest. Visit us at www.nasa.gov",
"followers": 556471,
"following": 5,
"pin_count": 10551,
"board_count": 82,
"profile_pic_url": "https://i.pinimg.com/280x280_RS/37/a1/75/37a175e6d2431425576f0b8f81389394.jpg",
"website_url": "http://www.nasa.gov/",
"profile_url": "https://www.pinterest.com/nasa/",
"source": "http-direct",
"scraped_at": "2026-10-01T09:00:47.656Z",
"_mode": "profile"
}

The summary row that ends a run (never charged; from the 2 October test, run locally, so the charge counters read 0; on Apify charged_for equals the profiles charged; three internal counters trimmed):

{
"_type": "summary",
"requested": 10,
"by_mode": { "profile": 10 },
"targets_scraped": 10,
"pins_delivered": 84,
"blocked": 0,
"not_found": 0,
"charged_for": 0,
"ladder_attempts": { "direct": 10 },
"ladder_success": { "direct": 10 },
"playwright_fallback_targets": 0,
"scraped_at": "2026-10-02T08:07:41.754Z"
}

Pricing

Pay per event: you pay for each profile delivered to your dataset, plus a small start fee per run. Recent pins are part of the profile row and are not charged separately.

EventFreeBronzeSilverGold and above
profile-scraped, per profile$0.003$0.0026$0.0023$0.002
profile-scraped, per 1,000 profiles$3.00$2.60$2.30$2.00
apify-actor-start, per run$0.005 per GB of run memory, minimum one eventsamesamesame

The start fee, exactly. Apify's apify-actor-start event is charged once when a run starts, at $0.005 for each GB of memory the run uses, with a minimum of one event. This actor runs on 512 MB by default, so a default run pays one event: $0.005.

Worked examples. On the Free tier, our 10 profile test costs $0.03 plus $0.005, with or without pins. On the Gold tier, 500 profiles cost $1.00 plus $0.005.

Never charged: recent pins, a username listed twice (fetched and charged once), not_found and blocked profiles, retries on other routes, the proxies themselves, and the summary and info rows. A run in which no profile can be read pays only the start fee.

There is no scheduled price change for this actor. The Pricing tab on this page always shows the rate for your own plan; if it and this table ever differ, the Pricing tab is right.

Run it on a schedule

Turn on monitorMode and each run delivers only the profiles that are new or have changed since an earlier run with the same input, so a daily run costs you only for what moved.

  1. Enter your input, switch on Monitor mode and click Save as a task.
  2. In Apify Console open Schedules, click Add schedule and pick Daily (or any time and timezone you like).
  3. Under Actors or tasks to run, add the task you saved and save the schedule.
{
"usernames": [
"nasa",
"natgeo"
],
"includePins": true,
"maxPins": 20,
"monitorMode": true
}

The first run delivers every profile it finds. After that, a profile is delivered again only when one of its fields changed, and unchanged profiles are skipped and never charged. The summary row at the end shows new_this_run, changed_this_run and skipped_duplicates. Changing the input starts a fresh history; changing only the result limit does not. A change means a new name, bio, website, picture, verified badge or board count, or with includePins on, a pin that was not in the list before, so turn includePins on to hear about new pins. Followers, following, monthly views and pin_count move almost every day for big accounts, so they do not count as a change; keep monitor mode off when you want a snapshot of those counts from every run.

FAQ

What is Pinterest? Pinterest is a visual discovery site where people and brands save images ("pins") to themed boards. Brand profiles show public follower, following, pin and board counts, which is what this actor collects.

How many profiles can I look up? Up to 500 per run. Our test read 10 profiles with 10 pins each in 108 seconds; profiles without pins are quicker, because each needs a single page. The default run timeout is 600 seconds, so for several hundred profiles with pins, raise the timeout in the run options. If a run nears its timeout, it stops 15 seconds early and keeps every profile already delivered.

How fresh is the data? Every run reads Pinterest live, so counts are as of scraped_at. Pins carry their own timestamp.

Do I need a Pinterest account, cookies or an API key? No. You need only an Apify account. The actor reads public profile pages and never asks for a Pinterest login.

Which proxy does it use? Each profile is first requested without a proxy, which worked for all 11 profiles we sampled. If Pinterest refuses, the actor moves to Apify's datacenter proxy, then residential proxy (at most two tries), then a headless browser. All of that is included in the per-profile price.

Does it return monthly views or a verified badge? No. The actor would pass them on if Pinterest sent them, but none of the 11 profiles we sampled in late September and October 2026 included monthly views or verification. Plan on followers, following, pins and boards.

Why did a username return a different person? A username belongs to whoever registered it, which is not always the brand you expect. In our test, bonappetit turned out to be a personal account rather than the magazine. Check full_name and website_url, or copy the username from the brand's own profile link. Use links on pinterest.com or www.pinterest.com; for links on a country site such as in.pinterest.com, give just the username.

What happens with a username that does not exist, or a blocked profile? You get a row with _mode, target and status, and no charge. Pinterest answers a missing username with a normal page that simply has no profile in it, so the actor cannot tell it apart from a refusal: in our test, a made up username came back as status blocked after every route had been tried. not_found appears only when Pinterest returns an outright "not found". Trying every route, including the headless browser, adds some time to the run for each such username. If only the last route works, the profile comes back through Pinterest's widget feed with just name, bio, followers and photo, and source reads widgets-api.

Can I track profiles over time? Yes. Save your list as a task, then in Apify Console open Schedules, click Create new and pick a cron expression such as 0 8 * * 1 for every Monday. Each run gives a dated snapshot; append runs to one sheet or table and chart followers by scraped_at.

How do I export the data? From the run's Storage tab as JSON, CSV, Excel, XML or HTML, or through the Apify API. In CSV and Excel the recent_pins list is flattened into numbered columns, so JSON is easier when you need pins.

Can I use it from Claude, ChatGPT or another AI assistant?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/pinterest-profile-scraper.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http pinterest-profile-scraper "https://mcp.apify.com/?tools=themineworks/pinterest-profile-scraper".

Is it legal to scrape Pinterest profiles? The actor collects only what Pinterest shows publicly on profile pages, without logging in, and does not get past any login wall. Brand accounts are business data, but some usernames belong to private individuals, whose details are personal data. You are responsible for how you use the data, including Pinterest's terms and data protection laws such as GDPR and CCPA. This is general information, not legal advice.

Integrations

  • Google Sheets: export a run to a sheet, or append each scheduled run to build a follower history.
  • Make, Zapier and n8n: use the Apify app or node to start a run and send profile numbers to a dashboard, a CRM or Slack.
  • Webhooks: have Apify call your URL when a run succeeds, then fetch the dataset.
  • API and client libraries: start runs and read datasets from Python, JavaScript or any HTTP client. The "Copy to your AI assistant" block above has the exact call.
  • MCP clients: Claude, ChatGPT, Cursor, VS Code and Claude Code can call the actor through https://mcp.apify.com.

To find pins by keyword across all of Pinterest instead of by account, use our Pinterest Search Scraper.

More from The Mine Works

Social media and video

Leads and business directories

Marketing, SEO and reviews

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

E-commerce and marketplaces

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a bug or need a field we do not return yet? Open an issue on the Issues tab of this page and we will reply there. To ask for a new data source, email dmineworks@gmail.com. A guide and FAQ for this actor also live at themineworks.com.

Pinterest Profile Scraper turns a list of usernames into clean rows of follower, pin and board counts, with optional recent pins, billed once per profile.