Pinterest Search & Pin Engagement Scraper avatar

Pinterest Search & Pin Engagement Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Pinterest Search & Pin Engagement Scraper

Pinterest Search & Pin Engagement Scraper

Pinterest Search Scraper extracts Pins from Pinterest search results, capturing titles, descriptions, image URLs, outbound links, creators, and engagement metrics. Ideal for trend research, inspiration mining, SEO analysis, and automating structured Pinterest search data collection at scale.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

1

Monthly active users

5 days ago

Last modified

Share

Pinterest Scraper — Search Results Ranked by Engagement

Pinterest Search & Pin Engagement Scraper searches Pinterest by keyword and returns an engagement-ranked result set — every pin scored and ranked by save count, plus domain/creator roll-ups, hashtags, color palette, and honest cross-run trend deltas. No Pinterest login is required. It's built for content researchers, SEO/Pinterest marketers, and trend analysts who need to know which pins in a niche are actually performing, not just a raw search grid.

What is Pinterest Search & Pin Engagement Scraper?

Pinterest Search & Pin Engagement Scraper is an Apify Actor that searches Pinterest for a keyword and computes engagement rank, percentile, and aggregate analytics across the returned result set. Key capabilities:

  • Search by keyword, filtering to all pins or videos only
  • Compute per-pin engagementRank and engagementPercentile by save count, plus aggregate roll-ups (top domains, top creators, hashtags, color palette)
  • Optionally fetch save/comment counts via an extra per-pin closeup request — coverage is honestly partial and reported, never faked
  • Filter by minimum save/comment count, best-effort (pins with unknown counts are kept, not silently dropped)
  • Track real cross-run trend deltas (isNew, rankDelta, firstSeenAt) via a named key-value store snapshot — the first run is always a baseline, never a fabricated history
  • Deduplicate pins by canonical pin ID

What data can I extract with Pinterest Search & Pin Engagement Scraper?

FieldExample ValueUse Case
title / domain / link"Minimalist Home Office Ideas" / "pinterest.com" / destination URLIdentify the pin and its destination
pinUrl / image_urlPinterest pin link / CDN image URLDirect link and visual reference
saveCount / saveCountSource1240 / "closeup"The core engagement metric, with its data source disclosed
commentCount18Secondary engagement signal (best-effort)
engagementRank / engagementPercentile3 / 98.5See exactly how this pin ranks within this run's result set
isNew / rankDelta / isFirstSnapshot / firstSeenAtfalse / +5 / false / "2026-06-01T10:00:00Z"Real cross-run trend signals
hashtags / dominant_color["#homeoffice", "#minimalist"] / "#E8DCC8"Content and visual-style signals
isVideo / typefalse / "pin"Filter by content format
createdAtISO / scrapedAtpin creation date / collection timestampConfirm timing

Real save-count coverage, honestly disclosed

saveCount is not always available from Pinterest's search grid alone. fetchSaveCounts (off by default) triggers an extra per-pin closeup fetch to recover save and comment counts that the grid doesn't include — but this coverage is explicitly partial and reported via saveCountSource, never silently faked as a zero. engagementRank/engagementPercentile are computed only from pins with a known save count; pins without one are honestly excluded from ranking rather than assigned a fabricated rank.

Real cross-run trend tracking — never a fabricated time series

isNew, rankDelta, and firstSeenAt come from a genuine per-pin snapshot comparison: this run's result set is written, keyed by pin ID, to a named key-value store, and compared against the previous snapshot for that same search term. Runs are stateless — the first run against a given trendSnapshotKey is always a baseline (isFirstSnapshot: true, null deltas), never a fabricated trend. Leave trendSnapshotKey blank to auto-derive one from the search term and content type, so re-running the same query automatically builds a trend over time.

Why not build this yourself?

Pinterest's official API requires app review and business-account approval, and doesn't expose a general keyword-search-with-engagement-ranking capability to third-party developers in the way this Actor provides. Building an equivalent tool yourself means handling Pinterest's aggressive datacenter-IP blocking (residential proxy is required for reliable results), building the save-count-based ranking/percentile math with honest null-handling, and implementing the cross-run KV-store snapshot diffing for real trend deltas. All of that is already implemented in this Actor's source.

