Pinterest Scraper — Pins & Boards by Pinterest Keyword Search avatar

Pinterest Scraper — Pins & Boards by Pinterest Keyword Search

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Pinterest Scraper — Pins & Boards by Pinterest Keyword Search

Pinterest Scraper — Pins & Boards by Pinterest Keyword Search

Rising star

Pinterest scraper for Pinterest search results and image search by keyword — Pinterest pins, video pins, boards, creator profiles, keyword suggestions, search autocomplete and Pinterest Trends: keywords for SEO and keyword research. Each pin: outbound link, board, creator, image sizes. CSV or JSON.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Andrey Afanasenko

Andrey Afanasenko

Maintained by Community

Actor stats

0

Bookmarked

205

Total users

127

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

Apify Actor

Type a keyword, get Pinterest as a spreadsheet. Pins, video pins, boards, creators and Pinterest's own keyword suggestions — five searches in one actor — plus every pin of a board, board section or profile you link to, and Pinterest Trends by country. No login and no browser. Built for SEO, content and e-commerce teams who need the outbound link and destination domain behind every pin, not just a pretty image.

🆓 Free to start: no signup or card beyond your Apify account · press Save & Start with empty fields and it runs a 10-row sample on a built-in keyword · Apify's Free plan includes $5 of monthly platform credit, roughly 1,400 rows here.

🎯 What it does

You give it keywords, links to boards, profiles and pins, or a country for Pinterest Trends. It reads Pinterest the way a logged-out visitor would, and returns clean, deduplicated rows.

ModeInputWhat each row is
Mode 1: Search pins by keywordkeywordsa pin: title, description, image, outbound link + destination domain, creator, board, topic tags
Mode 2: Search video pins by keywordkeywordsthe same, plus a direct video URL, poster frame and duration
Mode 3: Search boards by keywordkeywordsa board: name, description, pin count, cover image, owner and owner's follower count
Mode 4: Search creators by keywordkeywordsan account: followers, pin and board counts, date of its last save
Mode 5: Get keyword suggestionsseed keywordsone phrase Pinterest itself suggests for your seed, in rank order
Mode 6: Get pins from board, profile or pin linkslinksa pin, in Mode 1's shape, plus the board it was read from and its save count; board sections and a pin's related pins too
Mode 7: Get Pinterest Trendsa country, a trend list, optional keywordsa trending search term: rank, growth week / month / year, seasonality, weekly interest for the past year

