# Pinterest Image Downloader (`parsebird/pinterest-image-downloader`) Actor

Download Pinterest image metadata from pin URLs. Extract titles, source URLs, media variants, dimensions, quality labels, and direct image links. Export as JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/pinterest-image-downloader.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:** Social media, Automation, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 pinterest image 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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Downloader

Pinterest Image Downloader extracts direct image URLs and media variants from [Pinterest](https://www.pinterest.com/) pin links, including titles, source URLs, dimensions, quality labels, and file extensions.

<table><tr>
<td style="border-left:4px solid #E60023;padding:12px 16px;font-weight:600">
Add one or many Pinterest pin URLs and get structured image download metadata for creative research, asset review, monitoring, or integrations.
</td>
</tr></table>

<br>

<table>
<tr>
<td colspan="4" style="padding:10px 14px;background:#E60023;border:none;border-radius:4px 4px 0 0">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">ParseBird Pinterest Suite</span>
<span style="color:#FFE5EA;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Search, profile, keyword, and image data tools</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:25%;background:#FFFFFF">
&nbsp;<a href="https://apify.com/parsebird/pinterest-search-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Pinterest Search Scraper</a><br>
<span style="color:#78716C;font-size:11px">Keyword search results</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:25%;background:#FFFFFF">
&nbsp;<a href="https://apify.com/parsebird/pinterest-profile-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Pinterest Profile Scraper</a><br>
<span style="color:#78716C;font-size:11px">Profile metadata</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:25%;background:#FFFFFF">
&nbsp;<a href="https://apify.com/parsebird/pinterest-keywords-discovery-tool" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Pinterest Keywords Discovery Tool</a><br>
<span style="color:#78716C;font-size:11px">Keyword discovery</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 4px 0;border-top:none;vertical-align:top;width:25%;background:#FFF1F3">
&nbsp;<a href="https://apify.com/parsebird/pinterest-image-downloader" style="color:#E60023;text-decoration:none;font-weight:700;font-size:13px">Pinterest Image Downloader</a><br>
<span style="color:#E60023;font-size:11px;font-weight:600">&#10148; You are here</span>
</td>
</tr>
</table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Use Apify Actor parsebird/pinterest-image-downloader to extract Pinterest pin image download metadata. Example with ApifyClient: client.actor("parsebird/pinterest-image-downloader").call(run_input={"links":["https://jp.pinterest.com/pin/1337074888254229/"],"proxyConfiguration":{"useApifyProxy":false,"apifyProxyGroups":["RESIDENTIAL"]}}). Inputs: links array required default sample Pinterest pin URLs; proxyConfiguration object optional default {"useApifyProxy":false,"apifyProxyGroups":["RESIDENTIAL"]}. Output fields: url, result{url, source, title, medias[{width,height,url,quality,extension,type}], type, error, message}. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
```

### What is Pinterest Image Downloader?

**Pinterest Image Downloader** is a Pinterest image scraper and Pinterest API alternative for extracting direct image URLs from public pin pages. Add Pinterest pin links such as `https://jp.pinterest.com/pin/1337074888254229/`, and the actor returns media variants in a clean dataset.

Use it when you need repeatable Pinterest image data extraction with [Apify](https://apify.com/) scheduling, API access, integrations, and export formats.

### What can Pinterest Image Downloader do?

- Extract direct `i.pinimg.com` image URLs from Pinterest pin pages.
- Return available media variants such as `236x`, `474x`, `564x`, `736x`, and `originals` when Pinterest provides them.
- Include image width, height, quality label, extension, and media type.
- Process multiple Pinterest pin URLs in one run.
- Run on demand or on a schedule with [Apify schedules](https://docs.apify.com/platform/schedules).
- Connect results to the [Apify API](https://docs.apify.com/api/v2), webhooks, and integrations.
- Export Pinterest image data as JSON, CSV, Excel, HTML, XML, or RSS from Apify datasets.

### What data can you extract from Pinterest images?

| Field | Description |
|-------|-------------|
| `url` | Original input Pinterest pin URL |
| `result.url` | Final Pinterest pin URL after redirects |
| `result.source` | Source platform, returned as `pinterest` |
| `result.title` | Pin title or description returned by Pinterest |
| `result.medias` | Array of extracted image variants |
| `result.medias[].width` | Image width when Pinterest provides it |
| `result.medias[].height` | Image height when Pinterest provides it |
| `result.medias[].url` | Direct image URL |
| `result.medias[].quality` | Variant label such as `236x`, `736x`, or `originals` |
| `result.medias[].extension` | File extension, commonly `jpg` or `png` |
| `result.medias[].type` | Media type, currently `image` |
| `result.error` | Boolean error flag for the processed URL |

### How to download Pinterest image URLs

1. Open [Pinterest Image Downloader](https://apify.com/parsebird/pinterest-image-downloader) on Apify.
2. Add one or more Pinterest pin URLs in `links`.
3. Keep `proxyConfiguration.useApifyProxy` off for the cheapest first test, or enable proxy settings if a request is blocked.
4. Run the actor and open the default dataset.
5. Export the results as JSON, CSV, Excel, or connect them to a workflow through the [Apify API](https://docs.apify.com/api/v2).

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `links` | array | **Yes** | Two sample Pinterest pin URLs | Pinterest pin URLs to process |
| `proxyConfiguration` | object | No | `{"useApifyProxy": false, "apifyProxyGroups": ["RESIDENTIAL"]}` | Optional proxy settings for Pinterest requests |

### Input / Output

Example input:

```json
{
  "links": [
    "https://jp.pinterest.com/pin/1337074888254229/",
    "https://jp.pinterest.com/pin/703756187194777/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

Example output:

```json
[
  {
    "url": "https://jp.pinterest.com/pin/1337074888254229/",
    "result": {
      "url": "https://www.pinterest.com/pin/1337074888254229/",
      "source": "pinterest",
      "title": "Sam Coleman | Some snippets of this golden boy...",
      "medias": [
        {
          "width": 236,
          "height": 419,
          "url": "https://i.pinimg.com/236x/ac/10/56/ac105618d3e5e08cfd42c3f0149bbc82.jpg",
          "quality": "236x",
          "extension": "jpg",
          "type": "image"
        }
      ],
      "type": "multiple",
      "error": false
    }
  }
]
```

Download results in JSON, CSV, Excel, HTML, XML, or RSS from the Apify dataset.

### Python API example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("parsebird/pinterest-image-downloader").call(run_input={
    "links": ["https://jp.pinterest.com/pin/1337074888254229/"],
    "proxyConfiguration": {"useApifyProxy": False, "apifyProxyGroups": ["RESIDENTIAL"]},
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

### JavaScript API example

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('parsebird/pinterest-image-downloader').call({
  links: ['https://jp.pinterest.com/pin/1337074888254229/'],
  proxyConfiguration: { useApifyProxy: false, apifyProxyGroups: ['RESIDENTIAL'] },
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

See Apify's official [Python client](https://docs.apify.com/api/client/python/) and [JavaScript client](https://docs.apify.com/api/client/js/) documentation for more options.

### How much does it cost to download Pinterest image data?

**What is the price per Pinterest image result?**

| Event | Free, Bronze, Silver | Gold |
|-------|----------------------|------|
| `image-downloaded` | $0.0029 per result (**$2.90 / 1,000**) | $0.0025 per result (**$2.50 / 1,000**) |

Each `image-downloaded` event means one Pinterest pin URL was processed successfully and pushed to the dataset. A run with 1,000 successful image results costs $2.90 on Free, Bronze, and Silver plans, or $2.50 on Gold. Apify free trial credits may cover test runs where applicable.

### Use cases

- Collect direct Pinterest image URLs for asset review and creative research.
- Build image datasets from Pinterest pins discovered with Pinterest Search Scraper.
- Audit media variants and available image sizes for public pins.
- Monitor saved pins, campaign references, mood boards, or visual inspiration sets.
- Feed Pinterest image metadata into spreadsheets, BI tools, databases, or automation workflows.

### How it works

1. The actor validates and deduplicates the `links` input.
2. It requests each public Pinterest pin page with browser-like headers and optional proxy settings.
3. It extracts Pinterest's embedded public pin media data.
4. It falls back to direct `i.pinimg.com` URL discovery if the embedded payload changes.
5. It pushes one dataset item per input URL and charges one PPE event per successful result on the Apify platform.

### Is it legal to download Pinterest image URLs?

**Is scraping Pinterest image URLs legal?**

Scraping publicly available web data is generally allowed in many jurisdictions, but Pinterest images may be protected by copyright or third-party rights. Review Pinterest's terms, respect rights holders, and make sure your use case complies with applicable laws. For more background, read Apify's guide: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/).

### Other Pinterest scrapers / Related Actors

| Actor | Status | Best for |
|-------|--------|----------|
| [Pinterest Search Scraper](https://apify.com/parsebird/pinterest-search-scraper) | Available | Keyword search results, pins, pinners, and image URLs |
| [Pinterest Profile Scraper](https://apify.com/parsebird/pinterest-profile-scraper) | Available | Public profile metadata by username |
| [Pinterest Keywords Discovery Tool](https://apify.com/parsebird/pinterest-keywords-discovery-tool) | Available | Pinterest keyword and autocomplete research |
| [Pinterest Image Downloader](https://apify.com/parsebird/pinterest-image-downloader) | Available | Pinterest pin image URLs and media variants |

More ParseBird actors:

- [Unsplash Image Scraper](https://apify.com/parsebird/unsplash-image-scraper) - Collect image search data from Unsplash.
- [YouTube Thumbnail Downloader](https://apify.com/parsebird/youtube-thumbnail-downloader) - Download YouTube thumbnail metadata.
- [YouTube Search Scraper](https://apify.com/parsebird/youtube-search-scraper) - Extract structured YouTube search results.
- [Product Hunt Scraper](https://apify.com/parsebird/product-hunt-scraper) - Scrape product launches and maker data.

### FAQ

**Can I process multiple Pinterest pin links in one run?**

Yes. Add multiple URLs to the `links` array. The actor deduplicates repeated pin URLs before scraping.

**Does this actor download binary image files?**

No. It extracts direct image URLs and metadata. Use the returned `result.medias[].url` links in your own downloader, storage workflow, or integration.

**Can I schedule recurring Pinterest image extraction?**

Yes. Use Apify schedules to run the actor hourly, daily, weekly, or at a custom interval.

**Can I use this as a Pinterest image API?**

Yes. Start runs and fetch datasets through the Apify API, Python client, JavaScript client, webhooks, or integrations.

**Why did a pin return an error?**

The pin may not exist, may not be public, or Pinterest may have blocked the request from the current network. Try enabling Apify Proxy or checking the pin in a browser.

**Where can I report issues or request fields?**

Open the Issues tab on the actor page and include your input example, run ID, and the fields you expected.

# Actor input Schema

## `links` (type: `array`):

Add Pinterest pin URLs to process. Example: https://jp.pinterest.com/pin/1337074888254229/.

## `proxyConfiguration` (type: `object`):

Optionally use Apify Proxy or a custom HTTP proxy to avoid IP address-based blocking.

## Actor input object example

```json
{
  "links": [
    "https://jp.pinterest.com/pin/1337074888254229/",
    "https://jp.pinterest.com/pin/703756187194777/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "links": [
        "https://jp.pinterest.com/pin/1337074888254229/",
        "https://jp.pinterest.com/pin/703756187194777/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/pinterest-image-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 = { "links": [
        "https://jp.pinterest.com/pin/1337074888254229/",
        "https://jp.pinterest.com/pin/703756187194777/",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("parsebird/pinterest-image-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 '{
  "links": [
    "https://jp.pinterest.com/pin/1337074888254229/",
    "https://jp.pinterest.com/pin/703756187194777/"
  ]
}' |
apify call parsebird/pinterest-image-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3JYv67guGj08meGdW/builds/EjKLebLcWjpJf348w/openapi.json