How to use data extracted from Pinterest?

Content research and Pinterest SEO

Search your target niche keyword and use engagementRank/hashtags/dominant_color to see which pin styles, hashtags, and color palettes are performing best right now, informing your own pin design and hashtag strategy.

Trend and campaign monitoring

Run the same searchTerm on a schedule with enableTrendTracking on and track isNew/rankDelta over time to see which pins are climbing the rankings versus dropping — a genuine trend signal, not a guess.

Competitive and domain research

Use the aggregate domain/creator roll-ups (stored as ENGAGEMENT_SUMMARY in the run's key-value store) to see which websites and creators dominate a search term's top results, informing competitive content strategy.

AI agents and automated pipelines

An agent can call this Actor to pre-rank a content niche's top-performing pins before generating a content brief, filtering on engagementPercentile to focus only on genuinely high-performing examples.

🔼 Input sample

ParameterRequiredTypeDescriptionExample Value
searchTermYesstringKeyword to search on Pinterest"minimalist home office"
contentTypeNostring (enum)all (default) or videos"all"
maxPinsNointeger (1-10,000)Pins pulled into the analyzed result set100 (default)
computeEngagementAnalyticsNobooleanDerive rank/percentile and aggregate roll-upstrue (default)
fetchSaveCountsNobooleanExtra per-pin closeup fetch for save/comment countsfalse (default)
closeupSampleSizeNointeger (min 0)Max pins closeup-fetched when fetchSaveCounts is on25 (default)
minSaveCount / minCommentCountNointeger (min 0)Best-effort minimum thresholds; 0 = off0 (default)
deduplicatePinsNobooleanDrop duplicate pins by canonical pin IDtrue (default)
enableTrendTrackingNobooleanWrite/compare a named KV snapshot for real trend deltastrue (default)
trendSnapshotKeyNostringNamed snapshot store; blank auto-derives from search term"pin-trend-home-office"
proxyConfigurationNoobjectResidential proxy strongly recommended{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
{
"searchTerm": "minimalist home office",
"maxPins": 200,
"fetchSaveCounts": true,
"enableTrendTracking": true
}

Common pitfall: without a residential proxy, Pinterest blocks datacenter IPs and the run returns zero pins — the default proxyConfiguration already uses RESIDENTIAL, so don't override it with a datacenter-only setting.

🔽 Output sample

Output is typed, normalized JSON — one row per pin, ranked by engagement within this run's result set (exportable as JSON, CSV, or Excel).

{
"node_id": "123456789012345678",
"type": "pin",
"isVideo": false,
"title": "Minimalist Home Office Ideas",
"domain": "pinterest.com",
"link": "https://example.com/blog/home-office",
"pinUrl": "https://www.pinterest.com/pin/123456789012345678/",
"saveCount": 1240,
"saveCountSource": "closeup",
"commentCount": 18,
"engagementRank": 3,
"engagementPercentile": 98.5,
"isNew": false,
"rankDelta": 5,
"isFirstSnapshot": false,
"firstSeenAt": "2026-06-01T10:00:00Z",
"hashtags": ["#homeoffice", "#minimalist"],
"dominant_color": "#E8DCC8",
"createdAtISO": "2026-05-15T08:00:00Z",
"image_url": "https://i.pinimg.com/...",
"scrapedAt": "2026-07-26T14:02:11Z"
}

All 21 fields shown above are the Actor's real dataset columns — this is the full output shape, not a subset.

How do you filter and target specific pins?

searchTerm is the core query, with contentType narrowing to all pins or videos only. minSaveCount/minCommentCount are the genuine quality thresholds — both are best-effort, applying only to pins with a known count so pins with unresolved counts aren't silently dropped as if they failed a threshold they were never actually tested against. Volume is controlled by maxPins (the analyzed result-set size) and, when save-count fetching is on, closeupSampleSize (bounding the extra per-pin request cost).

{ "searchTerm": "vegan recipes", "minSaveCount": 500, "fetchSaveCounts": true, "closeupSampleSize": 50 }
{ "searchTerm": "wallpaper", "contentType": "videos", "maxPins": 300 }
{ "searchTerm": "minimalist home office", "enableTrendTracking": true, "trendSnapshotKey": "pin-trend-home-office" }

▶️ Want to try other visual-content scrapers?

Scraper NameWhat it extracts
Instagram Reels Scraper With Engagement AnalyticsComparable engagement-rate analytics for Instagram Reels
Instagram Hashtag Scraper: Content PlannerHashtag posts plus best-time and topic planning
TikTok Trending Hashtags With Momentum Analytics ScraperComparable trend/momentum analytics for TikTok
Facebook Photos Scraper & High-Res Photo ExportComparable full-resolution image extraction for Facebook
Google Trends Scraper: Rising & Breakout KeywordsComparable keyword-trend spike detection
Instagram Related Hashtag Stats Scraper By Keyword SearchComparable keyword-to-content-tag research for Instagram

How to extract Pinterest data programmatically

Every run is a standard Apify Actor call — one API request with your token, JSON input, JSON results back. No Pinterest login required.

Python example

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run_input = {
"searchTerm": "minimalist home office",
"maxPins": 200,
"fetchSaveCounts": True,
}
run = client.actor("<YOUR_USERNAME>/pinterest-search-pin-engagement-scraper").call(run_input=run_input)
for pin in client.dataset(run["defaultDatasetId"]).iterate_items():
print(pin["title"], pin["engagementRank"], pin["saveCount"])

Export to spreadsheets or CRM

Export the dataset directly as CSV or Excel, then map title/pinUrl to a content-research spreadsheet and engagementRank/hashtags to a prioritization column for content planning.

Pin titles, save counts, and hashtags are public content metadata, not personal data tied to an individual in most cases — this is closer to public content/business data. Public Pinterest search results are visible to any logged-out visitor. Consult legal counsel for commercial applications involving bulk automated querying of Pinterest's services.

❓ FAQ

How accurate is the engagement ranking?

engagementRank/engagementPercentile are computed directly from real save counts within this run's result set — pins without a known save count are honestly excluded from ranking, never assigned a fabricated rank.

How does the trend tracking actually work?

It's a genuine snapshot comparison, not a fabricated time series — this run's pins are saved to a named key-value store keyed by pin ID, and compared against the previous snapshot for the same search term. The first run against any trendSnapshotKey is always a baseline with null deltas.

Why is saveCount sometimes null?

Pinterest's search grid doesn't always include save counts. Enable fetchSaveCounts to trigger an extra per-pin closeup fetch to recover them — but coverage remains honestly partial and is disclosed via saveCountSource, never silently faked.

How many pins can I get per run?

maxPins (1-10,000, default 100) caps the analyzed result-set size.

Do I need a Pinterest account to use this?

No — Pinterest search results are accessible without login. A residential proxy is required for reliable access, since Pinterest blocks datacenter IPs.

Does Pinterest Search & Pin Engagement Scraper work with Claude, ChatGPT, and AI agent frameworks?

It has no dedicated MCP server registration in this Actor's current setup, but it is callable as a standard Apify API endpoint by any agent framework that can make an authenticated HTTP request and parse JSON.

How does this compare to other Pinterest scrapers?

No independently verifiable competitor listing could be confirmed at the time of writing, so no specific comparison is made here. This Actor's distinguishing feature is the combination of engagement ranking and genuine cross-run trend tracking via real snapshot diffing.

What happens to duplicate pins?

deduplicatePins (on by default) drops duplicates by canonical pin ID, so the same pin surfacing multiple times in search results only appears once in your output.

Conclusion

Pinterest Search & Pin Engagement Scraper turns a keyword search into a ranked, trend-aware content-research dataset — real save-based engagement ranking and genuine cross-run trend deltas via snapshot diffing, honestly disclosed wherever coverage is partial. It's built for content researchers, Pinterest marketers, and trend analysts who need to know what's actually performing. Start a run with your search term to get engagement-ranked pins back in one pass.