L logiover
social-media · Jun 4, 2026 · 8 min read

How to Scrape Pinterest Pins, Boards & Profiles in 2026

Learn how to scrape Pinterest at scale — search pins by keyword, pull board and profile data, and fetch single-pin save counts. No login, no API key, full output schema included.

If you want to scrape Pinterest for trend research, e-commerce product discovery, or image datasets, the platform makes it deceptively hard. The official Pinterest API is locked behind app review and rate limits that rule out bulk collection, and the site itself is an infinite-scroll JavaScript app that hides its data behind a resource endpoint. This guide covers what Pinterest data is actually worth, the four input modes you’ll use to extract it, the exact output fields you get back, and how to do all of it with no login and no API key.

Why Pinterest data is worth collecting

Pinterest is not a social network in the usual sense — it’s a visual search engine where users save (repin) content they intend to act on later. That intent signal is what makes the data valuable. A pin that has been saved thousands of times is a piece of content that real people deliberately bookmarked, often with a purchase or project in mind. Unlike a like on most platforms, a save is a forward-looking signal.

That gives you a few distinct goldmines:

  • Outbound links. Most product and content pins carry a destination link. For affiliate and e-commerce research, that means you can map which products and which retailers are winning attention in a niche.
  • Save counts (repins). The repin count is the closest thing Pinterest has to a public popularity score. Sort by it and you instantly see the top-performing creative in any category.
  • Full-resolution media. Every pin exposes its original-size image, and video pins expose a direct video URL — clean inputs for building labelled image/text datasets.
  • Creative angles. Pin titles and descriptions are written to win saves, so they double as a swipe file of headlines and copy that actually convert on a visual platform.

The hard part has never been the value of the data — it’s getting it out cleanly and at volume.

The no-login, no-API-key posture

The most important engineering decision here is what you don’t do. The Pinterest Scraper reads only public Pinterest data through the same resource endpoint the website itself calls to render pins. That means:

  • No login. You never supply credentials or cookies, so there is no Pinterest account that can be restricted or banned. Ban risk is zero because no account is ever in the loop.
  • No developer API key. You skip the official API entirely — no app review, no quota approval, no per-endpoint rate caps.
  • No headless browser. Because the data comes back as structured JSON rather than rendered HTML, there’s no Chromium to spin up. That keeps each run fast and cheap compared to a Playwright-based scrape.

The one thing the actor does need is a US residential proxy, which is pre-configured for you. Pinterest serves its data endpoint reliably to US residential traffic, so the default proxy setting is the right one — just leave it alone.

The four input modes

The scraper has exactly four entry points. You can mix and match them in a single run, and each one paginates independently to pull hundreds to thousands of pins.

Pass one or more terms in searchTerms and the actor walks the Pinterest search feed for each, paginating through results. This is the discovery mode — use it when you don’t already know which pins, boards, or creators you care about and you want to see what’s winning for a topic.

{
  "searchTerms": ["home decor", "minimalist kitchen", "meal prep recipes"],
  "maxItemsPerInput": 300,
  "maxResults": 1000
}

Every pin that comes back from a search is tagged with a fromSearch field recording which keyword surfaced it, so you can keep results from multiple terms straight in one dataset.

2. Board pins

Pass board URLs in boardUrls and the actor pulls every pin from each board, plus the board’s own metadata. This is the right mode when you already have a curated collection you want to mine — a competitor’s board, a trend board, or your own.

{
  "boardUrls": ["https://www.pinterest.com/homestyle/living-rooms/"],
  "maxItemsPerInput": 500
}

Board inputs also emit a separate recordType: "board" record carrying the board’s own metadata (pin count, follower count, and so on) alongside the individual pin records.

3. Profile (creator) scrape

Pass usernames or profile URLs in usernames and you get the creator’s profile, their created pins, and all of their boards. This is the deepest single-input mode — point it at one creator and you walk away with their entire public footprint.

{
  "usernames": ["homestyle", "https://www.pinterest.com/anothercreator/"],
  "maxItemsPerInput": 400
}

Like boards, profile inputs emit a recordType: "profile" record with the creator’s own metadata in addition to their pins.

4. Single pin detail

Pass individual pin URLs in pinUrls (or numeric IDs in pinIds as an alternative) to fetch one pin at full detail. This mode returns the most accurate save count — if precise repin numbers matter for your analysis, hydrate your shortlist of pins through this mode rather than relying on the counts that come back from a feed.

{
  "pinUrls": ["https://www.pinterest.com/pin/1234567890/"]
}

You must provide at least one of searchTerms, boardUrls, usernames, pinUrls, or pinIds. Everything else has sensible defaults.

Run the Pinterest Scraper — search pins by keyword, board, profile or pin URL and pull images, videos, links and save counts. $5 per 1,000 pins, no login.

Pagination and controlling volume