Fields group into four themes: content (title, description, alt text, image sizes, dominant colour), destination (outbound link, domain, what the linked page is), people (creator handle, name, followers, board), and discovery (Pinterest's own topic tags and AI interest labels).

⚠️ Pick your mode first. Each mode reads only its own input fields. Example: you select Mode 1 but type your keyword into the Mode 3 field. The actor runs Mode 1 — which never looks at Mode 3's field — finds no keyword, and falls back to a 10-row demo instead of your search. All seven mode sections stay visible whatever you pick; the Apify Console does not hide them, so fill in only the section whose label matches your mode.

📦 Output sample

One complete row from Mode 1, exactly as it lands in the dataset:

{
"result_type": "pin",
"keyword": "home office ideas",
"pin_id": "68749748250",
"pin_url": "https://www.pinterest.com/pin/68749748250/",
"title": "Office with Green and oak cabinetry",
"description": "Green office cabinetry with pull out printer shelf, wall to wall oak desktop and open display shelving.",
"alt_text": "a home office with green cabinets and white chairs",
"created_at": "2026-01-28T16:28:51.000Z",
"image_url": "https://i.pinimg.com/originals/0f/93/20/0f9320dbe478ae36ec533b899ed2b6e1.jpg",
"image_width": 1333,
"image_height": 2000,
"thumbnail_url": "https://i.pinimg.com/236x/0f/93/20/0f9320dbe478ae36ec533b899ed2b6e1.jpg",
"dominant_color": "#8c8379",
"outbound_link": "https://example.com/",
"outbound_domain": "example.com",
"reactions": 171,
"is_promoted": false,
"is_video": false,
"video_url": null,
"video_thumbnail_url": null,
"video_duration_seconds": null,
"topic_tags": [
"Small Office Space Storage",
"Office Room Storage Ideas",
"Study Cabinets Built Ins",
"Small In Home Office Ideas",
"Home Office And Storage Room"
],
"ai_topics": [],
"source_type": null,
"source_site": "AR Interiors Inc",
"source_title": null,
"creator_username": "stx2102",
"creator_full_name": "Meg Sultzbach Guido",
"creator_profile_url": "https://www.pinterest.com/stx2102/",
"creator_avatar_url": "https://i.pinimg.com/140x140_RS/21/24/da/2124dae9ad41685abb249261a4a33f1a.jpg",
"creator_followers": 605,
"creator_is_verified_merchant": false,
"board_name": "Office Space",
"board_url": "https://www.pinterest.com/stx2102/office-space/",
"board_pin_count": 120
}

Anything Pinterest did not provide comes back as null — never the string "N/A" — so numeric columns stay numeric in Sheets, Airtable and CSV. Every row carries a result_type, and a row holds only the fields belonging to its own type. The full per-field schema lives in .actor/dataset_schema.json, which is also what AI agents read through Apify's MCP layer.

⚡ Quick start

  1. Leave operation mode on Mode 1: Search pins by keyword.
  2. Type one keyword per line into Keywords — letters, digits and spaces only.
  3. Set Max pins to something small for the first run, e.g. 50.
  4. Press Save & Start.
{
"operationMode": "searchPins",
"searchPinsKeywords": ["home office ideas"],
"searchPinsMaxItems": 50
}

Pressing Save & Start with everything empty is safe: the actor runs a built-in 10-row sample instead of failing, and says so in the log. Whichever mode you select, fill in that mode's field — the other six are ignored. (Mode 7 is the exception to the sample: with no keyword it reads the country's whole trend list, which is a real result.)

⭐ Choose your mode

🎯 Mode 1: Search pins by keyword

The main one. Pinterest's relevance ranking, paginated until your Max pins number is reached or Pinterest stops offering new pins.

  • Input: searchPinsKeywords — one keyword per line.
  • Cost control: searchPinsMaxItems — the run stops there. 0 means "no limit of your own"; the free plan still stops at 50 rows per run, 150 per month.

🎯 Mode 2: Search video pins by keyword

Mode 1's row shape narrowed to pins that carry video, plus video_url, video_thumbnail_url and video_duration_seconds.

  • Input: searchVideoPinsKeywords.
  • Cost control: searchVideoPinsMaxItems.

🎯 Mode 3: Search boards by keyword

Finds where a topic is actually curated. A board with 1,500 pins whose owner has 200k followers is a distribution channel; a board with 11 pins is not.

  • Input: searchBoardsKeywords.
  • Cost control: searchBoardsMaxItems.

🎯 Mode 4: Search creators by keyword

Accounts that publish about your topic, with follower count, pin and board counts, and the date of their last save — enough to separate an active account from a dormant one before you reach out.

  • Input: searchCreatorsKeywords.
  • Cost control: searchCreatorsMaxItems.
  • Need their bio and website too? Pinterest's search does not carry either. Pinterest Profile Scraper looks each account up and returns them.

🎯 Mode 5: Get keyword suggestions

Pinterest's own autocompletions for a seed phrase, in the order Pinterest ranks them. About a dozen per seed, and they are what Pinterest users actually type.

  • Input: keywordSuggestionsKeywords — seeds, one per line.
  • Cost control: keywordSuggestionsMaxItems.

