Pinterest Board Scraper — Board Pins & User Boards avatar

Pinterest Board Scraper — Board Pins & User Boards

Pricing

from $4.00 / 1,000 pin scrapeds

Go to Apify Store
Pinterest Board Scraper — Board Pins & User Boards

Pinterest Board Scraper — Board Pins & User Boards

Scrape Pinterest boards from any board URL or username. Board mode returns board metadata plus every pin (deep pagination). User mode lists all boards a profile owns. Cookieless, no login, HTTP-only. PAY_PER_EVENT. MCP/API-ready.

Pricing

from $4.00 / 1,000 pin scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Pinterest Board Scraper extracts public Pinterest boards, board metadata, and the pins saved to each board. Give it a board URL to collect that board and its pins, or give it a Pinterest username/profile URL to list the public boards owned by that account.

The Actor is built for content research, competitive analysis, creative discovery, dataset creation, and AI-agent workflows. It runs without a Pinterest login, uses an HTTP-only pipeline, and returns structured records that can be exported as JSON, CSV, Excel, XML, or RSS through Apify.

What can Pinterest Board Scraper do?

  • Scrape a Pinterest board by URL and return its metadata plus pins.
  • List the public boards owned by one or more Pinterest users.
  • Process board URLs, profile URLs, and usernames in the same run.
  • Collect image and video URLs, titles, descriptions, engagement metrics, creators, and outbound links.
  • Download or analyze pin media using direct image and video URL fields.
  • Page beyond Pinterest's small public widget response when deeper provider-backed pagination is available.
  • Limit boards and pins per input so the maximum result count and event cost stay predictable.
  • Feed clean, typed board and pin records into an Apify Task, API integration, webhook, or MCP client.

This Actor works at the board level. It is not intended for scraping a single /pin/<id>/ URL or for searching Pinterest by keyword.

Use cases for Pinterest board data

Content and trend research

Export the pins collected by brands, publishers, or creators to identify recurring topics, visual styles, products, seasonal themes, and emerging ideas.

Competitor and brand analysis

Map how a public Pinterest account organizes its content. Compare board names, descriptions, audience size, pin volume, source domains, and creative choices across accounts.

Creative and mood-board datasets

Create structured image or video datasets for inspiration, tagging, classification, computer vision, or human review. Pin records include the best available media URL and direct download fields.

SEO and commerce research

Analyze outbound destinations, source domains, product price strings, hashtags, saves, and board context to understand which content drives discovery and referral traffic.

AI agents and automation

Use the Actor as a narrow data tool: a Pinterest board URL or username goes in, and predictable JSON records come out. The Actor can be called through the Apify API or exposed through the Apify MCP server.

What data can I extract?

The dataset contains two record types. Use the dataType field to route each row.

Board records

FieldDescription
dataTypeAlways board for a board record
board_idPinterest board identifier when available
nameBoard name
descriptionPublic board description
board_urlCanonical Pinterest board URL
pin_countTotal pin count reported by Pinterest
follower_countPublic follower count for the board
section_countNumber of sections on the board
cover_image_urlBoard cover or thumbnail image
owner_usernameUsername that owns the board
scraped_atISO 8601 collection timestamp
source_urlOriginal URL or username that produced the record

Pin records

FieldDescription
dataTypeAlways pin for a pin record
pin_id, pin_urlPinterest pin identifier and canonical URL
title, descriptionPublic pin text
image_url, download_image_urlBest image and direct download URL
image_width, image_heightImage dimensions when available
is_video, video_url, download_video_urlVideo status and media URLs
save_count, comment_countPublic engagement metrics when available
link, source_domainOutbound destination and its domain
board_name, board_urlParent board context
pinner_username, pinner_display_namePin creator information
pinner_follower_countCreator follower count when available
dominant_color, hashtags, priceAdditional creative and commerce metadata
created_at, scraped_atPin creation time when available and collection time
source_urlOriginal input that produced the record

Pinterest does not expose every field on every pin or board. Optional fields are returned as null or an empty array when the public source does not provide them.

How much will scraping Pinterest cost?

Pinterest Board Scraper uses pay-per-event pricing:

EventPrice
Actor start$0.00005
Board scraped$0.01 per board
Pin scraped$0.004 per pin

Example event charges:

  • One board with 25 returned pins: about $0.11
  • One board with 100 returned pins: about $0.41
  • A profile with 30 returned boards and no board pins: about $0.30
  • Ten boards with 50 returned pins each: about $2.10

The examples include board and pin events plus the small Actor-start event. Apify platform usage, including compute and proxy traffic, is charged separately when applicable. Actual cost depends on the number of records returned, not the number requested.

Use maxPinsPerBoard and maxBoardsPerUser to cap the result volume. Keep includeBoardPins disabled when you only need a user's board directory; enabling it can multiply the number of requests and pin events.

How to use Pinterest Board Scraper

Scrape pins from a board URL

{
"startUrls": [
"https://www.pinterest.com/nike/back-to-school/"
],
"mode": "board-pins",
"maxPinsPerBoard": 100
}

This returns one board record plus up to 100 unique pin records.

List all public boards for a username

{
"usernames": ["etsy"],
"mode": "user-boards",
"maxBoardsPerUser": 50,
"includeBoardPins": false
}

This returns up to 50 board records. It does not scrape the pins inside each board.

Mix board URLs, profile URLs, and usernames

{
"startUrls": [
"https://www.pinterest.com/nike/back-to-school/",
"https://www.pinterest.com/etsy/"
],
"usernames": ["marthastewart"],
"mode": "auto",
"maxPinsPerBoard": 50,
"maxBoardsPerUser": 25
}

