Pinterest Search Scraper — Pins, Boards & Trends avatar

Pinterest Search Scraper — Pins, Boards & Trends

Pricing

from $1.04 / 1,000 results

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

Pinterest Search Scraper — Pins, Boards & Trends

Pinterest scraper for search results, boards and profiles without login: pins with real pin links, saves, repins, comments, image and video links, plus Pinterest Trends with weekly interest and search suggestions for keyword research. Only new pins on a schedule.

Pricing

from $1.04 / 1,000 results

Rating

0.0

(0)

Developer

Anuar Bakty

Anuar Bakty

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Pinterest Search Scraper scrapes Pinterest search results, boards and profiles without a login and gives every pin as a clean row: a working pin link and the save count even where Pinterest hides them, repins, reactions, comments, the original image and video links, the outbound link, the pinner and the board. It also reads Pinterest Trends (growing, top and seasonal terms with a year of weekly interest and their most saved pins) and Pinterest's own search suggestions for keyword research. Search by keyword, paste board, profile and pin links, and get only the new pins of a keyword or board on a schedule.

Since October 2026 Pinterest shows a visitor who is not logged in the pins of a search and of a board feed under encrypted IDs: no working link, no save count. This Actor looks each one up by its picture and brings back its working link and save count, inside the price of the row.

What does Pinterest Search Scraper do?

  • Scrapes Pinterest search results for any keyword: pins, video pins, boards or people, as deep as Pinterest goes. One test run read 1,095 pins of one keyword.
  • Finds the real pin link and the saves of pins Pinterest shows under an encrypted ID, by looking each one up in its board and its creator's pins.
  • Exports boards and board sections: their pins with images, links and saves.
  • Reads profiles: followers, monthly views, website, the pins the account created or saved, and its boards.
  • Opens pin links and pin IDs with the full pin: saves, repins, reactions, comment count, date, product price, video, and up to 1,000 comments with their text, date, author ID and likes.
  • Pinterest Trends: growing, top monthly, top yearly and seasonal terms for any country, with weekly, monthly and yearly change, seasonality, a year of weekly interest and the most saved pins of each term.
  • Pinterest keyword research: Pinterest's own search suggestions for any seed, in Pinterest's order.
  • Monitors new pins: with Only new pins on, a scheduled run delivers only the pins that earlier runs did not, with a message to Slack, Discord, Telegram or any webhook.

Why use this Pinterest scraper?

What goes wrong elsewhereWhat happens here
Search pins come back with an e1_… ID: the link does not open, saves are empty or a fake zeroEach such pin is looked up by its picture, and its working link and save count come back in the same row, included in the price. Empty stays empty, never a fake zero
"Returns 0 and no error"Every input that gives nothing produces a free row with the reason: not found, private, encrypted link, no results
"Only 100 pins"Reading goes on as long as Pinterest gives pages; each input gets a free summary row with pins read, delivered and why reading stopped
"Limit 5, got 95 rows"The run stops exactly at your limit and at the maximum cost you set for the run
An automation built for another Pinterest scraper has to be rebuiltInputs of other Pinterest scrapers run as they are: 114 inputs of 49 Pinterest Actors (their examples, form defaults and public tasks) were tested
Blocked after a few hundred requestsNo proxy needed: Pinterest answers Apify's servers directly, and a part of Pinterest that slows one address down moves to Apify datacenter proxies by itself, then comes back

What Pinterest data can you extract?

DataFields
The pinPin ID and working link, title, description, alt text, created date, hashtags, promoted or not, position in the search
EngagementSaves, repins, reactions, comment count, share count, and where the saves came from
MediaOriginal image and every size, dominant color, video stream (HLS), MP4 link and length, idea pin pages
LinksOutbound link, website, uploaded by the user or not, product name, price, currency and stock
CommentsText, date, author ID and likes of each comment
Pinner and boardPinner name, username, followers and link; board name, link and pin count
BoardsName, description, pin count, followers, sections, collaborative or not, cover, owner
ProfilesName, about, website and its verification, followers, following, pins, boards, monthly views, verified merchant
Pinterest TrendsTerm, rank, search index, weekly, monthly and yearly change, seasonality, a year of weekly interest
Search suggestionsThe suggestion and its place in Pinterest's list

The full list is in Output.

