# Pinterest Image Scraper & Downloader (`codenest/pinterest-image-scraper-downloader`) Actor

Easily extract high-quality Pinterest images with 8+ resolutions! Get complete metadata, user profiles, original creator,  pinner and board info, engagement stats, and direct CDN links in structured JSON. Perfect for designers & marketers!❤️Pinterest Image Scraper & Downloader.

- **URL**: https://apify.com/codenest/pinterest-image-scraper-downloader.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Developer tools, Social media, Automation
- **Stats:** 9 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

## Pinterest Image Scraper & Downloader 🎯 - Bulk Image Extraction Tool

**Efficiently download high-quality Pinterest images with our professional Pinterest Image Scraper & Downloader! This Apify actor enables batch extraction of Pinterest pins while preserving multiple resolutions, comprehensive metadata, and original image quality.**

---

### 📋 Overview
Need to collect visual inspiration or build image datasets? Our **Pinterest Image Scraper & Downloader** delivers:
- **Multiple resolutions**: Get images in 8+ different sizes
- **Complete metadata**: Creator info, engagement stats, timestamps
- **Batch processing**: Scrape dozens of pins simultaneously
- **Direct CDN access**: Download from Pinterest's image servers

Perfect for designers 🎨, marketers 📈, researchers 🔬, and content creators 📱!

### ⚡ Core Capabilities

#### 🖼️ Image Options
- **Original Quality**: Highest resolution available
- **Multiple Sizes**: 8 different dimension options per image
- **Thumbnails**: Various thumbnail sizes for previews
- **Bulk Mode**: Process multiple Pinterest URLs per run

#### 📊 Metadata Mastery
- **User Profiles**: Uploader, original creator, and current pinner data
- **Engagement Analytics**: Like counts, repins, comments, saves
- **Timestamps**: Precise creation dates
- **Board Information**: Pin organization and privacy settings
- **SEO Data**: Titles and descriptions for content analysis

#### 🛠️ Advanced Features
- **Error Handling**: Success/failure status for each URL
- **URL Validation**: Automatic format detection and normalization
- **Structured Output**: Well-organized JSON data
- **Size Variations**: From 60x60 thumbnails to full originals

---

### 🎯 Input Configuration
Simply enter Pinterest pin URLs in the Input Section then click "Start". The **Pinterest Image Scraper & Downloader** accepts both short (pin.it) and full Pinterest URLs:

```json
{
  "media_urls": [
    {
      "url": "https://www.pinterest.com/pin/99079260547630498/"
    }
  ]
}
````

#### 📝 Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `media_urls` | Array | Yes | Pinterest pin URLs to process |
| `url` | String | Yes | Valid Pinterest URL (pin.it or pinterest.com/pin/ format) |

***

### 📊 Output Structure

The **Pinterest Image Scraper & Downloader** provides comprehensive output:

```json
[
  {
    "success": true,
    "url": "https://pin.it/6XXeT5pA6",
    "error": null,
    "data": {
      "id": "432838214205733278",
      "type": "image",
      "description": "Apr 23, 2025 - This Pin was discovered by Manish Gond...",
      "seo_title": "Pin by Manish Gond on Manish Gond in 2025...",
      "created_at": "Sat, 10 May 2025 04:07:03 +0000",
      "domain": "Uploaded by user",
      "webpage_url": "https://www.pinterest.com/pin/432838214205733278/",
      "stats": {
        "repin_count": 1,
        "comment_count": 0,
        "share_count": 2,
        "reaction_counts": { "1": 2 },
        "like_count": 2,
        "total_saves": 3
      },
      "uploader": { ... },
      "original_creator": { ... },
      "current_pinner": { ... },
      "board": {
        "id": "432838282876409118",
        "name": "P A K I S T A N",
        "url": "/maira7/p-a-k-i-s-t-a-n/",
        "privacy": "public"
      },
      "downloads": {
        "image": [
          {
            "size": "orig",
            "url": "https://i.pinimg.com/originals/e0/9b/d9/e09bd9759d57c1bbf54c13f19d5f3f16.jpg",
            "width": 1080,
            "height": 1927
          },
          ... // 7 more size variants
        ]
      },
      "width": 1080,
      "height": 1927,
      "resolution": "1080x1927",
      "thumbnail": "https://i.pinimg.com/236x/e0/9b/d9/e09bd9759d57c1bbf54c13f19d5f3f16.jpg"
    }
  }
]
```

#### 📋 Output Field Documentation

**Status & Identification**
| Field | Description |
|-------|-------------|
| `success` | Boolean indicating successful scrape |
| `url` | Original Pinterest URL processed |
| `error` | Error message if scrape failed |

**Content Metadata**
| Field | Description |
|-------|-------------|
| `id` | Unique Pinterest pin identifier |
| `type` | Content type (image/video) |
| `description` | Pin description text |
| `seo_title` | SEO-optimized title |
| `created_at` | Creation timestamp |
| `domain` | Source domain of the content |

**Engagement Statistics**
| Field | Description |
|-------|-------------|
| `repin_count` | Number of times pinned |
| `comment_count` | Total comments |
| `share_count` | Social shares |
| `like_count` | Total likes/reactions |
| `total_saves` | Overall save count |

**User Information**
| Field | Description |
|-------|-------------|
| `uploader` | User who uploaded the image |
| `original_creator` | Original content creator |
| `current_pinner` | User who pinned the content |
| `board` | Board where pin is saved |

**Image Assets**
| Field | Description |
|-------|-------------|
| `downloads.image` | Array of available image sizes |
| `width` | Original image width |
| `height` | Original image height |
| `resolution` | Formatted resolution string |
| `thumbnail` | Primary thumbnail URL |

***

### 🖼️ Available Image Sizes

Our **Pinterest Image Scraper & Downloader** extracts 8 different resolutions:

1. **Original** - Highest quality (e.g., 1080x1927)
2. **736x** - Large desktop/tablet optimized
3. **564x** - Medium resolution for web use
4. **474x** - Standard display size
5. **236x** - Small preview size
6. **170x** - Minimal thumbnail
7. **136x136** - Square thumbnail
8. **60x60** - Tiny icon size

Each size includes exact dimensions for precise layout planning.

***

### 🔧 Technical Features

#### 📸 Image Extraction

- Direct Pinimg CDN access
- Multiple format support (JPG, PNG, WebP)
- Resolution detection and validation
- Automatic size variant collection

#### 📊 Data Collection

- Complete user hierarchy (uploader/creator/pinner)
- Detailed engagement analytics
- Board and organizational data
- Timestamp precision with timezone

#### ⚙️ Reliability Features

- Robust error handling per URL
- Success/failure status tracking
- URL normalization and validation
- Rate limit awareness

***

### 💼 Use Cases

- **Designers** – Collect visual inspiration and mood boards
- **Marketers** – Track visual trends and competitor content
- **Researchers** – Build datasets for ML/AI training
- **Content Creators** – Source images for blogs and social media
- **E-commerce** – Monitor product pins and user engagement
- **SEO Specialists** – Analyze Pinterest content performance

Our **Pinterest Image Scraper & Downloader** is the perfect tool for anyone needing structured Pinterest data extraction.

***

#### ✅ Why Choose Our Pinterest Image Scraper & Downloader?

- **Comprehensive Data**: Get 30+ data points per pin
- **Multiple Resolutions**: Access 8 different image sizes
- **User-Friendly**: Simple JSON input/output format
- **Reliable Performance**: Built for production use
- **Regular Updates**: Maintained for Pinterest compatibility

#### ⚠️ Limitations

- Only works with public Pinterest pins
- Rate limits may apply based on Pinterest's policies
- Requires valid Pinterest URLs (pin.it or pinterest.com/pin/)

***

### 🔗🛠 Related Actors (Full Content Scraping Suite)

#### 📷 Image & Media Scrapers:

- [Instagram Reels Downloader](https://apify.com/codenest/instagram-reels-downloader)
- [Facebook Reels Downloader](https://apify.com/codenest/facebook-reels-downloader)

#### 🎥 Video Scrapers:

- [YouTube Video Scraper](https://apify.com/codenest/youtube-video-scraper)
- [YouTube Video Extractor](https://apify.com/codenest/youtube-video-extractor)

***

### 📧 Need Customization?

Want *additional metadata fields*, **higher volume scraping**, or **custom export formats**?

✉️ Email *<codenest2.0@gmail.com>* for tailored solutions using our **Pinterest Image Scraper & Downloader**!

***

# Actor input Schema

## `media_urls` (type: `array`):

List of Pinterest media URLs (supports pin.it short URLs and full pinterest.com URLs for both videos and images).

## Actor input object example

```json
{
  "media_urls": [
    {
      "url": "https://www.pinterest.com/pin/49328558413539052/"
    }
  ]
}
```

# 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 = {
    "media_urls": [
        {
            "url": "https://www.pinterest.com/pin/49328558413539052/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/pinterest-image-scraper-downloader").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 = { "media_urls": [{ "url": "https://www.pinterest.com/pin/49328558413539052/" }] }

# Run the Actor and wait for it to finish
run = client.actor("codenest/pinterest-image-scraper-downloader").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 '{
  "media_urls": [
    {
      "url": "https://www.pinterest.com/pin/49328558413539052/"
    }
  ]
}' |
apify call codenest/pinterest-image-scraper-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pinterest Image Scraper & Downloader",
        "description": "Easily extract high-quality Pinterest images with 8+ resolutions! Get complete metadata, user profiles, original creator,  pinner and board info, engagement stats, and direct CDN links in structured JSON. Perfect for designers & marketers!❤️Pinterest Image Scraper & Downloader.",
        "version": "0.0",
        "x-build-id": "ORu2gZBXR4Ua5z7Xp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/codenest~pinterest-image-scraper-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-codenest-pinterest-image-scraper-downloader",
                "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/codenest~pinterest-image-scraper-downloader/runs": {
            "post": {
                "operationId": "runs-sync-codenest-pinterest-image-scraper-downloader",
                "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/codenest~pinterest-image-scraper-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-codenest-pinterest-image-scraper-downloader",
                "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",
                "required": [
                    "media_urls"
                ],
                "properties": {
                    "media_urls": {
                        "title": "Pinterest URLs",
                        "type": "array",
                        "description": "List of Pinterest media URLs (supports pin.it short URLs and full pinterest.com URLs for both videos and images).",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