In auto mode, a board URL is treated as a board target while a profile URL or username is treated as a user target.

Input reference

InputTypeDefaultPurpose
startUrlsstring arrayExample URLsFull Pinterest board or profile URLs
usernamesstring arrayEmptyPinterest handles without @
modeenumautoAuto-detect inputs or force board-pins / user-boards
maxPinsPerBoardinteger50Maximum pins per board, from 0 to 5,000
maxBoardsPerUserinteger50Maximum public boards per user, from 1 to 500
includeBoardPinsbooleanfalseAlso collect pins for every board found in user mode
proxyConfigurationobjectApify ResidentialProxy settings for Pinterest profile requests

Set maxPinsPerBoard to 0 when you want board metadata without pin records. Individual pin URLs are skipped because this Actor expects board or profile inputs.

Output example

Board record:

{
"dataType": "board",
"board_id": "123456789",
"name": "Back To School",
"description": "Ideas and inspiration for a new school year.",
"board_url": "https://www.pinterest.com/nike/back-to-school/",
"pin_count": 215,
"follower_count": 1046341,
"section_count": 3,
"cover_image_url": "https://i.pinimg.com/...",
"owner_username": "nike",
"scraped_at": "2026-07-29T12:00:00.000Z",
"source_url": "https://www.pinterest.com/nike/back-to-school/"
}

Pin record:

{
"dataType": "pin",
"pin_id": "987654321",
"title": "Back-to-school outfit ideas",
"description": "Comfortable outfit inspiration.",
"pin_url": "https://www.pinterest.com/pin/987654321/",
"image_url": "https://i.pinimg.com/originals/...",
"download_image_url": "https://i.pinimg.com/originals/...",
"is_video": false,
"video_url": null,
"save_count": 842,
"comment_count": 12,
"link": "https://example.com/back-to-school",
"source_domain": "example.com",
"board_name": "Back To School",
"board_url": "https://www.pinterest.com/nike/back-to-school/",
"pinner_username": "nike",
"created_at": null,
"scraped_at": "2026-07-29T12:00:00.000Z",
"source_url": "https://www.pinterest.com/nike/back-to-school/"
}

Run Pinterest Board Scraper with the API

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
startUrls: ['https://www.pinterest.com/nike/back-to-school/'],
maxPinsPerBoard: 100,
};
const run = await client
.actor('khadinakbar/pinterest-boards-scraper')
.call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("khadinakbar/pinterest-boards-scraper").call(
run_input={
"usernames": ["etsy"],
"maxBoardsPerUser": 50,
"includeBoardPins": False,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Do not place an Apify API token directly in shared source code. Use an environment variable or your platform's secret manager.

Use Pinterest Board Scraper through MCP

The Actor is available through the Apify MCP server as apify--pinterest-boards-scraper. It is a good fit when an agent needs structured Pinterest board or pin data from a known URL or username.

Use this Actor for board-level collection. For keyword search, individual pins, or broader Pinterest entities, choose one of the dedicated Actors below so the agent calls the narrowest matching tool.

Reliability and limitations

  • Board collection starts with Pinterest's public widget data. Larger board requests can use managed provider-backed pagination.
  • User-board collection reads public profile data and can fall back to a managed provider when Pinterest challenges a request.
  • The Actor does not access private boards, logged-in feeds, or data hidden behind authentication.
  • Deleted, secret, region-restricted, or nonexistent boards may return no records.
  • Pinterest can omit engagement, creator, video, product, or timestamp fields from public responses.
  • Useful results from successful targets are preserved when another target in the same batch fails.
  • Deep pagination depends on upstream availability. Requesting 5,000 pins is a ceiling, not a guarantee that every public board exposes that many retrievable records.

Scrape Pinterest and social data with dedicated Actors

Frequently asked questions

How many results can I scrape with Pinterest Board Scraper?

You control the upper bound with maxPinsPerBoard and maxBoardsPerUser. A run can request up to 5,000 pins per board and 500 boards per user. The number actually returned depends on what is public and retrievable from Pinterest and the available upstream routes.

Can I integrate Pinterest Board Scraper with other apps?

Yes. Use Apify Integrations, webhooks, Make, Zapier, Google Drive, Google Sheets, Slack, or your own HTTP service. Dataset results can also be downloaded in common formats.

Can I use Pinterest Board Scraper with the Apify API?

Yes. Run khadinakbar/pinterest-boards-scraper through the JavaScript or Python client, or call the REST API directly. The examples above show the basic workflow.

Can I use Pinterest Board Scraper through an MCP Server?

Yes. Add the Apify MCP server to a compatible AI client and select apify--pinterest-boards-scraper when the task requires Pinterest boards or the pins saved to a known board.

Do I need proxies to scrape Pinterest?

The default input uses Apify Residential proxies for profile-page requests because Pinterest may challenge datacenter traffic. Public widget and managed provider requests use their appropriate routes. Most users should keep the default proxy configuration.

Scraping public web data can be lawful, but the rules depend on your location, purpose, the data involved, and how you use the results. You are responsible for complying with Pinterest's terms, copyright rules, privacy laws, and regulations such as GDPR or CCPA. Do not collect or process personal data unlawfully, and do not use this Actor to access private or authenticated content.

Your feedback

If an expected public board does not return the right data, create an issue on the Actor page with a reproducible public URL, the input used, and the run ID. Please remove tokens, secrets, and personal information before sharing logs.