Pinterest Scraper & Monitor - Pins, Boards, Trends
Pricing
from $1.20 / 1,000 results
Pinterest Scraper & Monitor - Pins, Boards, Trends
Scrape and monitor public Pinterest pins from search, user feeds, boards, and pin URLs. Get images, products, videos, and engagement via fast HTTP.
Pricing
from $1.20 / 1,000 results
Rating
5.0
(1)
Developer
Thirdwatch
Maintained by CommunityActor stats
2
Bookmarked
473
Total users
83
Monthly active users
3 days ago
Last modified
Categories
Features
Share
Pinterest Scraper & Monitor
Thirdwatch portfolio: 8,800+ users across 140+ public Actors, 2M+ records delivered, >95% run success. Explore all Thirdwatch Actors.
What you get
Scrape public Pinterest search results, pins from user feeds, boards, and individual pins. Collect full-resolution images, destination links, creator and board data, product and video metadata, and the engagement counts Pinterest publishes for each source. Turn on monitoring to emit only new pins or engagement changes on scheduled runs.
The Actor reads Pinterest's public web resources directly. It does not require a Pinterest login or browser-based access.
Why use this Pinterest scraper?
- Four sources in one Actor: keywords, usernames, board URLs, and pin URLs.
- Incremental monitoring: schedule a Task and receive only newly discovered pins or changed public engagement metrics.
- Commercial fields: distinguish the canonical
pin_urlfrom the pin'soutbound_url, and identify product, price, currency, availability, video, and Story Pin metadata when Pinterest exposes it. - Research context: every row includes its input source, result position, creator, board, image dimensions, and scrape timestamp.
- Low operating cost: efficient, login-free collection keeps per-result pricing low, with further discounts at higher usage tiers.
Quick start
Search for visual trends:
{"searchQueries": ["home office ideas", "summer fashion trends"],"maxResults": 100,"includeDetails": true}
Monitor a board for new pins:
{"boardUrls": ["https://www.pinterest.com/pinterest/official-news/"],"maxResults": 100,"monitorMode": "new-pins","monitorStoreName": "official-news-watch"}
Run the same input on a schedule. The first run establishes a baseline and emits the current pins; later runs emit only pins that were not in that monitor's history.
Input
Provide at least one source. Sources may be combined, and maxResults is the total cap across the run, shared evenly between sources. In a normal run, rows a short or unreadable source does not use go to sources with more pins. In a monitor, each source keeps a fixed share so its watch window stays the same between runs.
| Field | Type | Description |
|---|---|---|
searchQueries | string[] | Pinterest keyword searches. |
usernames | string[] | Public Pinterest usernames, with or without @, or profile links. |
boardUrls | string[] | Public Pinterest board links on any country domain, with or without https://, or pin.it share links. |
pinUrls | string[] | Pinterest pin links on any country domain, title-style links such as /pin/my-title--123456/, pin.it share links, or numeric pin IDs. |
maxResults | integer | Total pins to collect, shared between sources, from 1 to 10,000. Default: 10. |
includeDetails | boolean | Looks up each pin that has a numeric ID for its full public fields, one extra request per pin. See Fields by source. Detailed runs support up to 500 results. |
monitorMode | string | off, new-pins, or engagement-changes. |
monitorStoreName | string | Optional stable identity for a scheduled watch. Reuse it on every run. |
engagement-changes automatically enables detailed lookups and compares the counts Pinterest publishes for each source.
If one source cannot be read, the run keeps the rows from the others, leaves that source's history unchanged, and names it in the run's OUTPUT record and status message. A run fails only when no source could be read, and a monitor then keeps its state exactly as it was. A source Pinterest answers with no pins counts as a success.
Each run stops shortly before its time limit, keeps the rows collected so far, and reports what it did not finish.
Fields by source
| Source | Saves | Reactions | Repins | Comments and shares | SEO fields |
|---|---|---|---|---|---|
| Username feeds | Yes | When shown | With includeDetails | With includeDetails | Yes |
| Direct numeric pin links | Yes | When shown | Yes | Yes | Yes |
| Boards | Yes | When shown | Yes | No | No |
| Search | No | When shown | No | No | No |
Pinterest identifies search and board pins with a long ID containing letters instead of a number, and does not publish individual lookups for them. includeDetails adds nothing to those rows, and their pin_url cannot be used as a pinUrls input. Links to them still open on Pinterest.
Output
One dataset row represents one current pin or one monitoring event.
{"pin_id": "123456789","title": "Modern home office setup","description": "A compact workspace with natural light","pin_url": "https://www.pinterest.com/pin/123456789/","outbound_url": "https://example.com/workspace-guide","image_url": "https://i.pinimg.com/originals/...jpg","image_width": 1200,"image_height": 1800,"pinner_username": "designstudio","pinner_followers": 18400,"board_name": "Small Office Ideas","board_pin_count": 342,"saves_count": 91,"reaction_count": 14,"repin_count": 37,"comment_count": 3,"share_count": 5,"is_product": false,"is_video": false,"source_type": "search","source_value": "home office ideas","position": 1,"change_type": "engagement-change","changed_fields": ["saves_count", "repin_count"],"scraped_at": "2026-07-20T08:00:00+00:00"}
Important URL semantics:
pin_urlis always the canonical Pinterest pin page.outbound_url,url, andlinkare the external destination attached to the pin.urlandlinkremain compatibility aliases for existing integrations.
Fields can be absent when Pinterest does not publish them for a pin. likes_count remains a backward-compatible numeric alias and defaults to 0; use nullable saves_count when distinguishing unavailable data from an observed zero. Pinterest's public payload describes this metric as saves, not likes.
Run summary
Every run also saves an OUTPUT record with rowsReturned, pinsRead, sources (each input with its status and pin count), and skippedSources (each input that was not fully read, and why).
Monitoring behavior
| Mode | First run | Later scheduled runs |
|---|---|---|
off | Current snapshot | Current snapshot |
new-pins | Current pins marked new | Only pin IDs first seen by this monitor |
engagement-changes | Current pins marked new | New pins plus changes in the counts published for that source |
Monitoring history is stored in a dedicated Apify key-value store and capped at 20,000 pin IDs per watch. An evicted pin can be classified as new if it later reappears. State is written only after dataset events are published, providing at-least-once delivery if a run is interrupted. Avoid overlapping runs with the same monitor name; schedule the next run after the previous one can finish.
Use cases
- Track competitor boards and content cadence.
- Discover rising visual, fashion, home, food, wedding, and product trends.
- Monitor engagement movement for campaign and creator reporting.
- Build product-research, moodboard, or creative-brief datasets.
- Find destination domains and product pins in a niche.
- Feed Pinterest research into Sheets, webhooks, Make, Zapier, or your data warehouse.
Limitations
- Only data visible through Pinterest's public, logged-out web surfaces is returned. Private boards and account-only data are unavailable.
- Pinterest may omit engagement, product, price, video, or Story Pin fields for individual pins.
- User feeds can include pins a user saved; they are not guaranteed to include only original creations.
- Deleted pins and removals are not emitted as events. Monitoring detects additions and available engagement changes.
- Pinterest CDN URLs can change. Download assets you need to retain long term in accordance with applicable rights and terms.
FAQ
Do I need a Pinterest account or API key?
No. The Actor works with public Pinterest pages and resources.
Can I monitor several boards independently?
Yes. Create one saved Task per watch and give each a distinct monitorStoreName. Schedule the Tasks at the cadence you need.
Why is an engagement count null?
Pinterest does not expose every metric on every pin. The Actor returns a value only when the public payload supplies it and does not turn a temporary omission into a false zero.
Does detailed mode use a browser?
No. It performs one additional request for each pin with a numeric ID, so it is richer but slower than the default snapshot on username feeds.
Is this an official Pinterest API?
No. This is an independent scraper for publicly accessible web data and is not affiliated with Pinterest.
Related Actors
- Instagram Scraper - Posts, Profiles & Engagement — Thirdwatch
- TikTok Scraper - Videos, Creators & Trends — Thirdwatch
Last verified: 2026-07-20
Explore more production scrapers at thirdwatch.dev.