What can you use it for?

  • Content ideas for clinics, dentists and home services: the most saved pins of "dental clinic interior design", "teeth whitening" or "kitchen remodel", with the websites they link to.
  • Pinterest analytics of any public pin: saves, repins, reactions and comments for a keyword, a board or a competitor's profile.
  • Pinterest SEO and keyword research: Pinterest's own suggestions for a seed, and the terms that grow in Pinterest Trends this week.
  • Seasonal planning: seasonal and growing Pinterest Trends terms with a year of weekly interest, to plan posts before the peak.
  • Competitor monitoring: the new pins of a keyword, a board or a profile every morning, in Slack or Telegram.
  • Exporting a Pinterest board: the pins of a board with their image links and saves, as Excel or CSV.
  • AI agents and automation: clean rows for n8n, Make, Zapier or an MCP agent.

How to scrape Pinterest search results

  1. Type keywords into Search keywords, or paste Pinterest links (search, board, section, profile, pin or pin.it) into Pinterest links, one per line.
  2. Set Max results per keyword, board or profile, and the filters and order if you need them.
  3. Click Start. 50 pins of a keyword with their links, saves and comments took 83 seconds in our test.
  4. Open the Output tab and export the rows to Excel, CSV or JSON, or read them through the API.
You giveYou get
dental clinic interior designPins of the search with links, saves and repins
dental clinic interior design, Search for = boardsBoards about it, with pin counts and followers
https://www.pinterest.com/mayoclinic/cardiology/The pins of the board with links and saves
https://www.pinterest.com/mayoclinic/The profile row, the pins it created, and its boards when asked
https://www.pinterest.com/pin/973481275688876750/The full pin, with its comments when asked
Pinterest Trends: countries = USToday's growing terms in the US with their weekly interest

How much does it cost to scrape Pinterest?

You pay per result, not for time or memory. Real links, save counts and comments are included in the price of the pin.

WhatPrice on the Free plan
A pin, board, profile, search suggestion or trend term$1.50 per 1,000 results
Run start, Apify's standard start fee$0.00003 with the default 512 MB of memory
Summary rows, rows that explain an empty input, pins left out by the filters, a pin that two inputs sharefree

Paid Apify plans pay less per result: $1.30 on Bronze, $1.17 on Silver, $1.04 on Gold per 1,000.

ExampleCost on the Free plan
1,000 pins of a keyword with links and saves$1.50
A dental clinic's profile with 50 of its pins and its 25 boards$0.11
Growing, monthly, yearly and seasonal Pinterest Trends of the US, 25 terms each, with the 3 most saved pins of each term$0.60
A daily check of 5 keywords that finds 20 new pins$0.03

Apify's free plan includes $5 of credit every month, enough for about 3,300 results.

Input

Keywords go into Search keywords, links into Pinterest links; a link of any kind can go into either field, and the Actor tells them apart. A long list can be pasted at once with Bulk edit.

{
"searchQueries": ["dental clinic interior design", "veterinary clinic reception"],
"startUrls": ["https://www.pinterest.com/mayoclinic/cardiology/"],
"maxResultsPerSource": 100,
"sortPins": "saves",
"includeComments": true
}

Filters (pins left out are free): Min saves, Min reactions, Only pins with a link, Link website contains, Leave out ads, Created on or after (a date or a number of days back), Pictures or videos. Order: Pinterest's own, the most saved first, or the newest first.

Limits: Max results per keyword, board or profile, Max paid rows in the run, and the maximum cost of the run that you set in Apify.

{
"trendsCountries": ["US"],
"trendsList": ["growing", "seasonal"],
"trendsKeywords": ["teeth", "skin", "home"],
"trendsHistory": true,
"trendsTopPins": 3
}

Pinterest Trends: lists are growing, top monthly, top yearly and seasonal. Compared period sets what the change is measured against (7 days to a year).

Coming from another Pinterest scraper?

Paste your input as it is. These field names are read too: queries, search, query, keywords, searchTerms, urls, pinUrls, boardUrls, profileUrls, usernames, maxPins, limit, maxResults, maxItems, type, searchType, operationMode, trendsRegion, trendsType, onlyNew, monitorMode, sinceDate, sortBy and more. A field that does not apply here is named in the log with the reason.

Output

