# Pinterest Pin Details Scraper (`ecomscrape/pinterest-pin-details-scraper`) Actor

Extract comprehensive Pinterest pin data including images in multiple resolutions, SEO fields, engagement metrics, video content, shopping flags, ad data, and over 90 structured fields — ideal for social media research, e-commerce analytics, and content strategy.

- **URL**: https://apify.com/ecomscrape/pinterest-pin-details-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Social media, E-commerce, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## Pinterest Pin Details Scraper: Extract Complete Pin Metadata & Analytics

### Introduction

Pinterest is one of the world's leading visual discovery platforms, with hundreds of billions of pins spanning fashion, home decor, food, travel, DIY, and e-commerce. Each pin is far more than an image — it carries a rich layer of metadata including SEO attributes, engagement signals, shopping information, ad targeting data, multi-resolution image assets, and creator attribution.

For marketers, data analysts, e-commerce professionals, and researchers, this metadata holds significant analytical value. However, extracting it manually across hundreds or thousands of pins is impractical. The **Pinterest Pin Details Scraper** automates structured data extraction from any list of Pinterest pin URLs, enabling large-scale analysis that would otherwise be impossible.

---

### Scraper Overview

The Pinterest Pin Details Scraper is a specialized tool for retrieving comprehensive metadata from individual Pinterest pins. It goes well beyond surface-level data, capturing everything from multi-resolution image URLs and SEO fields to ad campaign parameters, shopping eligibility flags, reaction counts, and video content details.

Key capabilities:

- **90+ data fields** per pin across content, media, SEO, commerce, and advertising dimensions
- **Multi-resolution image extraction** — 7 image size variants plus original
- **Ad & promotion data** — campaign IDs, advertiser IDs, ad targeting attribution
- **E-commerce signals** — shopping flags, product availability, price currency
- **Error-resilient processing** — skips failed URLs without halting batch jobs

Best suited for **social media analysts** tracking pin performance, **e-commerce teams** monitoring competitor product pins, **SEO specialists** auditing Pinterest content, **content strategists** analyzing visual trends, and **data scientists** building Pinterest datasets.

---

### Input Configuration

Example url 1: https://www.pinterest.com/pin/989243874418277815/

Example url 2: https://www.pinterest.com/pin/145804106683758606/

Example url 3: https://www.pinterest.com/pin/145804106683758599/
    
Example Screenshot of product information page:
    
