Pinterest Scraper & Trends — Pins, Boards, Profiles, Demand avatar

Pinterest Scraper & Trends — Pins, Boards, Profiles, Demand

Pricing

from $2.50 / 1,000 pins

Go to Apify Store
Pinterest Scraper & Trends — Pins, Boards, Profiles, Demand

Pinterest Scraper & Trends — Pins, Boards, Profiles, Demand

Pinterest pins from keywords, boards, profiles and pin links: outbound link and shop domain, product price and discount, reactions, saves, pinner and board. Plus the Pinterest Trends weekly search-interest series for each keyword (31 regions) and Pinterest's related searches.

Pricing

from $2.50 / 1,000 pins

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

Get Pinterest pins for any keyword, board, profile or pin link: title, image, the shop or site each pin links to (outbound link and domain), product price, list price, discount and stock for product pins, reactions and board. Keyword pins and pin links also come with the created date, the pinner's follower count and Pinterest's own topic labels; board and profile pins come with saves and repins (profile pins with the created date too). Turn on details for comments and shares on every pin and for the fields a source lacks (table below).

For every keyword the Actor can also add the Pinterest Trends weekly search-interest series (one or two years of weekly values, 53 or 105 weeks, in 31 Pinterest Trends regions) with the latest week, the peak week and the week-, month- and year-over-year change. A free keyword summary lists which domains the keyword's pins link to and Pinterest's related searches.

  • No Pinterest account, no API key, no browser.
  • Each pin is delivered once per run, whatever finds it first.
  • Pinterest stops a keyword at about 800–960 pins; related searches take you further (2,500 unique pins for one keyword in run fGRgB5gwOQrr0vc0q).
  • A bad link, a missing board, profile or pin, an empty result or a keyword without Trends data gets a free status row with the reason. Pins already delivered by another source are counted as duplicates in the SOURCE_REPORT record; if the run stops at your maximum cost, the log and SOURCE_REPORT.stoppedAtMaxCharge say so.

Quick start (API)

curl -X POST "https://api.apify.com/v2/acts/foxlabs~pinterest-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["boho living room"], "maxPinsPerSource": 50}'

This returns 50 pins, one Pinterest Trends row for the United States and one free keyword summary (run 7568xJ3G4Ch0Pxgd2, 10 seconds).

What you get

The dataset has one row per item; rowType says which kind.

