Pinterest Scraper — Search, Profiles, Boards & Videos avatar

Pinterest Scraper — Search, Profiles, Boards & Videos

Pricing

$1.00 / 1,000 result delivereds

Go to Apify Store
Pinterest Scraper — Search, Profiles, Boards & Videos

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

Meka.im

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

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

  1. Open the Actor, type a keyword into Search keywords, and click Start.
  2. Leave Search result type at All pins (or pick Videos, Boards, Profiles).
  3. 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

InputWhat it does
queriesKeywords to search. Each is paginated until the run hits limit.
startUrlsPinterest URLs — a pin, a profile, a profile's Created or Saved tab, a board, or a search page. Routed automatically.
typeall-pins, videos, boards or profiles. Controls what keyword searches return.
limitHard cap on delivered rows for the whole run — this is what you pay for. Default 100.
includeDetailsOn by default. One extra lookup per pin for video files, merchant attribution and product metadata.
bookmarkOptional. Paste lastBookmark from an earlier run's output to continue where it stopped.
detailConcurrencyParallel detail batches. Default 2.

Targets are de-duplicated and processed in this order: queriesstartUrls, 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; a 0 in the data is a real zero. Missing image sizes are null rather than empty objects, and images_by_size keeps Pinterest's own size keys as they come.
  • detail_fetched tells apart "Pinterest publishes nothing here" from "this run did not look" — with includeDetails off, merchant_attribution and the product fields are null because they were not requested.
  • lastBookmark in the run summary is the pagination cursor where the run stopped. It survives across sessions and regions, so pasting it back into bookmark resumes 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.

EventPriceWhen it fires
result-delivered$0.001One 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_value and 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 ApifyClient
client = 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.

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.