![](https://i.ibb.co/VXHVSLD/Screenshot-from-2026-03-31-22-41-29.png)

#### Input Format
```json
{
  "urls": [
    "https://www.pinterest.com/pin/989243874418277815/"
  ],
  "ignore_url_failures": true
}
````

**`urls`** — Array of Pinterest pin URLs to scrape. Add URLs one by one or use Bulk edit to paste a prepared list. Each URL should point to a specific pin (`pinterest.com/pin/PIN_ID/`).

**`ignore_url_failures`** — When `true`, the scraper continues processing remaining URLs if individual pins fail to load, are deleted, or are otherwise inaccessible. Strongly recommended for batch jobs.

#### Output Format

Each pin returns a structured record with fields grouped across several categories:

##### Core Content Fields

| Field | Description |
|---|---|
| **ID** / **Entity ID** | Pinterest's unique pin identifier. Used for cross-referencing and deduplication. |
| **Title** / **Grid Title** | Pin title as shown in grid and detail views. Key for keyword and content analysis. |
| **Description** | Full pin description text. Core field for NLP, topic modeling, and SEO research. |
| **Description HTML** | Description with HTML markup preserved. Useful when links and formatting matter. |
| **Description Links** | Extracted hyperlinks from the description. Useful for outbound link analysis. |
| **Category** | Pinterest-assigned content category. Enables topic segmentation across datasets. |
| **Domain** / **Link Domain** | Source domain the pin links to. Core for traffic source and competitor analysis. |
| **Created At** | Pin creation timestamp. Essential for temporal trend analysis. |

##### Image & Media Fields

| Field | Description |
|---|---|
| **Images 236x, 474x, 564x, 736x, 170x, 136x136, 60x60, 600x315, Orig** | Image URLs across 9 size variants. Use the appropriate resolution for your application — thumbnails, previews, or full-resolution assets. |
| **Image Signature** | Unique hash for the image file. Useful for deduplication and change detection. |
| **Image Spec 236x** | Technical image specification metadata for the 236px variant. |
| **Dominant Color** | Primary hex color extracted from the image. Valuable for visual style analysis and design trend research. |
| **Videos** | Video content metadata if the pin contains a video. |
| **Is Video** | Boolean flag indicating whether the pin is video content. |

##### SEO Fields

| Field | Description |
|---|---|
| **SEO Title** | SEO-optimized title used in search indexing. |
| **SEO Description** | Meta description used for search engine presentation. |
| **SEO Alt Text** | Image alt text for accessibility and SEO. |
| **SEO URL** | Canonical URL for the pin as indexed. |
| **SEO Noindex Reason** | If present, explains why the pin is excluded from search indexing. |

##### Engagement & Social Fields

| Field | Description |
|---|---|
| **Repin Count** | Total number of repins. Primary virality metric for pins. |
| **Share Count** | Number of times the pin has been shared externally. |
| **Total Reaction Count** | Aggregate reactions across all types. |
| **Reaction Counts Data** | Breakdown of reactions by type. |
| **Favorite User Count** | Number of users who have favorited the pin. |
| **Aggregated Pin Data** | Consolidated engagement statistics. |
| **Is Eligible For Aggregated Comments** | Whether comments are aggregated for this pin. |

##### Commerce & Shopping Fields

| Field | Description |
|---|---|
| **Shopping Flags** | Array of shopping-related classifications (e.g., buyable, shoppable). |
| **Is Eligible For PDP** | Whether the pin qualifies for a Product Detail Page experience. |
| **Is OOS Product** | Indicates if the associated product is out of stock. |
| **Is Stale Product** | Flags products with outdated pricing or availability data. |
| **Price Currency** | Currency code for any associated product price. |
| **Ships To User Country** | Whether the product ships to the viewer's country. |
| **Is Downstream Promotion** | Indicates promotional content originating downstream. |

##### Advertising & Campaign Fields

| Field | Description |
|---|---|
| **Is Promoted** | Whether this pin is a promoted (paid) pin. |
| **Advertiser ID** | ID of the advertising account behind a promoted pin. |
| **Campaign ID** | Associated ad campaign identifier. |
| **Pin Promotion ID** | Specific promotion unit identifier. |
| **Ad Data** | Raw ad metadata block. |
| **Ad Targeting Attribution** | Attribution data for ad targeting. |
| **Ad Targeting Attribution Reasons** | Reasons the pin was served to a given audience. |
| **Promoted Partnership Advertiser Name** | Advertiser name for partnership promotions. |
| **Is Third Party Ad** | Whether the ad was served by a third-party network. |

##### Link & Tracking Fields

| Field | Description |
|---|---|
| **Link** | Destination URL the pin links to. |
| **Mobile Link** | Mobile-optimized version of the destination link. |
| **Tracked Link** | Link with Pinterest tracking parameters applied. |
| **UTM Link** | Link with UTM campaign parameters. |
| **Tracking Params** | Full set of tracking parameters attached to the pin. |
| **Link UTM Applicable And Replaced** | Indicates UTM parameters have been applied to the link. |

##### Creator & Attribution Fields

| Field | Description |
|---|---|
| **Pinner** | User who pinned the content. |
| **Origin Pinner** | Original creator of the pin if repinned. |
| **Board** | Board the pin belongs to. |
| **Native Creator** | Platform-native creator data. |
| **Attribution** / **Media Attribution** | Source attribution for the pin image or content. |
| **Closeup Attribution** / **Closeup Unified Attribution** | Attribution shown in the pin detail (closeup) view. |

##### Content Classification Flags

| Field | Description |
|---|---|
| **Is Repin** | Whether this pin was repinned from another. |
| **Is Hidden** / **Is Private** equivalent | Pin visibility status. |
| **Is Unsafe** / **Is Unsafe For Comments** / **Is Unsafe For Ad** | Safety classification flags for content moderation purposes. |
| **Comments Disabled** | Whether commenting has been disabled on this pin. |
| **Is Go Linkless** | Indicates the pin has no outbound link. |
| **Is Eligible For Promoted Partnership** | Whether the pin qualifies for partnership promotions. |

#### Example Output (Partial)

```json
{
  "entity_id": "989243874418277815",
  "seo_alt_text": "Casual Relaxed Fit Top With Dinosaur Print, Summer Dinosaur Print Relaxed Fit Tops, Relaxed Fit Dinosaur Print Crew Neck Tops, Dinosaur Shirts Women, Dinosaur Shirt Women, Dinosaur Print Graphic Tee With Short Sleeves, Amazon Tshirt, Womens Dinosaur Shirt, Dinosaur Tshirt For Women",
  "dominant_color": "#78869d",
  "origin_pinner": null,
  "embed": null,
  "is_go_linkless": false,
  "digital_media_source_type": null,
  "link": null,
  "mobile_link": null,
  "tracked_link": null,
  "utm_link": null,
  "tracking_params": "CwABAAAAEDEzMTI1Mjk5NzY2MTcwMzULAAcAAAAPdW5rbm93bi91bmtub3duAA",
  "is_viewed_by_owner_or_employee_or_partner_of_business": null,
  "images_236x": {
    "height": 275,
    "width": 236,
    "url": "https://i.pinimg.com/236x/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "images_136x136": {
    "height": 136,
    "width": 136,
    "url": "https://i.pinimg.com/136x136/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "images_60x60": {
    "url": "https://i.pinimg.com/60x60/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "images_170x": {
    "url": "https://i.pinimg.com/236x/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "images_474x": {
    "url": "https://i.pinimg.com/474x/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg",
    "height": 552,
    "width": 474
  },
  "images_564x": {
    "url": "https://i.pinimg.com/564x/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg",
    "height": 657,
    "width": 564
  },
  "images_736x": {
    "url": "https://i.pinimg.com/736x/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg",
    "height": 857,
    "width": 736
  },
  "images_600x315": {
    "url": "https://i.pinimg.com/600x315/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "images_orig": {
    "url": "https://i.pinimg.com/originals/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "image_signature": "59f43e7d0c395795e885ea5ed1fa618f",
  "link_utm_applicable_and_replaced": 0,
  "is_downstream_promotion": false,
  "category": "",
  "domain": "Uploaded by user",
  "is_promoted": false,
  "link_domain": null,
  "promoter": null,
  "is_eligible_for_pdp": false,
  "is_oos_product": false,
  "is_stale_product": false,
  "shopping_flags": [],
  "pinner": {
    "blocked_by_me": false,
    "id": "VXNlcjo5ODkyNDQwMTE4MDgxNjUxMTU=",
    "entity_id": "989244011808165115",
    "__typename": "User",
    "full_name": "Defined Arch & Beyond Studio",
    "image_small_url": "https://i.pinimg.com/30x30_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "image_large_url": "https://i.pinimg.com/140x140_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "username": "daab_studio",
    "image_medium_url": "https://i.pinimg.com/75x75_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "explicitly_followed_by_me": false,
    "first_name": "Defined Arch & Beyond Studio",
    "is_verified_merchant": false,
    "verified_identity": {
      "verified": null
    },
    "follower_count": 25
  },
  "promoted_is_removable": false,
  "description": " ",
  "image_spec_236x": {
    "url": "https://i.pinimg.com/236x/59/f4/3e/59f43e7d0c395795e885ea5ed1fa618f.jpg"
  },
  "grid_title": "💖",
  "title": "💖",
  "videos": null,
  "closeup_unified_description": " ",
  "aggregated_pin_data": {
    "entity_id": "3313379718784079424",
    "id": "QWdncmVnYXRlZFBpbkRhdGE6MzMxMzM3OTcxODc4NDA3OTQyNA==",
    "aggregated_stats": {
      "saves": 1
    },
    "comment_count": 0,
    "did_it_data": {
      "images_count": 0
    }
  },
  "is_eligible_for_aggregated_comments": true,
  "rich_metadata": null,
  "total_reaction_count": 0,
  "board": {
    "privacy": "public",
    "url": "/daab_studio/t-shirt-under-10/",
    "name": "T-Shirt Under $10",
    "id": "Qm9hcmQ6OTg5MjQzOTQzMDkwMzk0NzEx",
    "entity_id": "989243943090394711",
    "pin_count": 10,
    "section_count": 0,
    "board_order_modified_at": "Tue, 10 Mar 2026 21:41:05 +0000",
    "cover_image_spec_222x": {
      "url": "https://i.pinimg.com/222x/20/84/99/2084999822206e187cfc1fa83a329cc7.jpg"
    },
    "cover_image_spec_400x300": {
      "url": "https://i.pinimg.com/400x300/20/84/99/2084999822206e187cfc1fa83a329cc7.jpg"
    },
    "cover_image_spec_216x146": {
      "url": "https://i.pinimg.com/216x146/20/84/99/2084999822206e187cfc1fa83a329cc7.jpg"
    },
    "image_cover_hd_url": "https://i.pinimg.com/474x/20/84/99/2084999822206e187cfc1fa83a329cc7.jpg",
    "image_cover_url": "https://i.pinimg.com/200x150/20/84/99/2084999822206e187cfc1fa83a329cc7.jpg",
    "image_thumbnail_url": "https://i.pinimg.com/upload/989243943090394711_board_thumbnail_2026-03-10-21-35-37_95474_60.jpg",
    "collaborated_by_me": false,
    "is_collaborative": false,
    "owner": {
      "entity_id": "989244011808165115",
      "id": "VXNlcjo5ODkyNDQwMTE4MDgxNjUxMTU="
    }
  },
  "grid_attribution": null,
  "native_creator": {
    "entity_id": "989244011808165115",
    "full_name": "Defined Arch & Beyond Studio",
    "image_medium_url": "https://i.pinimg.com/75x75_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "image_small_url": "https://i.pinimg.com/30x30_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "username": "daab_studio",
    "is_verified_merchant": false,
    "verified_identity": {
      "verified": null
    },
    "id": "VXNlcjo5ODkyNDQwMTE4MDgxNjUxMTU=",
    "blocked_by_me": false,
    "explicitly_followed_by_me": false,
    "follower_count": 25,
    "image_large_url": "https://i.pinimg.com/140x140_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "profile_url": "https://www.pinterest.com/daab_studio/"
  },
  "sponsorship": null,
  "pin_join": {
    "visual_annotation": [
      "Casual Relaxed Fit Top With Dinosaur Print",
      "Summer Dinosaur Print Relaxed Fit Tops",
      "Relaxed Fit Dinosaur Print Crew Neck Tops",
      "Dinosaur Shirts Women",
      "Dinosaur Shirt Women",
      "Dinosaur Print Graphic Tee With Short Sleeves",
      "Amazon Tshirt",
      "Womens Dinosaur Shirt",
      "Dinosaur Tshirt For Women"
    ],
    "annotations_with_links_array": [
      {
        "name": "Casual Relaxed Fit Top With Dinosaur Print",
        "url": "/shopping/casual-relaxed-fit-top-with-dinosaur-print/946876745303/"
      },
      {
        "name": "Summer Dinosaur Print Relaxed Fit Tops",
        "url": "/shopping/summer-dinosaur-print-relaxed-fit-tops/898201967425/"
      },
      {
        "name": "Relaxed Fit Dinosaur Print Crew Neck Tops",
        "url": "/shopping/relaxed-fit-dinosaur-print-crew-neck-tops/920074429198/"
      },
      {
        "name": "Dinosaur Shirts Women",
        "url": "/ideas/dinosaur-shirts-women/917441713268/"
      },
      {
        "name": "Dinosaur Shirt Women",
        "url": "/ideas/dinosaur-shirt-women/949597850186/"
      },
      {
        "name": "Dinosaur Print Graphic Tee With Short Sleeves",
        "url": "/shopping/dinosaur-print-graphic-tee-with-short-sleeves/920438023956/"
      },
      {
        "name": "Amazon Tshirt",
        "url": "/ideas/amazon-tshirt/915125098929/"
      },
      {
        "name": "Womens Dinosaur Shirt",
        "url": "/ideas/womens-dinosaur-shirt/920588048115/"
      },
      {
        "name": "Dinosaur Tshirt For Women",
        "url": "/shopping/dinosaur-tshirt-for-women/935781243458/"
      }
    ],
    "seo_breadcrumbs": [
      {
        "__typename": "SeoBreadcrumbs",
        "name": "Women's Fashion",
        "url": "/ideas/womens-fashion/948967005229/"
      }
    ],
    "seo_canonical_domain": "www.pinterest.com",
    "seo_canonical_url": null
  },
  "share_count": 0,
  "reaction_counts_data": [],
  "unauth_on_page_description": "",
  "carousel_data": null,
  "unauth_on_grid_title": "💖",
  "gen_ai_topics": null,
  "is_unsafe_for_comments": false,
  "see_more_user_feedback": null,
  "recommendation_reason": null,
  "ad_data": null,
  "ad_match_reason": 0,
  "source_interest": null,
  "advertiser_id": null,
  "campaign_id": null,
  "pin_promotion_id": null,
  "ad_targeting_attribution": null,
  "ad_targeting_attribution_reasons": null,
  "promoted_partnership_advertiser_name": null,
  "promoted_partnership_attribution_name": null,
  "is_eligible_for_promoted_partnership": false,
  "is_third_party_ad": false,
  "comments_disabled": false,
  "done_by_me": false,
  "closeup_attribution": {
    "entity_id": "989244011808165115",
    "username": "daab_studio",
    "id": "VXNlcjo5ODkyNDQwMTE4MDgxNjUxMTU="
  },
  "collection_pin": null,
  "is_hidden": false,
  "is_unsafe": false,
  "visual_objects": [
    {
      "is_stela": null,
      "h": 0.9485270170244263,
      "w": 0.94,
      "x": 0.03,
      "y": 0.025736491487786825
    }
  ],
  "affiliate_disclosure": null,
  "affiliate_link": null,
  "ships_to_user_country": false,
  "closeup_unified_attribution": {
    "__typename": "User",
    "id": "VXNlcjo5ODkyNDQwMTE4MDgxNjUxMTU=",
    "entity_id": "989244011808165115",
    "image_medium_url": "https://i.pinimg.com/75x75_RS/02/eb/f5/02ebf512506e01f750fbace92da48d26.jpg",
    "follower_count": 25,
    "followed_by_me": false,
    "username": "daab_studio",
    "is_ads_only_profile": false,
    "ads_only_profile_site": null,
    "is_verified_merchant": false,
    "full_name": "Defined Arch & Beyond Studio",
    "verified_identity": {
      "verified": null
    }
  },
  "is_repin": false,
  "favorite_user_count": 0,
  "favorited_by_me": false,
  "created_at": "Tue, 10 Mar 2026 21:33:30 +0000",
  "attribution": null,
  "media_attribution": null,
  "pin_additional_note": null,
  "translations": null,
  "description_links": [],
  "user_mention_tags": null,
  "seo_noindex_reason": null,
  "unauth_on_page_title": "💖",
  "is_unsafe_for_ad": false,
  "is_video": false,
  "repin_count": 0,
  "seo_description": "Discover (and save!) your own Pins on Pinterest.",
  "seo_title": "Pinterest",
  "seo_url": "/pin/989243874418277815/",
  "description_html": " ",
  "price_currency": "USD",
  "id": "UGluOjk4OTI0Mzg3NDQxODI3NzgxNQ=="
}
```

***

### Usage Guide

#### Step 1: Collect Pin URLs

Navigate to target Pinterest pins and copy the URL from your browser. URLs follow the format `pinterest.com/pin/PIN_ID/`. Sources may include:

- Pinterest search results for a keyword or topic
- Competitor board pages
- Pinterest Trends top pins
- Specific board archives

#### Step 2: Build Your Input List

Paste URLs into the `urls` array. Use the Bulk edit option for large lists prepared in spreadsheets or scraped from Pinterest search pages.

#### Step 3: Configure & Run

Set `ignore_url_failures: true` for any batch run. Submit the configuration and export results as JSON or CSV when complete.

#### Best Practices

- **Filter by `is_promoted`** post-extraction to separate organic from paid pin data in your analysis.
- **Use `repin_count` + `share_count`** together as a composite virality signal.
- **`dominant_color`** is useful for visual trend research — cluster pins by color palette to identify aesthetic trends in a niche.
- **Always check `is_video`** before processing media fields, as video pins have different media structures than image pins.
- **`created_at`** enables time-series analysis — track how pin engagement metrics evolve over a pin's lifetime.
- For e-commerce analysis, combine **`shopping_flags`**, **`is_oos_product`**, and **`price_currency`** to assess product availability and shoppability at scale.

***

### Benefits and Applications

**Social Media & Content Strategy:** Analyze top-performing pins in your niche by comparing repin counts, share counts, and categories. Identify which image formats, dominant colors, and description styles correlate with higher engagement.

**SEO Research:** Extract SEO titles, descriptions, and alt text from high-ranking pins to understand how successful creators optimize their Pinterest presence for search visibility.

**E-Commerce & Competitor Analysis:** Monitor competitor product pins for shopping flags, product availability, and pricing signals. Track which products are being promoted and at what frequency.

**Advertising Intelligence:** Use ad fields (Advertiser ID, Campaign ID, Targeting Attribution) to study promoted pin strategies, identify active advertisers in your niche, and reverse-engineer ad targeting approaches.

**Visual Trend Research:** Leverage multi-resolution image URLs and dominant color data to build visual datasets for identifying aesthetic trends, seasonal color palettes, or emerging design styles.

**Dataset Creation:** Build labeled Pinterest datasets for machine learning applications requiring visual content with rich associated metadata.

***

### Conclusion

The Pinterest Pin Details Scraper provides unmatched depth of pin-level data extraction, covering every dimension from visual assets and SEO metadata to ad attribution and shopping eligibility. With over 90 structured fields per pin and support for bulk URL processing, it turns Pinterest's rich metadata layer into an immediately actionable data asset for research, strategy, and development.

Start extracting Pinterest pin data today and unlock insights that go far beyond what's visible on the surface.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Pinterest Pin Details Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Specific Pin Urls you want to scrape. You can paste Urls one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

Ignore URLs that fail to load

## Actor input object example

```json
{
  "urls": [
    "https://www.pinterest.com/pin/989243874418277815/"
  ],
  "ignore_url_failures": true
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.pinterest.com/pin/989243874418277815/"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/pinterest-pin-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.pinterest.com/pin/989243874418277815/"],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/pinterest-pin-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.pinterest.com/pin/989243874418277815/"
  ],
  "ignore_url_failures": true
}' |
apify call ecomscrape/pinterest-pin-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ecomscrape/pinterest-pin-details-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pinterest Pin Details Scraper",
        "description": "Extract comprehensive Pinterest pin data including images in multiple resolutions, SEO fields, engagement metrics, video content, shopping flags, ad data, and over 90 structured fields — ideal for social media research, e-commerce analytics, and content strategy.",
        "version": "0.0",
        "x-build-id": "kEiRS5woKhvm4NeFT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ecomscrape~pinterest-pin-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ecomscrape-pinterest-pin-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ecomscrape~pinterest-pin-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ecomscrape-pinterest-pin-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ecomscrape~pinterest-pin-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ecomscrape-pinterest-pin-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs list of the Specific Pin to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Specific Pin Urls you want to scrape. You can paste Urls one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Ignore URLs that fail to load",
                        "type": "boolean",
                        "description": "Ignore URLs that fail to load"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