Row typeChargedFields
pinyes (pin, + pin-details with details)pinId, pinUrl, title, description, altText, annotations (Pinterest's topic labels), imageUrl, imageWidth, imageHeight, thumbnailUrl, isVideo, videoUrl, videoDurationSec, outboundLink, outboundDomain, richType, siteName, productName, productPrice, productCurrency, productPriceText, productListPrice, productListPriceText, productDiscountPercent, productInStock, reactions, saves, repins, comments, shares, createdAt, pinnerUsername, pinnerName, pinnerFollowers, pinnerVerifiedMerchant, pinnerUrl, boardName, boardUrl, boardPinCount, dominantColor, and where it came from: sourceType, source, query, pinterestQuery, relatedQuery, searchRank, detailsStatus
trendyes (keyword-trend)keyword, query, region, regionName, weeks, firstWeek, latestWeek, latestIndex, peakWeek, lowestIndex, averageIndex, weekOverWeekPct, monthOverMonthPct, yearOverYearPct, series ([{week, index}]), relatedSearches
profileyes (profile)username, fullName, profileUrl, about, websiteUrl, websiteDomain, domainVerified, verifiedMerchant, isBusiness, followers, following, pinCount, boardCount, videoPinCount, monthlyViews, monthlyViewsText, createdAt, lastPinSavedAt, imageUrl, boards (first 25: name, link, pins, followers)
keyword-summaryfreequery, pinterestQuery, autoCorrected, pinsAnalyzed, pinsWithOutboundLink, outboundLinkSharePct, productPins, topDomains (domain, pins, share, reactions), relatedSearches
boardfreeboardId, boardName, boardUrl, description, category, pinCount, sectionCount, followers, ownerUsername, isCollaborative, lastPinAddedAt, coverImageUrl
statusfreesourceType, source, status (invalid, not-found, empty, skipped, no-trend-data, failed), error (the reason in plain words)

Which pin fields are filled depends on where the pin came from, because Pinterest's answers differ:

FieldKeyword searchBoardProfile (created pins)Pin link
saves, repins–yesyesyes
comments, shares–––yes
createdAtyes–yesyes
pinnerFollowers, annotationsyes––yes
searchRank, queryyes–––

With includeDetails on, every pin also gets the fields of its detail answer where Pinterest has them: saves, repins, comments, shares, created date, follower count and labels. In run TfsK9uUtE5IxZX0mq, board pins with details had a created date and follower count 50 of 50 and saves 49 of 50; the brand's created pins had saves 31 of 50 and labels 38 of 50. Details only add fields; they never remove searchRank or query. Some pins carry product data only in their detail answer.

saves and repins are two different Pinterest counters: saves comes from Pinterest's aggregated pin data, repins from the pin itself. They can be far apart in both directions: 9,950 saves and 3 repins on one pin, 591 saves and 1,780 repins on the sample row below (run A0eiHi44gf9WXCj2J); saves was lower than repins on 83 of 1,302 pins with both counts in our platform runs. A count Pinterest does not give, or gives as -1 (hidden), is null, never 0.

Sample output

A real pin row (trimmed) from run A0eiHi44gf9WXCj2J on 2026-10-01, keyword linen dress, details on:

{
"rowType": "pin",
"pinId": "1132022056360864882",
"pinUrl": "https://www.pinterest.com/pin/1132022056360864882/",
"title": "Wrap Linen Dress Sewing Pattern | Timeless Linen Wrap Dress PDF Pattern",
"outboundLink": "https://www.etsy.com/listing/4545810235/linen-wrap-dress-sewing-pattern-v-neck?ref=shop_home_active_1&dd=1&logging_key=093eb7d444259fade1c096b9ea595ee050ab12f7:4545810235",
"outboundDomain": "etsy.com",
"siteName": "Etsy",
"productPrice": 2.1,
"productCurrency": "USD",
"productPriceText": "$2.10",
"productListPrice": 7,
"productDiscountPercent": 70,
"productInStock": true,
"reactions": 23,
"saves": 591,
"repins": 1780,
"comments": 0,
"shares": 51,
"createdAt": "2026-06-12T11:59:22.000Z",
"pinnerUsername": "farazmalik1224",
"pinnerFollowers": 3,
"boardName": "Wrap Linen Dress",
"annotations": ["Sleeveless Robe Pattern", "Wrap Outfits For Women", "Women Clothing Patterns", "Wrap Up Dress"],
"sourceType": "search",
"query": "linen dress",
"searchRank": 14,
"detailsStatus": "ok"
}

A real Pinterest Trends row (series trimmed to the last 3 of 53 weekly values, related searches to 4 of 10) from run BS5fCAHm3vquSF9Ol, keyword wall decor, United States:

{
"rowType": "trend",
"keyword": "wall decor",
"region": "US",
"regionName": "United States",
"weeks": 53,
"latestWeek": "2026-09-27",
"latestIndex": 62,
"peakWeek": "2026-08-23",
"averageIndex": 63.1,
"weekOverWeekPct": -6,
"monthOverMonthPct": -30,
"yearOverYearPct": null,
"series": [{ "week": "2026-09-13", "index": 73 }, { "week": "2026-09-20", "index": 66 }, { "week": "2026-09-27", "index": 62 }],
"relatedSearches": ["wall decor ideas", "diy wall decor", "tv wall decor", "aesthetic wall decor"]
}

The free keyword summary for the same keyword in the same run (topDomains trimmed): 313 pins analysed, 132 with an outbound link (42.2%), top linked domains amazon.com (27), thetanee.com (4), bambrise.com (3)…, related searches wall decor ideas, diy wall decor, tv wall decor…. pinsAnalyzed counts every pin on the result pages the Actor read for the keyword, so it can be higher than the pins delivered (300 here): Pinterest returns whole pages, and pins already delivered by another source are counted too. Pinterest's own image and page hosts are not counted as linked domains.

Input & filters

InputWhat it doesDefault
searchQueriesKeywords as typed into Pinterest search—
boardUrlsBoard links (https://www.pinterest.com/<user>/<board>/, any Pinterest country domain). Pins in the board's sections are included—
profileUrlsProfile links or usernames (etsy, @etsy)—
pinUrlsPin links or pin numbers—
maxPinsPerSourcePins per keyword, board or profile, up to 10,000. 0 = no pins at all, pin links included: you still get Trends series, profile rows and free board rows, and each pin link gets a free skipped status row. The Console form starts at 50100
includeDetailsOne more request per pin: saves, repins, comments, shares, and the MP4 file of video pinsoff
includeTrendsPinterest Trends series for every keyword and regionon
trendRegions31 Pinterest Trends regions: US, CA, GB+IE, DE, FR, IT, ES, TR, BR, MX, AR, CO, IN, ID, MY, PH, TH, KR, SA, EG, AU+NZ, DE+AT+CH, SE+DK+FI+NO, NL+BE+LU, IT+ES+PT+GR+MT, PL+RO+HU+SK+CZ, CY+CZ+GR+HU+MT+PL+RO+SK, MX+AR+CO+CL, CR+DO+EC+GT+PE, AE+SA+KW+QA+OM+BH+EG+IQ+DZ, IL+NG+PK+ZA+TR+MA+INUS
trendHistory1y (one year, 53 weekly values) or 2y (two years, 105 weekly values, adds yearOverYearPct)1y
expandWithRelatedSearches, maxRelatedSearchesWhen Pinterest runs out of results for a keyword before your limit, continue with up to 10 of the related searches Pinterest suggests for itoff, 5
profilePinscreated (the profile's Created tab), saved (pins it saved to its boards) or nonecreated
proxyConfiguration, autoProxyFallbackApify datacenter proxy; the Actor switches to Apify residential proxy by itself when Pinterest blocks requestson

Input the form does not allow (an unknown Trends region, more than 10,000 pins) is rejected by Apify before the run starts. A run with nothing valid to read stops at once with the reason in its status message (runs e8NtYUzsZ168WcAu1, D5obTDHqyBkTnNVef), and so does a run with nothing to deliver, such as only pin links with maxPinsPerSource: 0. A single bad link (a pin.it short link, a board section link, a profile given as a board) does not stop the run: it becomes a free status row with the reason (run U27crAbTfvKAu6JL4). A board, profile or pin that does not exist gives a free not-found row (run bB5i8JHRpBcarBjLY: three status rows and nothing else).

Misspelled keywords. Pinterest corrects misspelled keywords and searches the correction: boho livng room is searched as boho living room. The pin rows and the keyword summary show what Pinterest searched in pinterestQuery (autoCorrected: true in the summary), and the Trends series is read for the corrected keyword.

Keywords that mean nothing still return pins. Pinterest answers any text with its closest matches. In run MoIrsdypXJ9CAXc9G, zxqv qqwlk 88871 pnnt was searched as zxv qqwlk 88871 pant: the 5 pins asked for all came back and were unrelated (a logo, a sound chip, number and letter graphics), and Pinterest Trends had no series for it. Such pins are delivered and charged as pin like any other pin row. pinterestQuery shows what Pinterest searched; try a new keyword with a small maxPinsPerSource first.

No search country. In our one test (2026-10-01), a Turkish keyword searched from a Turkish IP on tr.pinterest.com returned the same 49 first-page pins as from a US IP, so the Actor does not offer a search country. Countries matter for Pinterest Trends, where each region has its own series.

Example inputs (copy & paste)

Each of these ran on the Apify platform on 2026-10-01 (run ID after each).

Product research for a keyword, with demand in the US and in Great Britain & Ireland (HSjs8Zumjdn1YAsBX: 200 pins, 2 Trends rows):

{ "searchQueries": ["wall decor"], "maxPinsPerSource": 200, "trendRegions": ["US", "GB+IE"] }

As many pins as possible for one keyword, with Pinterest's related searches after its own results end (fGRgB5gwOQrr0vc0q: 2,500 pins in 189 s):

{ "searchQueries": ["linen dress"], "maxPinsPerSource": 2500, "expandWithRelatedSearches": true, "maxRelatedSearches": 5, "includeTrends": false }

Keyword demand only, two years, three markets, no pins (aTffX3hYeCFuBTsDn: 12 Trends rows):

{ "searchQueries": ["wall decor", "linen dress", "halloween nails", "wedding cake"], "maxPinsPerSource": 0, "trendRegions": ["US", "TR", "DE"], "trendHistory": "2y" }

A brand's profile, its newest created pins with engagement, and one of its boards (TfsK9uUtE5IxZX0mq: 1 profile, 1 board, 100 pins):

{ "profileUrls": ["wayfair"], "boardUrls": ["https://www.pinterest.com/wayfair/home-decor/"], "maxPinsPerSource": 50, "includeDetails": true, "includeTrends": false }

Saves, repins, comments and shares for known pins (ZSgFGfgkG9TPeGlNC: 2 pins):

{ "pinUrls": ["https://www.pinterest.com/pin/454230312436270717/", "243053711135791703"], "includeTrends": false }

Use cases

  • E-commerce and print-on-demand research: which shops and sites the pins of a keyword link to, product prices and discounts, and whether searches for it are rising.
  • Pinterest SEO and content planning: top pins for a keyword with Pinterest's topic labels, related searches, and the weeks when interest peaks.
  • Seasonal planning: two years of weekly interest per keyword in 31 regions, with month-over-month and year-over-year change.
  • Brand and competitor tracking: a brand's profile (followers, monthly views, boards) and its created pins with saves and repins.
  • Creator and influencer discovery: pinners behind a keyword's pins with their follower counts.

Performance & throughput

Measured on the Apify platform on 2026-10-01 with build 0.1.1 (default memory 512 MB, default Apify datacenter proxy unless noted):

RunInputRowsRequestsTime
7568xJ3G4Ch0Pxgd2The quick-start input (1 keyword, 50 pins, Trends US)50 pins, 1 trend, 1 summary410 s
BS5fCAHm3vquSF9Ol4 keywords × 300 pins, Trends US1,200 pins, 4 trends, 4 summaries2151 s
A0eiHi44gf9WXCj2J2 keywords × 100 pins, details on200 pins, 2 trends, 2 summaries20680 s
rgWXOlOrbQbY6yWaI4 boards + 4 profiles, up to 200 pins each1,070 pins, 4 profiles, 4 boards, 1 status3931 s
fGRgB5gwOQrr0vc0q1 keyword, 2,500 pins with related searches2,500 pins, 1 summary129189 s
pqadSYxYeqDo3J8LE1 keyword, limit 10,000, no related searches957 pins (Pinterest's end), 1 trend, 1 summary3887 s
aTffX3hYeCFuBTsDn4 keywords × 3 regions, Trends only, two years (105 weekly values)12 trends821 s
gEQ80T7GR3PYUvme72 keywords × 300 pins, proxy off (the platform's own IP)600 pins, 2 trends, 2 summaries1221 s
c4bB1TbWPbh0i3mqs2 keywords × 150 pins, Apify residential proxy300 pins, 2 trends, 2 summaries726 s

A keyword search page holds 25 pins (the first up to 250); the detail request is one more request per pin. None of these runs was blocked or needed a retry. The largest run peaked at 199 MB of memory.

Integrations

Use the dataset from the API, schedule the Actor in Apify Console (Pinterest Trends updates weekly), or connect it to Make, Zapier, n8n, Google Sheets or a webhook. The dataset has table views for pins, shops & products, keyword demand, keyword summaries and profiles.

Data quality

Measured on the platform runs above:

  • Uniqueness: every run delivered each pin once (1,200 of 1,200, 2,500 of 2,500, 1,070 of 1,070 unique pinId).
  • Keyword search pins (BS5fCAHm3vquSF9Ol, 4 keywords × 300): image, created date, pinner with follower count and board 100%; Pinterest topic labels 97.1%; outbound link 68.1% (67.6% to sites other than Pinterest's own). The share linking to other sites depends on the keyword: 90.3% for keto dinner recipes, 70.0% for linen dress, 67.0% for halloween nails, 43.0% for wall decor. Pins without a link are uploads Pinterest marks "Uploaded by user"; a few of them (4 of 51 in our saved search answers) are collection pins whose product links sit inside the collection, which the Actor does not read yet.
  • Details on (A0eiHi44gf9WXCj2J, 200 pins): saves 96.5%, repins 100%, comments 97.5%, shares 100%.
  • Board pins (rgWXOlOrbQbY6yWaI, 470): saves 99.4%, repins 99.8%, created date 0 (Pinterest's board feed has none; turn on details). Profile created pins (600): created date 100%, saves 93.5%.
  • Profiles (rgWXOlOrbQbY6yWaI, 4): followers 4 of 4; website and monthly views 3 of 4 (Pinterest hides monthly views for some profiles and shows large ones as 10M+).
  • Pinterest Trends: every series asked for in the runs above came back (12 of 12 in aTffX3hYeCFuBTsDn). Keywords with too few searches in a region get a free no-trend-data row instead (run MoIrsdypXJ9CAXc9G).
  • Against the source: 20 random rows from three runs, compared field by field with the pin's live Pinterest answer: 143 values of fixed fields (link, created date, pinner, title, image…) matched, 0 differed; counters had moved by 1 to 3 on 3 pins.
  • Links: 12 random pin links opened on a page with that pin's ID and title words, 6 of 6 image links returned an image, and 9 of 12 outbound links opened on the expected site with the product or title words on the page (of the other 3, two sites answered 403, one after a redirect, and one did not connect).
  • Checks on every pin row (6,272 rows from 12 platform runs: those above except pqadSYxYeqDo3J8LE, plus 7tin8z3yNMTWJQY2X): created dates between 2010 and today, outboundDomain equal to the link's host, prices above 0 with an ISO currency, list price not below price, no HTML entities left in text, Trends weeks seven days apart.

Pricing

Pay per event:

  • pin: each delivered pin row.
  • pin-details: with includeDetails on, one more per pin whose detail answer arrived. Pin-link rows include details and are only a pin.
  • keyword-trend: each Pinterest Trends series (one keyword in one region).
  • profile: each profile row.

Status rows, board rows and keyword summaries are free. A run with maxPinsPerSource: 0 has no pin or pin-details event. Current prices are on the Pricing tab.

FAQ

Why are saves empty for keyword results? Pinterest's search answer has reactions but no save counts. Turn on includeDetails; it reads each pin's detail answer (one more request and one pin-details event per pin).

Why does a keyword stop at 800–960 pins? Pinterest ends its results for a keyword there: 957 unique pins for boho living room (run pqadSYxYeqDo3J8LE) and 800 for linen dress (run fGRgB5gwOQrr0vc0q). With expandWithRelatedSearches the Actor continues with Pinterest's related searches; every row from them carries the related search in relatedQuery.

What does the Trends index mean? Pinterest Trends reports search interest per week as 0–100, where 100 is the keyword's own highest week in the period. It shows the shape of demand for one keyword; two keywords' indexes are not on the same scale.

Why is there no Trends row for my keyword? Pinterest Trends has no series for keywords with too few searches in a region. You get a free no-trend-data status row instead.

Does it read video pins? isVideo is set for video pins and videoUrl for videos Pinterest hosts; YouTube pins have no videoUrl (8 of 468 video pin rows in our platform runs, all on one board). Search results mostly carry an HLS playlist (.m3u8); with details the Actor takes the MP4 file Pinterest gives in the pin's detail answer (65 of 65 video pins with details were MP4 in runs TfsK9uUtE5IxZX0mq, A0eiHi44gf9WXCj2J and ZSgFGfgkG9TPeGlNC).

Do I need a Pinterest account or cookies? No. The Actor reads what Pinterest shows logged-out visitors.

Are short pin.it links supported? Not yet. Open the link and copy the pinterest.com address.

What if two inputs find the same pin? It is delivered and charged once, for the first source; later sources count it as a duplicate in the SOURCE_REPORT record.

Troubleshooting

  • Fewer pins than maxPinsPerSource: Pinterest ended the results (see end per source in the SOURCE_REPORT record), or earlier sources already delivered some (duplicates). For keywords, turn on related searches.
  • A board gives fewer pins than its pinCount: pinCount is Pinterest's own count and can be higher than the pins Pinterest's board feed returns (23 and 20 for joestewart/bedroom, 51 and 50 for pinterest/official-news in run rgWXOlOrbQbY6yWaI, both read to the end of the board). A shop's product catalog board (/_products/) shows a very large count (482,417,976 for SHEIN); the Actor reads up to maxPinsPerSource pins from it.
  • A status row says not-found: the board, profile or pin is deleted, renamed or private.
  • A profile gives no pins: its Created tab is empty; set profilePins to saved or add its boards (listed in the profile row).
  • The run stopped early: it reached your maximum cost per run; the log says so.
  • The Actor reads public Pinterest pages and Pinterest Trends data without logging in. Counts and rankings change all the time; keep scrapedAt with the data.
  • Up to 10,000 pins per source; Pinterest Trends gives one or two years (53 or 105 weekly values).
  • Pinterest is a trademark of Pinterest, Inc. This Actor is not affiliated with or endorsed by Pinterest.

Support

Open an issue on the Issues tab with the run ID and the input.

Changelog

0.1.3 — 2026-10-01

maxPinsPerSource: 0 now means no pins at all: pin links are not read either, and each gets a free skipped status row, so a run with 0 has no pin event. An input with only pin links and 0 stops at once with the reason. Before, pin links were read even with 0.

0.1 — 2026-10-01

First version. See CHANGELOG.md.