Every row has a type: pin, board, profile, suggestion or trend (paid), summary (free, one per input) or notice (free, an input that gave nothing, with a code: NOT_FOUND, NO_RESULTS, ENCRYPTED_PIN, INVALID_INPUT, FETCH_FAILED, TRENDS_LIMIT, SCAN_LIMIT).

One row per pin:

{
"type": "pin",
"source": "dental clinic interior design",
"sourceType": "search",
"position": 1,
"id": "1020839440598637528",
"url": "https://www.pinterest.com/pin/1020839440598637528/",
"idEncrypted": false,
"title": "Calm reception for a family dental clinic",
"description": "Warm wood, soft light and plants in the waiting area of Example Dental Studio.",
"createdAt": "2026-10-17T00:17:46.000Z",
"link": "https://example-dental.com/blog/reception",
"domain": "example-dental.com",
"imageUrl": "https://i.pinimg.com/originals/17/59/a2/1759a2a169f6255c18ed89f05eeb0ad9.jpg",
"isVideo": false,
"saves": 1465,
"savesFrom": "boardWidget",
"repinCount": 12,
"reactionCount": 14,
"commentCount": 3,
"comments": [
{ "id": "5404536928934605458", "text": "Which paint color is this?", "createdAt": "2026-10-20T16:52:55.000Z", "authorId": "1100000000000000001", "likeCount": 2 }
],
"pinnerUsername": "example_dental_studio",
"pinnerFollowers": 1183,
"boardName": "Dental office ideas",
"boardUrl": "https://www.pinterest.com/example_dental_studio/dental-office-ideas/",
"tags": [],
"scrapedAt": "2026-11-07T12:00:00.000Z"
}

savesFrom says where the save count came from: pin (the pin itself) or the lookup that found it (boardWidget, creatorPins, boardFeed). idEncrypted: true marks a pin whose numeric ID Pinterest did not show; it keeps its encryptedId, picture, title, link, date and pinner.

One row per trend term:

{
"type": "trend",
"source": "US growing",
"country": "US",
"trendList": "growing",
"position": 1,
"trendTerm": "november nails ideas 2026",
"searchIndex": 25,
"weeklyChange": 3,
"monthlyChange": 100.01,
"yearlyChange": 100.01,
"weeklyInterest": [{ "date": "2026-11-02", "value": 100 }],
"trendsEndDate": "2026-11-03"
}

Changes are as Pinterest reports them: 0.3 means +30%.

Summary rows

Each input also gets a free summary row: pins read and delivered, how many were left out by the filters, seen before or delivered by another input, how many encrypted pins got a real link and a save count, and why reading stopped. Each run also writes a SUMMARY record to its key-value store.

Set Pinterest Trends: countries to one or more two-letter country codes, for example US, and pick the lists. Each term comes with its search index, its weekly, monthly and yearly change and its seasonality; turn on Pinterest Trends: weekly interest for a year of weekly values, and set Pinterest Trends: top pins per term to get the most saved pins of each term. In our test, 10 terms of two US lists, each with 53 weeks of interest and its 3 most saved pins, took 66 seconds.

Pinterest keyword research with search suggestions

Type seeds into Search suggestions for these words: each gives Pinterest's own suggestions in Pinterest's order. "dental clinic" gave 12 in our test, such as "dental clinic interior", "dental clinic ideas" and "dental clinic logo". Use them as keywords in the same or the next run.

Monitor new Pinterest pins on a schedule

  1. Put keywords, boards or profiles into the input and turn on Only new pins.
  2. Give the watch list a Memory name, one per list.
  3. Paste a Slack or Discord webhook, a Telegram bot link or any webhook into Send a message when the run ends.
  4. Save the input as a task and schedule it daily or weekly.

The first run delivers what it finds and remembers it. Every later run delivers only the pins that were not delivered before; pins it skips are free.

The Actor reads only what Pinterest shows any visitor without logging in: public pins, boards, profiles and Pinterest Trends. It does not log in and reads nothing behind a login.

Rows can still contain personal data, for example the name and username of a pinner. Collect and use it only for a purpose you can justify under the rules that apply to you, such as the GDPR. If you are not sure, ask a lawyer.

Integrations and API

Results export to JSON, CSV, Excel and HTML. Runs can be scheduled, called through the Apify API and connected to Make, Zapier, n8n, Google Sheets or your own webhook.