Paste a link instead of a keyword. Every row is a pin in Mode 1's shape, with three additions: input_type (what kind of link it came from), the board it was read from (board_name, board_url, board_pin_count), and saves — how many times the pin was saved, which board and pin pages show and search results do not. The link itself sits in keyword, so rows from several links stay apart.

  • Input: pinsFromLinksUrls — one link per line:
    • a board — pinterest.com/marthastewart/appetizers-and-hors-doeuvres-recipes/ → its pins, page after page;
    • a board section — pinterest.com/foodnetwork/food-gifts-and-treats/homemade-gift-ideas/ → the pins of that section only, with the section's title in section_name;
    • a profile — pinterest.com/marthastewart/ → the pins on its public boards, board by board, most recently pinned board first;
    • a pin — pinterest.com/pin/1234567890/ → that one pin. Any Pinterest country domain (pinterest.co.uk, de.pinterest.com …) and pin.it short links work.
  • Cost control: pinsFromLinksMaxItems — one ceiling across all links.
  • Related pins (optional): turn on Also get related pins (includeRelatedPins) and each pin link also returns the pins Pinterest shows under it as "More ideas" — up to relatedPinsPerPin per pin (default 50, at most 500; Pinterest shows about 500). Each is a normal pin row, charged like any other, with input_type = "related_pin" and the pin it belongs to in related_to_pin_id. Related pins carry no save count, and board, section and profile links are read without them. If Pinterest shows no related pins for a pin, the run says so in its log and in its message (Storage → USER_MESSAGE); nothing is charged for them.
  • Not read: search and idea pages, secret boards and private accounts, and pin links of the long encoded form some Pinterest pages show (/pin/e1_…/) — use the numeric link or the board instead. Each such link gets one free row (result_type = "link_unavailable") with the reason, and is never charged. The same goes for a deleted board, an unknown account and an empty board.
  • The 🔬 pin filters (reactions, outbound link, promoted, destination domain, creator followers) work here as in Mode 1, related pins included.

What people search for on Pinterest in a country, read from Pinterest's own public Trends site: one row per trending term with its rank (trend_rank), how much it grew week on week, month on month and year on year (weekly_change_pct, monthly_change_pct, yearly_change_pct), how seasonal it is (seasonality_score, 0–1) and Pinterest's relative search volume (search_volume_index, top term of the list = 100). With Add weekly search interest on (the default), each row also carries weekly_interest — a point per week for the past year, on the term's own scale (its best week = 100).

  • Region: trendsRegion — 29 countries and regions, as Pinterest groups them (United States, Canada, UK and Ireland, Germany, Austria and Switzerland, France, Brazil, India, Australia and New Zealand…).
  • Trend list: trendsType — growing (fastest risers, the default), monthly and yearly (most searched), seasonal (terms that come back at this time every year).
  • Keywords (optional): trendsKeywords — each keyword returns the trending terms that contain it as a word, as its own list; leave empty for the whole list. trendsExcludeKeywords leaves out terms that contain any of its words (whole words: deko leaves out weihnachten deko, not aussendeko).
  • Cost control: trendsMaxItems. Each list holds up to 100 terms.
  • data_as_of says which day the figures are for — Pinterest Trends runs a few days behind.

🧭 When to use it

  • Content planning. Run Mode 5 on a seed, then Mode 1 on the strongest suggestions to see what already ranks for each.
  • E-commerce research. Mode 1 with Destination domain contains set to a competitor's domain shows every pin driving traffic to them.
  • Creator discovery. Mode 4, then sort your sheet by followers and last-save date.
  • Ad and creative research. Mode 1 keeps Pinterest's promoted pins and flags them in is_promoted, so you can see what is being paid for in your category — or drop them with Exclude promoted pins.
  • Design and moodboard sourcing. Mode 3 finds the boards worth mining; Mode 6 exports every pin of the ones you pick.
  • Competitor and creator audits. Mode 6 on a brand's profile lists what it pins, where each pin links and how often each was saved.
  • Seasonal and trend planning. Mode 7 shows what is rising in a country this month and which terms come back every year, with a year of weekly interest to time your pins; Mode 1 then shows what already ranks for each term.
  • Visual research from one pin. Mode 6 with related pins on takes a pin you like and returns the pins Pinterest itself shows as similar — up to about 500 per pin.

🎯 Example tasks