Each input is walked with cursor-based pagination across whichever feed it maps to — search results, a board’s pins, or a creator’s pins. You control depth with two knobs:

  • maxItemsPerInput (default 200) caps how many pins are collected per search term, board, or user. Raise it to go deeper into each feed; lower it to take a wide, shallow sample across many inputs.
  • maxResults is a global cap across the entire run. Set it to 0 for unlimited, or use it as a hard budget ceiling when you’ve queued many inputs and don’t want a single broad keyword to dominate the dataset.

Pins are de-duplicated and tagged with their source, so you can throw a long list of keywords, boards, and creators into one run without worrying about the same pin landing in your dataset twice.

The output schema

Each pin is saved as one structured record. Here’s a representative output for a single pin:

{
  "id": "1234567890",
  "title": "Cozy minimalist living room",
  "description": "Warm neutral palette with natural wood accents.",
  "link": "https://example.com/living-room-ideas",
  "pinUrl": "https://www.pinterest.com/pin/1234567890/",
  "imageUrl": "https://i.pinimg.com/originals/ab/cd/ef/abcdef.jpg",
  "isVideo": false,
  "videoUrl": null,
  "dominantColor": "#c8b6a6",
  "repinCount": 4821,
  "commentCount": 12,
  "reactionCount": 530,
  "pinner": { "username": "homestyle", "fullName": "Home Style", "id": "9988" },
  "board": { "name": "Living Rooms", "url": "https://www.pinterest.com/homestyle/living-rooms/", "id": "77" },
  "fromSearch": "home decor",
  "scrapedAt": "2026-06-04T10:00:00.000Z"
}

Field reference

  • title / description — the pin’s title and description text, written to earn saves.
  • link — the pin’s outbound destination link, the field that matters most for affiliate, SEO, and e-commerce research.
  • imageUrl — the full-resolution (orig) image URL.
  • isVideo / videoUrl — a video flag and the direct video URL for video pins (null for image pins).
  • repinCount / commentCount / reactionCount — the save count plus engagement signals.
  • dominantColor — the dominant colour of the image as a hex value, handy for palette and trend analysis.
  • pinner — the creator object: username, fullName, and id.
  • board — the board the pin belongs to: name, url, and id.
  • pinUrl — a direct link back to the pin on Pinterest.
  • fromSearch — the keyword that surfaced this pin (present only for search-mode results).
  • scrapedAt — the capture timestamp, important because save counts drift over time.
  • recordTypeboard or profile for those record types; individual pins don’t carry one.

Board and profile inputs additionally emit recordType: "board" and recordType: "profile" records carrying their own metadata — pin count, follower count, and the like — so a profile scrape returns the creator, their pins, and their boards in one dataset.

Downstream use cases

What teams actually build on top of this data:

  • Marketers and content teams run keyword searches, sort by repinCount, and harvest the top-performing creative angles and headlines in their niche — a swipe file of copy that demonstrably wins saves.
  • E-commerce and affiliate operators collect product pins via search or competitor boards, then follow the link field to map which products and retailers are winning attention, and use repinCount to rank demand.
  • Trend and competitor researchers scrape a set of rival creators by username on a schedule and track what’s being saved most over time — the scrapedAt timestamp lets you measure momentum, not just a snapshot.
  • Data science and ML teams pull imageUrl plus title/description across thousands of pins to assemble labelled image/text datasets for vision and NLP model training.

The common thread is that a one-off snapshot is a curiosity, while a scheduled, source-tagged feed across many keywords or creators is a genuine intelligence asset. Because the actor de-duplicates and stamps each record with its source and capture time, it’s built for the recurring case.

Run the Pinterest Scraper — build an analysis-ready Pinterest dataset from keywords, boards or creators in a single run. $5 per 1,000 pins, no login.

FAQ

Do I need a Pinterest login or API key?

No. The actor reads only public Pinterest data — you provide no cookies and no developer API key. Because no account is ever used, there is no login to expire and no account to get restricted or banned.

How many pins can I get in one run?

Hundreds to thousands. Each input paginates independently, and you control depth with maxItemsPerInput (per search/board/user) and the global maxResults cap. Queue many keywords, boards, or creators in a single run to assemble a large dataset at once.

Can I get full-resolution images and video URLs?

Yes. Every pin includes the original-size image URL in imageUrl, and video pins additionally return a direct video URL in videoUrl with isVideo set to true.

How accurate are the save (repin) counts?

Save counts are captured for every pin. For the most accurate figure, use single-pin detail mode — pass the pin via pinUrls or pinIds — which hydrates the pin at full detail and returns the most precise repinCount.

Can I scrape several keywords, boards, or creators at once?

Yes. Pass many inputs of each type in a single run. Results are de-duplicated and tagged with their source — search pins carry a fromSearch value — so you can keep a multi-source dataset organised without extra work.

Why does it use a US residential proxy?

Pinterest serves its underlying data endpoint reliably to US residential traffic. The proxy is pre-configured and required, so the correct move is simply to leave the default proxyConfiguration in place.

Related guides