Pinterest Search Scraper

Search Pinterest by keyword and export pin images, video URLs, creators, boards, outbound links, positions, and public metadata.

Data fields

FieldTypeDescription
querystringValue exported as query.
positionintegerValue exported as position.
pinIdstringValue exported as pinId.
pinUrlstringValue exported as pinUrl.
titlestring | nullValue exported as title.
descriptionstring | nullValue exported as description.
imageUrlstring | nullValue exported as imageUrl.
thumbnailUrlstring | nullValue exported as thumbnailUrl.

Input preview

queriesPinterest search keywords
searchQueriesSearch keywords (API alias)
maxResultsPerQueryMaximum pins per keyword
maxResultsMaximum pins per keyword (API alias)
includePinDetailsTry to enrich pin details
localeLocale

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Scrape public Pinterest search results by keyword and export clean pin metadata.

Use this Actor when you need repeatable Pinterest pin data for trend research, creative analysis, ecommerce inspiration, content planning, visual SEO research, or brand monitoring. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.

Automate Pinterest opportunity briefs in n8n: Use the ready-made Generate weekly Pinterest content opportunity briefs with Apify, OpenAI, and Google Sheets workflow to run this Actor, summarize search trends, and send weekly content ideas to a spreadsheet.

At a glance

  • Keyword search: collect public Pinterest pins for one or many search terms.
  • Pin metadata: save pin URLs, images, thumbnails, titles, descriptions, positions, creators, boards, colors, and outbound domains when visible.
  • Optional detail enrichment: open pin pages to collect extra public metadata when Pinterest exposes it anonymously.
  • Locale controls: set browser locale and country labels for research organization.
  • Visual research workflow: export pins to spreadsheets, dashboards, creative research boards, or AI agents.

What can it do?

Pinterest Search Scraper turns public Pinterest keyword searches into structured pin rows.

  • Export Pinterest search results by keyword with position, pin URL, image URL, title, and description.
  • Collect visual and creator context such as thumbnails, dominant colors, creator names, board names, and outbound domains when visible.
  • Research ecommerce and content trends by comparing pins across keywords.
  • Build brand or topic monitors by scheduling recurring keyword searches.
  • Use it as a Pinterest search API workflow for CSV, JSON, Excel, or direct Dataset API exports.

Common workflows

  • Creative research: collect pin images, titles, and source domains around a visual theme.
  • Ecommerce inspiration: monitor product, decor, fashion, and lifestyle search terms.
  • Content planning: discover popular visual topics and language for social content.
  • SEO and trend research: compare Pinterest keyword results over time.
  • Brand monitoring: track public pins and domains around branded terms.
  • AI image analysis: feed image URLs and metadata into classification or clustering workflows.

What data can you collect?

Each dataset row represents one public Pinterest pin search result.

Field Description
query Keyword used for the Pinterest search
position Result position within the keyword
pinId Pinterest pin identifier
pinUrl Public Pinterest pin URL
title Public title or image alt text
description Public description when available
imageUrl Larger image URL when available
thumbnailUrl Thumbnail image URL
dominantColor Background color exposed in the public card
creatorName Creator name when public and available
creatorUsername Creator username when public and available
creatorUrl Creator URL when public and available
boardName Board name when public and available
boardUrl Board URL when public and available
domain Linked domain when public and available
outboundUrl External URL when public and available
repinCount Repin count when public and available
saveCount Save count when public and available
isVideo Whether Pinterest exposed the pin as video content
videoUrl Public video URL when Pinterest exposes one
fetchedAt Timestamp when the row was saved

Example input

{
  "queries": ["home decor", "summer outfits"],
  "maxResultsPerQuery": 25,
  "includePinDetails": false,
  "locale": "en-US",
  "country": "US",
  "proxyConfiguration": { "useApifyProxy": false }
}

Example output

{
  "query": "home decor",
  "position": 1,
  "pinId": "123456789012345678",
  "pinUrl": "https://www.pinterest.com/pin/123456789012345678/",
  "title": "Cozy living room decor ideas",
  "description": null,
  "imageUrl": "https://i.pinimg.com/736x/example.jpg",
  "thumbnailUrl": "https://i.pinimg.com/236x/example.jpg",
  "dominantColor": "rgb(195, 184, 170)",
  "creatorName": null,
  "boardName": null,
  "domain": null,
  "outboundUrl": null,
  "fetchedAt": "2026-07-03T12:00:00.000Z"
}

Tips for best results

  • Use buyer or creative phrases: specific visual keywords produce more actionable pin datasets.
  • Keep detail enrichment optional: includePinDetails=true is slower and may be blocked by login walls.
  • Use multiple related queries: compare positions and domains across nearby terms.
  • Treat public counts as optional: Pinterest often hides save/repin counts from anonymous views.
  • Schedule stable keywords: recurring runs help track changing visual trends.

Limits and caveats

  • The Actor extracts publicly visible Pinterest search data only.
  • It does not access private boards, logged-in feeds, saved pins, messages, or account analytics.
  • Some creator, board, outbound URL, and count fields may be null when Pinterest hides them.
  • Pinterest layouts and anonymous access can vary by region, query, and time.
  • Search results are saved after each bounded keyword batch. A late blocked query cannot discard rows already produced by earlier queries.
  • The default 540-second work budget leaves time for RUN_CHECKPOINT and RUN_SUMMARY before the 600-second platform timeout. Increase both limits together only for deliberately larger tasks.
  • If the work budget ends after rows exist, the Actor succeeds with warnings and reports pending queries and skipped detail pages. If no row was saved, it fails loudly.

API usage

Node.js:

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/pinterest-search-scraper').call({
  queries: ['home decor'],
  maxResultsPerQuery: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/pinterest-search-scraper").call(
    run_input={"queries": ["home decor"], "maxResultsPerQuery": 25}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL:

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~pinterest-search-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"queries":["home decor"],"maxResultsPerQuery":25}'

MCP and AI agents

This Actor can be used through the official Apify MCP server at https://mcp.apify.com.

For a focused single-Actor tool setup, use:

https://mcp.apify.com?tools=fetch_cat/pinterest-search-scraper

Claude Code:

claude mcp add --transport http apify-pinterest 'https://mcp.apify.com?tools=fetch_cat/pinterest-search-scraper'

JSON MCP configuration:

{
  "mcpServers": {
    "apify-pinterest": {
      "type": "http",
      "url": "https://mcp.apify.com?tools=fetch_cat/pinterest-search-scraper"
    }
  }
}

Use the same JSON keys shown in the input configuration table, such as queries, maxResultsPerQuery, includePinDetails, runBudgetSeconds, locale, country, and proxyConfiguration.

Example prompts:

  • “Collect 25 public Pinterest pins for home decor.”
  • “Compare summer outfit and capsule wardrobe searches without detail enrichment.”
  • “Run these searches with detail enrichment and report any pending queries from the checkpoint.”

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses the inputs you provide and the public records needed to produce the documented dataset to produce the output dataset and sends requests to public Pinterest Search pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.

Common questions

Questions and answers reused from the canonical actor README.

Can this scrape Pinterest pins by keyword?

Yes. Add one or more search terms to queries.

Does it download images?

No. It exports public image and thumbnail URLs, not image files.

Can I export to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, HTML, or accessed through the API.