curl -X POST "https://api.apify.com/v2/acts/anuarbakty~pinterest-search-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["dental clinic interior design"], "maxResultsPerSource": 50}'
from apify_client import ApifyClient
client = ApifyClient("<YOUR_TOKEN>")
run = client.actor("anuarbakty/pinterest-search-scraper").call(run_input={"searchQueries": ["dental clinic interior design"], "maxResultsPerSource": 50})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["type"], row.get("title"), row.get("saves"))

Use it from AI agents (MCP)

The Actor works as a tool through the Apify MCP server: https://mcp.apify.com/?tools=anuarbakty/pinterest-search-scraper. A typical request:

Find the most saved Pinterest pins about dental clinic interior design.

The agent calls the Actor with {"searchQueries": ["dental clinic interior design"], "sortPins": "saves", "fastMode": true}. Fast mode answers within about 30 seconds with up to 10 rows; it took 12 seconds in our test. A mistyped input comes back as a free row that says what to fix.

Apify's video shows how to set up the MCP server:

More from this developer

  • Google Ads Library Scraper: Google ads of any brand or website from the Google Ads Transparency Center: ad text read even from pictures, variations, countries, EU reach and targeting, no login.
  • Facebook Ads Library Scraper: Facebook and Instagram ads from the Meta Ad Library by keyword, brand, page or Instagram account, with copy, creatives, EU reach and advertiser contacts, no login.
  • App Store Reviews & Google Play Reviews Scraper: reviews, app details, ratings histogram, search, top charts and keyword rankings from both stores in one run.
  • YouTube Transcript Scraper: transcripts and subtitles of YouTube videos, Shorts, channels, playlists and search, as text, timestamps, SRT or VTT.
  • Instagram Transcript Generator: Instagram reels to text with timestamps, SRT and VTT subtitles and the opening hook.
  • Threads Scraper: posts, all replies and profiles from Threads without login, keyword search and only-new monitoring.
  • 2GIS Places Scraper: businesses from 2GIS with phones, WhatsApp, Telegram, emails and websites.
  • 2GIS Reviews Scraper: 2GIS reviews with star, topic and date filters and only-new monitoring.

FAQ

Do I need a Pinterest account, cookies or an API key? No. The Actor reads what Pinterest shows a visitor who is not logged in and takes no cookies.

Does Pinterest have an API? Pinterest's official API works through an app that Pinterest approves and an OAuth login, and is built around your own account: your pins, boards, ads and analytics. This Actor needs no app and no login: it reads the public search results, boards, profiles and Trends of any keyword or account, through the Apify API or MCP.

How many pins can I get per keyword? As many as Pinterest gives. One test run read 1,095 pins of one keyword and delivered 938 different ones; Pinterest repeats some pins further down the list, and the repeats are skipped for free. Set Max results per keyword, board or profile to the number you need.

How do I get the save count and the real link of a pin from a Pinterest search? Keep Find real links and save counts on (it is on by default). Each pin that Pinterest shows under an encrypted ID is looked up in its board and its creator's pins; the link, saves and repins come back in the same row. Turn it off for a faster run without lookups.

How do I download the pins of a Pinterest board? Paste the board link, for example https://www.pinterest.com/mayoclinic/cardiology/, and set the limit. Each pin comes with its original image link, its video link if it has one, its title, link and saves; export them as CSV and use the image links to save the pictures.

Can I get Pinterest analytics of a competitor? Yes, for everything public: paste the competitor's profile link to get its followers, monthly views and the saves, repins and comments of its pins, or watch its boards with Only new pins.

How do I find trending topics on Pinterest? Set Pinterest Trends: countries and pick growing or seasonal lists. Add words to Pinterest Trends: only terms with these words, for example teeth or kitchen, to stay in your niche.

How do I export Pinterest data to Excel or Google Sheets? When the run ends, open the Output tab and export to Excel or CSV, or connect the Actor to Google Sheets to get the rows after every run.

A run finished as "succeeded" but some inputs gave nothing. There is a free row for each of them that says why: no such board or profile, a private one, an encrypted pin link, or no results. The run succeeds so that an automation keeps going; turn on Fail the run when nothing is delivered if you want a failed status.

Something does not work or a field is missing. Open an issue on the Issues tab with the run ID. Every input that gave less than asked already explains why in its summary or notice row.