Ready-to-run examples — each opens a pre-configured task you can run in one click (no setup):

  • Scrape Pinterest pins by keyword — Search Pinterest for any keyword and export every matching pin — title, description, image, outbound link, destination domain, creator and board.
  • Find product pins on Pinterest by store — Keep only the Pinterest pins that link to a store you name — product image, title, destination URL and the creator behind each pin.
  • Export Pinterest video pins by keyword — Search Pinterest for pins that carry video and export the direct video URL, poster frame and duration alongside the pin's title, link and creator.
  • Find Pinterest boards by keyword — Find the boards curating any topic — board name, description, pin count, cover image and the owner's follower count, so you can see where a topic lives.
  • Find Pinterest creators by niche — Find the accounts publishing about your niche — follower, pin and board counts plus the date each one last saved, so dormant accounts are obvious.
  • Get Pinterest keyword suggestions — Export the phrases Pinterest itself suggests for a seed keyword, in its own ranking — the fastest way to plan pin titles, board names and descriptions.

🛠 Input

FieldTypeApplies toWhat it does
operationModeselectallWhich of the seven modes to run.
searchPinsKeywordsstring listMode 1Keywords to search for pins.
searchVideoPinsKeywordsstring listMode 2Keywords to search for video pins.
searchBoardsKeywordsstring listMode 3Keywords to search for boards.
searchCreatorsKeywordsstring listMode 4Keywords to search for creators.
keywordSuggestionsKeywordsstring listMode 5Seed phrases to expand.
pinsFromLinksUrlsstring listMode 6Board, board section, profile or pin links.
includeRelatedPinsbooleanMode 6Also return each pin link's related pins. Off by default.
relatedPinsPerPinintegerMode 6Related pins per pin link, at most 500. Default 50.
trendsRegionselectMode 7Country or region of the trend list. Default US.
trendsTypeselectMode 7growing, monthly, yearly or seasonal. Default growing.
trendsKeywordsstring listMode 7Only trends that contain these words; each is its own list. Optional.
trendsExcludeKeywordsstring listMode 7Leave out trends that contain these words. Optional.
trendsIncludeWeeklyInterestbooleanMode 7Add a year of weekly interest to each row. On by default.
<mode>MaxItemsintegerper modeRow ceiling for that mode. 0 = no ceiling of your own.
minReactionsintegerModes 1, 2, 6Drop pins below this reaction count.
onlyPinsWithLinkbooleanModes 1, 2, 6Keep only pins that link somewhere.
excludePromotedPinsbooleanModes 1, 2, 6Drop pins Pinterest marks as ads.
linkDomainContainsstringModes 1, 2, 6Comma-separated domain fragments to keep.
minCreatorFollowersintegerModes 1–4, 6Minimum followers for the creator or board owner.
minBoardPinsintegerMode 3Minimum pins on the board.

Keywords (Modes 1–5) accept letters, digits and spaces only — that is Pinterest's own constraint on this search surface. Accented letters are folded automatically (café décor searches as cafe decor), punctuation, hashtags and emoji are stripped, and a keyword left with nothing searchable is skipped and reported in SKIPPED_ITEMS rather than silently ignored.

💰 How much will scraping Pinterest cost?

One paid event: Result — one row delivered to the dataset.

Your Apify planPrice per row1,000 rows
Free$0.0035$3.50
Bronze$0.0030$3.00
Silver$0.0025$2.50
Gold, Platinum, Diamond$0.0020$2.00

Filtered and duplicate rows cost nothing. You are charged when a row lands in the dataset, not when Pinterest hands it over. A run whose filters reject everything costs $0.00, and Pinterest's habit of repeating the same pin across pages costs you nothing either — the actor drops repeats before charging.

Worked examples on the Free plan:

  • 50 pins for one keyword — $0.175
  • 500 pins across 10 keywords — $1.75
  • 5,000 pins for a full content audit — $17.50
  • a dozen keyword suggestions from Mode 5 — about $0.04

🆓 Free vs paid plan

Free planPaid plan
Rows per runup to 50, in fullyour maxItems, unlimited by default
Rows per calendar month150 (resets on the 1st, UTC)unlimited
All seven modes✓✓
All filters✓✓
Pagination past the first page✓✓
Scheduling✓✓ (free runs draw on the monthly budget)
Results beyond the cap🔒 preview rows: titles & descriptions visible, links & identifiers locked✓ delivered in full

Every row the free plan delivers is complete — no mode, filter or field inside it is held back. The free ceiling is about how many: up to 50 rows per run and 150 per calendar month. When a run hits the cap, the next results it had already fetched are previewed at the end of your dataset (row_status = 'withheld_free_plan', never charged), and the run says exactly what was held back in USER_MESSAGE and on the live status page. A month that spends its budget gets $0 runs with an explanation until the 1st — any paid plan removes both limits.

