Pinterest Scraper — Search, Profiles, Boards & Videos
Pricing
$1.00 / 1,000 result delivereds
Pinterest Scraper — Search, Profiles, Boards & Videos
Search Pinterest by keyword or paste any pin, profile, board or search URL. Get pins, videos, boards and profiles with multi-size images, MP4/HLS video, and full creator and board data. $1 per 1,000 delivered results. No start fee, login, or cookies.
Pricing
$1.00 / 1,000 result delivereds
Rating
0.0
(0)
Developer
Meka.im
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Search Pinterest by keyword, or paste any pin, profile, board or search-results URL, and get back clean JSON: pins, videos, boards and profiles, each with multi-size images, video HLS and MP4 links with duration and thumbnail, and the full creator and board objects — follower count, board pin count, section count, collaborator count, board owner, merchant and identity verification flags.
$1.00 per 1,000 delivered results. No start fee. Comparable Actors on this Store were priced at $2–$4 per 1,000 when we surveyed them on 2026-09-20. You are billed only for rows that were parsed and written to the dataset: no charge for invalid inputs, duplicates, failed lookups or rows a resumed run had already delivered.
No login, no cookies, no browser, no proxy configuration.
What this Actor does not provide: save counts, repin counts and impression numbers (Pinterest does not publish them on the anonymous surfaces this Actor reads), creator contact details, sentiment or AI topic analysis, and full carousel support. It also cannot promise that off-topic results are filtered — Pinterest answers a nonsense keyword with unrelated pins rather than an empty result, so relevance is yours to judge. See Limits.
Quick start
- Open the Actor, type a keyword into Search keywords, and click Start.
- Leave Search result type at
All pins(or pickVideos,Boards,Profiles). - Watch rows stream into the dataset, then export JSON, CSV, Excel or XML — or pull them over the API.
A first run that costs ten cents:
{"queries": ["minimalist kitchen", "summer outfit ideas"],"type": "all-pins","limit": 100,"includeDetails": true}
Input
| Input | What it does |
|---|---|
queries | Keywords to search. Each is paginated until the run hits limit. |
startUrls | Pinterest URLs — a pin, a profile, a profile's Created or Saved tab, a board, or a search page. Routed automatically. |
type | all-pins, videos, boards or profiles. Controls what keyword searches return. |
limit | Hard cap on delivered rows for the whole run — this is what you pay for. Default 100. |
includeDetails | On by default. One extra lookup per pin for video files, merchant attribution and product metadata. |
bookmark | Optional. Paste lastBookmark from an earlier run's output to continue where it stopped. |
detailConcurrency | Parallel detail batches. Default 2. |
Targets are de-duplicated and processed in this order: queries → startUrls, each in the order you
wrote them. The dataset keeps that physical order, and a resumed run continues it rather than restarting.
Output
One dataset row per result. Pin records look like this:
{"type": "pin","entity_type": "pin","schema": { "version": 1, "entity_type": "pin" },"id": "633600241367267936","url": "https://www.pinterest.com/pin/633600241367267936/","title": "Modern Black & Walnut Kitchen","source_url": "https://www.pinterest.com/search/pins/?q=minimalist%20kitchen","seed_type": "query","seed_value": "minimalist kitchen","pin": {"title": "Modern Black & Walnut Kitchen","description": "Matte black cabinets paired with rich walnut wood textures.","alt_text": null,"created_at": "2025-09-14T19:07:35.000Z","link": "https://colorharmonynest.etsy.com/listing/4339033898","domain": "colorharmonynest.etsy.com","dominant_color": "#484134","is_promoted": false,"is_video": false,"reaction_counts": { "1": 301 },"story": null,"product_metadata_type": "richproductmetadata","rich_summary_type": "product"},"creator": {"id": "925630667071684941","username": "colorharmonynest","full_name": "Color Harmony Nest","follower_count": 170,"image_small_url": "https://i.pinimg.com/30x30_RS/ce/8c/e8/ce8ce8a7a93304ccba268be0de611abe.jpg","image_medium_url": "https://i.pinimg.com/75x75_RS/ce/8c/e8/ce8ce8a7a93304ccba268be0de611abe.jpg","image_large_url": "https://i.pinimg.com/140x140_RS/ce/8c/e8/ce8ce8a7a93304ccba268be0de611abe.jpg","url": "https://www.pinterest.com/colorharmonynest/","is_verified_merchant": false,"is_primary_website_verified": true,"verified_identity": null},"board_ref": {"id": "633600310016216050","name": "ARCHITECTURE & DESIGN Group Board","url": "https://www.pinterest.com/v_vladislava_a/architecture-design-group-board/","pin_count": 19840,"section_count": 49,"collaborator_count": 341,"is_collaborative": true,"image_cover_url": "https://i.pinimg.com/custom_covers/200x150/633600310016216050_1724514811.jpg","image_cover_hd_url": null,"owner": { "username": "v_vladislava_a", "follower_count": 12043 }},"media": {"images": {"thumb": { "url": "https://i.pinimg.com/170x/1f/33/0a/1f330a23.jpg", "width": 170, "height": 255 },"small": { "url": "https://i.pinimg.com/236x/1f/33/0a/1f330a23.jpg", "width": 236, "height": 354 },"medium": { "url": "https://i.pinimg.com/474x/1f/33/0a/1f330a23.jpg", "width": 474, "height": 711 },"large": { "url": "https://i.pinimg.com/736x/1f/33/0a/1f330a23.jpg", "width": 736, "height": 1104 },"original": { "url": "https://i.pinimg.com/originals/1f/33/0a/1f330a23.jpg", "width": 853, "height": 1280 },"images_by_size": { "170x": {}, "236x": {}, "474x": {}, "736x": {}, "orig": {} }},"video": null},"merchant_attribution": { "username": "etsy", "is_verified_merchant": true },"detail_fetched": true}
Video pins carry type: "video" and a populated media.video:
{"hls_url": "https://v1.pinimg.com/videos/iht/hls/42/f1/ab/42f1ab8d.m3u8","mp4_url": "https://v1.pinimg.com/videos/iht/expMp4/42/f1/ab/42f1ab8d_720w.mp4","duration_ms": 12579,"width": 1000,"height": 1500,"thumbnail": "https://i.pinimg.com/videos/thumbnails/originals/42/f1/ab/42f1ab8d.0000000.jpg","variants": [{ "format": "V_720P", "url": "…", "width": 1000, "height": 1500, "duration_ms": 12579 }]}
Board records carry a board object (with description and follower_count), profile records carry a
profile object (with about, pin_count, board_count, following_count, website_url).
Notes on the values:
- Unknown values are
null; a0in the data is a real zero. Missing image sizes arenullrather than empty objects, andimages_by_sizekeeps Pinterest's own size keys as they come. detail_fetchedtells apart "Pinterest publishes nothing here" from "this run did not look" — withincludeDetailsoff,merchant_attributionand the product fields arenullbecause they were not requested.lastBookmarkin the run summary is the pagination cursor where the run stopped. It survives across sessions and regions, so pasting it back intobookmarkresumes the same walk.
Pagination and resuming
Pinterest paginates with an opaque bookmark. This Actor follows it automatically, de-duplicates by record ID, and advances the cursor only after a page is fully committed. Abort a run and resurrect it and it continues from the dataset, without re-delivering or re-billing a single row.
Pricing
Pay-per-event, $0.001 per delivered result — $1.00 per 1,000. Platform usage is included; there is no monthly rental and no Actor-start fee.
| Event | Price | When it fires |
|---|---|---|
result-delivered | $0.001 | One pin, video, board or profile written to the dataset |
Not billed: invalid inputs, duplicate targets, pins that failed to parse, and rows a resumed run had already delivered. Set Max results for the run, or a maximum total charge on the run, for a hard ceiling — the run stops before publishing a row it cannot bill.
Limits
- Not published on the anonymous surfaces this Actor reads: save counts, repin counts, impression or click numbers. This Actor does not estimate them.
- Not provided: creator email or contact details; sentiment scoring; AI topic classification.
- Carousel pins are not claimed as supported — the source exposes carousel data on too few pins for us to stand behind it.
- Off-topic results are not filtered out. Pinterest answers an unmatched keyword with unrelated
pins instead of an empty result, so a nonsense keyword still returns rows and still costs money. Check
seed_valueand the pin text if you need to judge relevance downstream. - Search results rotate per session, so two runs of the same keyword overlap only partially. That is the source's behaviour, not a gap — within one run, results are de-duplicated by ID.
- Board pagination needs the board's internal ID, which this Actor resolves for you from the board URL.
API and automation
Start runs and pull results over the Apify API, the JavaScript client or the Python client. Put it on a schedule to watch a niche week over week, and use webhooks to trigger downstream work. The output is plain JSON, so it also plugs into agents through the Apify MCP server.
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('pinterest-scraper').call({queries: ['minimalist kitchen'],type: 'all-pins',limit: 250,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'results');
Python:
from apify_client import ApifyClientclient = ApifyClient("MY_APIFY_TOKEN")run = client.actor("pinterest-scraper").call(run_input={"startUrls": ["https://www.pinterest.com/nike/nike-running/"],"limit": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["id"], item["type"], item["title"])
FAQ
Do I need a Pinterest account, cookies or a proxy? No. The Actor reads Pinterest's public web endpoints over anonymous HTTP from data-centre IPs.
Why do two runs of the same keyword return different pins? Pinterest rotates its search feed per session. Within a single run nothing is duplicated; across runs, expect partial overlap.
How do I page through a lot of results? Raise limit. The Actor follows Pinterest's bookmark for
you. To continue later, copy lastBookmark from the run summary into the bookmark input.
What happens if I abort a run and start it again on the same dataset? It resumes. Rows already in the dataset are skipped, physical order is preserved, and nothing is billed twice.
Can I get how many times a pin was saved? Not from this source. reaction_counts is what Pinterest
publishes; save and repin counts are not on these surfaces, and this Actor will not guess them.
Does includeDetails cost extra? No. Pricing is one flat event per delivered row regardless.
Turning it off only makes the run faster and shallower.
Legal
This Actor is an independent tool. It is not affiliated with, endorsed by, sponsored by or certified by Pinterest, Inc., and it is not an official Pinterest product. "Pinterest" and related marks belong to their respective owners and are used here only descriptively, to identify the publicly accessible source this Actor reads. The Actor collects only information Pinterest publishes publicly. You are responsible for ensuring your use of that information complies with applicable laws, regulations and the source website's terms.