Pinterest Board Scraper — Board Pins & User Boards
Pricing
from $4.00 / 1,000 pin scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
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
| Field | Description |
|---|---|
dataType | Always board for a board record |
board_id | Pinterest board identifier when available |
name | Board name |
description | Public board description |
board_url | Canonical Pinterest board URL |
pin_count | Total pin count reported by Pinterest |
follower_count | Public follower count for the board |
section_count | Number of sections on the board |
cover_image_url | Board cover or thumbnail image |
owner_username | Username that owns the board |
scraped_at | ISO 8601 collection timestamp |
source_url | Original URL or username that produced the record |
Pin records
| Field | Description |
|---|---|
dataType | Always pin for a pin record |
pin_id, pin_url | Pinterest pin identifier and canonical URL |
title, description | Public pin text |
image_url, download_image_url | Best image and direct download URL |
image_width, image_height | Image dimensions when available |
is_video, video_url, download_video_url | Video status and media URLs |
save_count, comment_count | Public engagement metrics when available |
link, source_domain | Outbound destination and its domain |
board_name, board_url | Parent board context |
pinner_username, pinner_display_name | Pin creator information |
pinner_follower_count | Creator follower count when available |
dominant_color, hashtags, price | Additional creative and commerce metadata |
created_at, scraped_at | Pin creation time when available and collection time |
source_url | Original 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:
| Event | Price |
|---|---|
| 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
| Input | Type | Default | Purpose |
|---|---|---|---|
startUrls | string array | Example URLs | Full Pinterest board or profile URLs |
usernames | string array | Empty | Pinterest handles without @ |
mode | enum | auto | Auto-detect inputs or force board-pins / user-boards |
maxPinsPerBoard | integer | 50 | Maximum pins per board, from 0 to 5,000 |
maxBoardsPerUser | integer | 50 | Maximum public boards per user, from 1 to 500 |
includeBoardPins | boolean | false | Also collect pins for every board found in user mode |
proxyConfiguration | object | Apify Residential | Proxy 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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
- Pinterest Pins, Boards & Profiles Scraper — general Pinterest pins, boards, profiles, and search results.
- Pinterest Data Extractor — auto-detect pins, boards, profiles, URLs, and keywords.
- Pinterest Search Scraper — search Pinterest for pins, boards, and users.
- Pinterest Profile Scraper — collect public profile statistics and recent pins.
- Pinterest Video Downloader — retrieve Pinterest MP4 and HLS video links.
- Instagram Posts Scraper — scrape Instagram profiles, hashtags, and post URLs.
- TikTok Trending Videos Scraper — collect trending TikTok videos and metrics.
- YouTube Shorts Scraper — extract Shorts views, likes, and channel data.
- Google Images Scraper — collect original image URLs, sources, and dimensions.
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.
Is it legal to scrape Pinterest data?
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.