🧪 Filter recipes

Find who is driving Pinterest traffic to a competitor

{
"operationMode": "searchPins",
"searchPinsKeywords": ["standing desk"],
"linkDomainContains": "fully.com,uplift",
"onlyPinsWithLink": true,
"searchPinsMaxItems": 200
}

Only pins that got engagement, no ads

{
"operationMode": "searchPins",
"searchPinsKeywords": ["fall wedding centerpieces"],
"minReactions": 25,
"excludePromotedPins": true,
"searchPinsMaxItems": 300
}

Boards big enough to be worth pitching

{
"operationMode": "searchBoards",
"searchBoardsKeywords": ["scandinavian interior"],
"minBoardPins": 200,
"minCreatorFollowers": 10000
}

Every pin of two boards, with save counts

{
"operationMode": "pinsFromLinks",
"pinsFromLinksUrls": [
"https://www.pinterest.com/marthastewart/appetizers-and-hors-doeuvres-recipes/",
"https://www.pinterest.com/foodnetwork/alton-brown/"
],
"onlyPinsWithLink": true,
"pinsFromLinksMaxItems": 500
}

One pin and the pins Pinterest calls similar

{
"operationMode": "pinsFromLinks",
"pinsFromLinksUrls": ["https://www.pinterest.com/pin/255016397645824430/"],
"includeRelatedPins": true,
"relatedPinsPerPin": 200
}

What is rising for Christmas in Germany, Austria and Switzerland

{
"operationMode": "pinterestTrends",
"trendsRegion": "DE+AT+CH",
"trendsType": "growing",
"trendsKeywords": ["weihnachten", "christmas"]
}

A keyword map for next quarter's content

{
"operationMode": "keywordSuggestions",
"keywordSuggestionsKeywords": ["home office", "small apartment", "desk setup"]
}

📡 Live status & storage records

While a run is going, open the Live Status link on the run page for a self-refreshing view: rows saved, rows dropped by filters, elapsed time and running cost.

RecordWhen it appearsWhat is in it
RUN_SUMMARYevery runmode, keywords, rows saved, rows filtered, duplicates dropped, request count, cost, wall-clock seconds
USER_MESSAGEwhen there is something to saywhy a run returned nothing, which filter is binding, what to change next
FREE_LIMITS_APPLIEDfree plan, cap reachedwhich cap applied and what it changed
SKIPPED_ITEMSwhen something was skippedunsearchable keywords, duplicate keywords or links, duplicate results, failed searches, links that gave no pins — each with a reason

🤖 Programmatic / API use

Start a run and get the dataset back in one call:

curl -X POST "https://api.apify.com/v2/acts/afanasenko~pinterest-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"operationMode": "searchPins",
"searchPinsKeywords": ["home office ideas"],
"searchPinsMaxItems": 100,
"onlyPinsWithLink": true
}'

Read the run summary afterwards:

$curl "https://api.apify.com/v2/actor-runs/$RUN_ID/key-value-store/records/RUN_SUMMARY?token=$APIFY_TOKEN"

Every output field is declared in the dataset schema, so agent frameworks can read the column list without a sample run.

💡 Tips & Best Practices

Getting maximum results

Broad keywords beat precise ones on Pinterest. home office ideas returns hundreds of pins; minimalist sage green home office desk setup often returns a handful. Start broad, then narrow with filters — filters cost nothing.

Run Mode 5 first when you are exploring a topic. A dozen suggestions for one seed costs about four cents and tells you which phrasings Pinterest actually serves.

Cost optimization

Set maxItems on the first run of any new keyword. Pinterest will happily keep paginating, and an unbounded run on a broad keyword is the only way to spend more than you meant to.

Filters are free to apply and reduce the bill, so push the narrowing into the actor rather than deleting rows afterwards in a spreadsheet.

Performance

A 50-row run takes a few seconds; several hundred rows take a minute or two, because deeper pages come back more slowly. 1 GB of memory is plenty — this actor does no browser work.

Data quality

