Pinterest Search Scraper — Pins, Boards & Trends
Pricing
from $1.04 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
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 elsewhere | What happens here |
|---|---|
Search pins come back with an e1_… ID: the link does not open, saves are empty or a fake zero | Each 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 rebuilt | Inputs 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 requests | No 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?
| Data | Fields |
|---|---|
| The pin | Pin ID and working link, title, description, alt text, created date, hashtags, promoted or not, position in the search |
| Engagement | Saves, repins, reactions, comment count, share count, and where the saves came from |
| Media | Original image and every size, dominant color, video stream (HLS), MP4 link and length, idea pin pages |
| Links | Outbound link, website, uploaded by the user or not, product name, price, currency and stock |
| Comments | Text, date, author ID and likes of each comment |
| Pinner and board | Pinner name, username, followers and link; board name, link and pin count |
| Boards | Name, description, pin count, followers, sections, collaborative or not, cover, owner |
| Profiles | Name, about, website and its verification, followers, following, pins, boards, monthly views, verified merchant |
| Pinterest Trends | Term, rank, search index, weekly, monthly and yearly change, seasonality, a year of weekly interest |
| Search suggestions | The 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
- Type keywords into Search keywords, or paste Pinterest links (search, board, section, profile, pin or
pin.it) into Pinterest links, one per line. - Set Max results per keyword, board or profile, and the filters and order if you need them.
- Click Start. 50 pins of a keyword with their links, saves and comments took 83 seconds in our test.
- Open the Output tab and export the rows to Excel, CSV or JSON, or read them through the API.
| You give | You get |
|---|---|
dental clinic interior design | Pins of the search with links, saves and repins |
dental clinic interior design, Search for = boards | Boards 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 = US | Today'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.
| What | Price 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 share | free |
Paid Apify plans pay less per result: $1.30 on Bronze, $1.17 on Silver, $1.04 on Gold per 1,000.
| Example | Cost 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.
Pinterest Trends input
{"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.
Pinterest Trends scraper: growing, top and seasonal terms
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
- Put keywords, boards or profiles into the input and turn on Only new pins.
- Give the watch list a Memory name, one per list.
- Paste a Slack or Discord webhook, a Telegram bot link or any webhook into Send a message when the run ends.
- 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.
Is it legal to scrape Pinterest?
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 ApifyClientclient = 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.