Pinterest Search Scraper — Pins, Boards & Users
Pricing
from $0.60 / 1,000 result scrapeds
Pinterest Search Scraper — Pins, Boards & Users
Search Pinterest by keyword or Pinterest search URL and get pins, boards and users as one structured JSON dataset with images, links, hashtags, video flags and counts when Pinterest provides them. No login needed; works with Apify MCP and the API.
Pricing
from $0.60 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
19
Total users
9
Monthly active users
7 hours ago
Last modified
Categories
Features
Share
What is Pinterest Search Scraper — Pins, Boards & Users?
Pinterest Search Scraper turns a Pinterest keyword search into a structured dataset. Give it one or more keywords (or Pinterest search URLs) and it returns pins, boards and users as typed JSON rows: titles, images in several sizes, video links and duration, website links, hashtags, creator details, follower and pin counts. It reads Pinterest's public search feed directly, so runs start in seconds and finish quickly.
It fits keyword research, trend scanning, creator and shop discovery, mood-board sourcing, and AI agents that need live Pinterest search results through Apify MCP.
What you get
| Result type | Main fields |
|---|---|
| Pin | url, title, description, image_url, image_sizes, is_video, video_url, video_duration_ms, outbound_link, source_domain, hashtags, is_promoted, reaction_count, created_at, board_name, creator_username, creator_follower_count |
| Board | name, url, description, pin_count, follower_count, category, cover_image_url, owner_username |
| User | username, full_name, url, bio, follower_count, following_count, pin_count, board_count, is_verified, image_url |
Every row also carries result_type, query, position, scraped_at and source_url, so rows from many keywords stay easy to group.
Pricing and run cost
This Actor uses Pay per event pricing. You pay one Result scraped event for each pin, board or user saved to the dataset, plus a small Actor Start event. Apify platform usage for the run is covered by the event price, so the live Pricing tab is the source of truth for your whole cost. The event price steps down on higher Apify plans (Free, Bronze, Silver and Gold tiers).
- 100 pins = 100
Result scrapedevents. - Pins that your filters skip are not saved, so they add no result events.
- A run that finds nothing adds no result events.
- Set a maximum total charge on the run to cap spending; the Actor finishes cleanly when it is reached.
How to use it
- Add keywords to Search keywords, or paste Pinterest search URLs such as
https://www.pinterest.com/search/pins/?q=minimalist%20kitchen. - Pick Result types: pins, boards, users, or any mix.
- Set Max results per keyword and type.
- Optionally add pin filters: video only, website link only, exclude promoted pins, link domain, minimum saves, minimum creator followers.
- Start the run and read the dataset. The
OUTPUTrecord holds a plain-languageagentSummary, per-keyword stop reasons and resume bookmarks.
Valid input example
{"searchQueries": ["home office setup", "standing desk"],"resultTypes": ["pins", "boards"],"maxResults": 100,"onlyWithOutboundLink": true,"excludePromoted": true}
Input fields
| Field | Type | Description |
|---|---|---|
searchQueries | array of strings | Keywords to search. Each keyword is searched on its own. |
startUrls | array | Optional Pinterest search URLs. Keyword and type are read from the URL. |
resultTypes | array | pins, boards, users. Default is pins. |
maxResults | integer | Results per keyword and type, 1 to 5000. Default 50. |
onlyVideos | boolean | Keep only video pins. |
onlyWithOutboundLink | boolean | Keep only pins that link to a website. |
excludePromoted | boolean | Skip promoted pins. |
domainContains | string | Keep pins whose link domain contains this text. |
minSaves | integer | Keep pins with at least this many saves (when Pinterest shows a count). |
minCreatorFollowers | integer | Keep pins from creators with at least this many followers. |
bookmarks | object | Resume an earlier search from its nextBookmarks. |
proxy | object | Optional proxy settings. The default works for most runs. |
Output example
A pin row from a real home office setup search (shortened):
{"result_type": "pin","query": "home office setup","position": 1,"id": "e1_AfqPShyQktG2NdatP01HMlPG0M_XluDYcRkf0H_Uwu0NN8zSuJxV-Q","title": "Amazon Home Office Finds That Make Your Desk Look Expensive","url": "https://www.pinterest.com/pin/e1_AfqPShyQktG2NdatP01HMlPG0M_XluDYcRkf0H_Uwu0NN8zSuJxV-Q/","is_video": false,"outbound_link": "https://link.amazon/B01tb2hF1","source_domain": "link.amazon","is_promoted": false,"created_at": "2026-11-02T19:16:41.000Z"}
Pinterest now gives public pins an encoded id string, and the url opens the pin in a browser.
Results, limits and outcomes
Pinterest search lists roughly 800 pins per keyword before it stops. If you ask for more, the run ends with the outcome PARTIAL and the stop reason SOURCE_EXHAUSTED for that keyword. Add more specific keywords to collect more.
The OUTPUT record has an outcome:
COMPLETE: every search reached the number you asked for.PARTIAL: some results were saved, but a search ended early, was stopped by Pinterest, or reached your charge limit. Each search lists itsstopReasonand anextBookmarkto resume.VALID_EMPTY: the searches worked and found nothing. No result events are charged.INVALID_INPUT: a keyword or search URL is missing, or a number is out of range.UPSTREAM_FAILED: Pinterest stopped every search and nothing was saved. The run status shows the run did not succeed, and no result events are added.
Free Apify plan runs stop at 100 results in total.
Run size and speed
The Actor picks its memory from your input: a single small search runs on the smallest size, and runs with many keywords get more memory and more searches in parallel. You can still set memory yourself when you start a run.
Use with AI agents (MCP)
Add khadinakbar/pinterest-search-scraper to Apify MCP and ask for Pinterest search results in plain words:
Find 50 Pinterest pins for "sourdough bread" that link to a website, and list the top domains.
The agentSummary field in OUTPUT states what was returned and why a search stopped, so an agent can decide the next step without reading every row.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/pinterest-search-scraper').call({searchQueries: ['fall outfits'],resultTypes: ['pins', 'users'],maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length);
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("khadinakbar/pinterest-search-scraper").call(run_input={"searchQueries": ["sourdough recipes"],"resultTypes": ["pins", "boards"],"maxResults": 50,})print(len(client.dataset(run["defaultDatasetId"]).list_items().items))
Example workflow and next steps
This Actor is the search layer: it starts from a keyword or a Pinterest search URL and finds the pins, boards and creators worth a closer look. Example workflow: a shop owner searches "standing desk" with onlyWithOutboundLink on, groups the rows by source_domain to see which sites Pinterest favors, then opens the strongest boards for deeper review.
Then continue with the tool that matches the next step:
- Use Pinterest Scraper when you have a specific pin, board or profile URL from these results and want its full details.
- Use Pinterest Profile Scraper when
usersresults point to creators you want to study in depth. - Use Pinterest Boards Scraper when
boardsresults include collections whose pins you want to export. - Use Pinterest Video Downloader when you want MP4 links for the video pins (
is_video: true) you found.
Best results
Use plain keyword phrases that match how people search Pinterest: topics, styles, seasons and niches. Start with pins for broad discovery, add boards and users for collections and creators, and add several related keywords when you want a larger set than one keyword can supply.
Builder's note
I found that Pinterest's own search feed returns clean JSON, so this Actor reads it directly instead of loading pages in a browser. That keeps runs fast and the cost per result low. I learned that the feed ends near 800 pins per keyword, so the Actor reports a short run as PARTIAL with the reason, which keeps results trustworthy.
FAQ
How many pins can I get for one keyword? Up to about 800. Use several related keywords to collect more.
Can I search only boards or only users?
Yes. Set resultTypes to ["boards"] or ["users"].
Do the filters change what I pay? Filters run before saving, so only the pins you keep add result events.
Why are some save counts empty? Pinterest search often leaves save counts out. The field is filled whenever Pinterest includes it.
Can I continue a search later?
Yes. Copy nextBookmarks from the OUTPUT record into the bookmarks input.
Can I search by Pinterest URL? Yes, for search-result URLs. Pin, board and profile URLs are handled by the related tools above.
Responsible use
This Actor reads public Pinterest search results and is meant for lawful use. Follow Pinterest's terms and applicable privacy rules, and handle creator and profile fields with care in downstream systems.