reactions is the only engagement number on Pinterest's search results (Modes 1–2). Pins read from a board, section, profile or pin link (Mode 6) also carry saves, the save count Pinterest shows on those pages; related pins do not, because Pinterest's related feed does not carry it.

created_at is the pin's publication date, which is often much older than the date it started circulating again.

❓ FAQ

How do I scrape Pinterest search results without an API key? You do not need one. Pick Mode 1, type your keyword, press Save & Start. Authentication, pagination and rate limits are handled inside the actor.

Is there a free way to try it? Yes. Press Save & Start with the form empty and the actor runs a capped 10-row sample on a built-in keyword. Apify's Free plan also includes $5 of monthly platform credit, roughly 1,400 rows here.

Can I use the official Pinterest API instead? For your own account, yes — Pinterest's official API is built for advertisers and for managing pins you own. It will not return other people's search results, which is what this actor is for.

Why did my run return zero rows? Three usual causes, and USER_MESSAGE in the run's Storage tab names which one applied: the keyword was too specific, the keyword contained characters Pinterest's search rejects, or your filters dropped everything. Zero-row runs cost nothing.

Does it return save or repin counts? Search results (Modes 1–2) carry no save count — neither does Pinterest's own search page — so those rows give reactions only. Pins read from a board, section, profile or pin link (Mode 6) also carry saves, the save count Pinterest shows on those pages. To get save counts for a topic, run Mode 3 on the keyword, then Mode 6 on the boards it finds.

I selected one mode but filled another mode's field. What happens? The actor runs the mode you selected, finds its field empty, and falls back to the 10-row demo. All seven sections stay visible in the Console, so check that the section you typed into carries the same mode number you picked.

Can I search in languages other than English? Pinterest's search surface here accepts letters, digits and spaces. Accents are folded automatically, so French, German, Spanish and Portuguese keywords work. Scripts outside the Latin alphabet are not supported, and any keyword that uses them is reported in SKIPPED_ITEMS.

Can I export every pin of a board or a profile? Yes — Mode 6. Paste the board or profile link, one per line, and set Max pins (Mode 6) to cap the bill. A profile is read board by board. A link Pinterest shows no pins for (deleted, secret, empty) gets a free row saying why.

Can I get Pinterest Trends data — what is growing and when it peaks? Yes — Mode 7. Pick a country or region and one of Pinterest's lists (growing, monthly, yearly, seasonal), optionally narrow it to terms containing your keywords, and each trending term comes back with its rank, week / month / year growth, seasonality score and, by default, a year of weekly interest. One row per term, priced like every other row.

Can I get the pins of one board section, or pins similar to a pin? Yes — both in Mode 6. Paste the section's link (pinterest.com/name/board/section/) to read that section only. For similar pins, paste a pin link and turn on Also get related pins.

Are duplicate pins charged twice? No. Pinterest repeats pins across pages; the actor drops repeats run-wide before charging and counts them in RUN_SUMMARY.

Can I schedule it? Yes — the three dots ⋯ on the actor page → Schedule → pick a cadence → Activate. A weekly Mode 3 or Mode 4 run is the usual setup: it shows which boards and accounts are growing in your topic between runs.

How do I get only pins that link to a specific site? Set linkDomainContains to a fragment of that domain and switch on onlyPinsWithLink. See the first filter recipe above.

ActorDomain
Pinterest Profile ScraperPinterest
Instagram Profile ScraperInstagram
Instagram Related Profiles ScraperInstagram
TikTok Profile ScraperTikTok
YouTube Channel ScraperYouTube
LinkedIn Jobs ScraperLinkedIn
Zillow ScraperUS real estate

🛟 Support & feedback

Open the Issues tab on this actor's Apify Store page. Bug reports that include the run ID get fixed fastest, and feature requests do get built.

This actor reads only what Pinterest shows a logged-out visitor: public pins, public boards and public profiles. It does not log in, does not touch private boards or private accounts, and collects no personal contact details.

Public data collection is broadly lawful in the EU and the US, but you remain responsible for what you do with the output — respect copyright in the images you find, follow Pinterest's terms for any republication, and handle any personal data in line with GDPR and local law.