# Pinterest Scraper — Pins, Images, Links & Boards (`sian.agency/pinterest-scraper`) Actor

Pinterest scraper for pins, images, outbound links, boards, pinners and engagement stats. Search by keyword or paste a Pinterest URL; choose fast overview or full detail with saves, repins, comments and hashtags. Clean JSON/CSV, no account or Pinterest API key needed.

- **URL**: https://apify.com/sian.agency/pinterest-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Social media, E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 pin extracted (overview)s

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

## Pinterest Scraper — Pins, Images, Links & Boards 📌

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Instagram AI Transcript](https://img.shields.io/badge/Store-Instagram%20AI%20Transcript-E4405F)](https://apify.com/sian.agency/instagram-ai-transcript-extractor?fpr=sian) [![Xiaohongshu RedNote Scraper](https://img.shields.io/badge/Store-Xiaohongshu%20RedNote-FF2442)](https://apify.com/sian.agency/xiaohongshu-rednote-scraper?fpr=sian) [![TikTok AI Transcript](https://img.shields.io/badge/Store-TikTok%20AI%20Transcript-25F4EE)](https://apify.com/sian.agency/best-tiktok-ai-transcript-extractor?fpr=sian)

#### 🎉 The fast, no-code Pinterest data API — search pins, grab images, links, boards & engagement stats, no Pinterest API key required
##### Built for marketers, affiliates, designers, SEO teams and trend researchers who need clean, structured Pinterest data — by keyword or by URL.

### 📋 Overview

**Pull pins from Pinterest as clean JSON or CSV.** Search any keyword or paste a Pinterest search URL and get back rich pins — image, outbound link, source domain, board, pinner and alt-text — at scale. Need the numbers? Switch to Detail and add saves, repins, comments, shares, hashtags and the full image-size ladder per pin.

**Why marketers and researchers choose us:**
- ⚡ **Two depths, one actor**: a fast, low-cost Overview scan for whole-topic sweeps, or full Detail records when you need engagement stats
- 🔁 **Detail = Overview + more**: every overview field is on a Detail row too, with deeper data added on top — never less
- 💰 **Pay-per-result pricing**: Overview from **$3 per 1,000 pins** — only charged for pins actually extracted
- 🌐 **Outbound links + domains** on every pin — perfect for affiliate, product and source-site research
- 🎯 **Three ways to search**: by keyword, by a pasted Pinterest search URL (filters honored), or by specific pin URLs
- 💎 **No API key, no code**: no Pinterest API access needed — point, click, export a visual-data feed
- 🆓 **Free to try**: up to 25 pins per run, no credit card

### ✨ Features

- 🔍 **Overview mode**: ~18–25 pins per page — image, link, domain, board, pinner, alt-text — ideal for fast topic sweeps
- 📌 **Detail mode**: full per-pin record — saves, repins, comments, favorites, shares, hashtags, the long-form note, every image size
- 🗂️ **Search scopes**: pins, products, videos, boards or users — mirrors Pinterest's own search tabs
- 🔗 **By keyword / search URL / pin URL**: type a query, paste a search link (filters carry through), or drop in specific pins
- 🖼️ **Every image variant**: largest-first, deduped image ladder plus dimensions and dominant color
- 🌍 **Outbound link + source domain** on every pin for product and affiliate sourcing
- 👤 **Pinner + board context**: username, display name, follower count, board name and URL
- 🧾 **Self-documenting datasets**: every row carries a `metadata` object recording the exact search settings that produced it
- 📤 **Clean exports**: JSON, CSV, Excel, or the full REST API

### 🎬 Quick Start

Pick a depth, choose how to search, set a result cap, and run. Results stream to the Apify dataset as clean JSON/CSV.

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~pinterest-scraper/runs?token=[YOUR_TOKEN]" \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"byQuery","queries":["home office desk"],"maxResults":50}'
````

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Pick your depth

**Overview** for a fast image + link + board scan, or **Detail** for the full per-pin record with engagement stats.

#### Step 2: Choose how to search

**By query** (type a keyword like `minimalist desk`), **By search URL** (paste a Pinterest search link — filters honored), or **By pin URL** (detail mode — drop in specific pins).

#### Step 3: Set a cap & run

Set Max Pins Per Run and Max Search Pages, then hit **Start**.

**That's it! In under a minute, you'll have:**

- A clean dataset of Pinterest pins (JSON / CSV / Excel)
- Image, outbound link, domain, board and pinner on every row
- A repeatable, no-code visual-data feed

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| scrapeMode | string | No | `overview` (fast & cheap) or `detail` (full engagement). Default `overview`. |
| searchMode | string | No | `byQuery`, `bySearchUrl`, or `byPinUrl` (detail only). |
| queries | array | No | Search keywords, e.g. `["home office","kitchen pantry"]` (byQuery). |
| scope | string | No | `pins`, `products`, `videos`, `boards` or `users`. Default `pins`. |
| searchUrls | array | No | Pinterest search URLs (bySearchUrl) — on-URL filters honored. |
| pinUrls | array | No | Pin URLs or numeric IDs (detail / byPinUrl). |
| maxResults | integer | No | Max pins this run. FREE tier capped at 25. |
| maxPages | integer | No | Max result pages to paginate per query/URL. |

**Example — by query:**

```json
{
  "scrapeMode": "overview",
  "searchMode": "byQuery",
  "queries": ["home office desk"],
  "scope": "pins",
  "maxResults": 100
}
```

**Example — detail by pin URL:**

```json
{
  "scrapeMode": "detail",
  "searchMode": "byPinUrl",
  "pinUrls": ["https://www.pinterest.com/pin/264938390609406782/", "4592123610106029696"]
}
```

### 📤 Output

Results are saved to the Apify dataset with **30+ fields** including:

| Field | Type | Description |
|-------|------|-------------|
| pinTitle | string | Pin title |
| image | string | Largest image URL |
| images | array | Every image-size variant, deduped |
| link | string | Outbound destination URL |
| domain | string | Source site host |
| saves / repin\_count | number | Engagement (detail mode) |
| comment\_count / share\_count | number | Engagement (detail mode) |
| hashtags | array | Hashtags (detail mode) |
| pinner\_username | string | Account that owns the pin |
| board\_name / board\_url | string | Board the pin lives on |
| url | string | Canonical pin page |

**Example:**

```json
{
  "id": "264938390609406782",
  "url": "https://www.pinterest.com/pin/264938390609406782/",
  "source": "detail",
  "pinTitle": "Console Desk with Drawers",
  "link": "https://www.potterybarn.com/products/dillon-console-desk/",
  "domain": "potterybarn.com",
  "saves": 82,
  "repin_count": 80,
  "pinner_username": "potterybarn",
  "board_name": "Home Offices",
  "image": "https://i.pinimg.com/originals/cd/e8/17/cde81773edc15fa114c9e38a7c66cc5f.png",
  "image_count": 9
}
```

### 💼 Use Cases & Examples

- 🛍️ **Affiliate & product research** — harvest outbound links and source domains for product and shopping pins.
- 📈 **Visual trend tracking** — sweep a topic over time and watch which pins, boards and creators gain saves.
- 🎨 **Creative & moodboard sourcing** — pull full-resolution image ladders for design inspiration at scale.
- 🧑‍🤝‍🧑 **Influencer (pinner) discovery** — surface high-follower pinners and the boards driving a niche.
- 🔑 **SEO & content ideation** — mine titles, descriptions and alt-text for keyword and content angles.
- 📊 **Competitor board analysis** — map what a brand or competitor is pinning and how it performs.

### ❓ FAQ

**Q: Do I need a Pinterest account or API key?**
A: No. Just supply a keyword or URL and run — no login, no API key, no code.

**Q: What's the difference between Overview and Detail?**
A: Overview is the fast, cheap scan (image, link, board, pinner). Detail adds the engagement numbers — saves, repins, comments, shares, hashtags and the long-form note — at a higher per-pin price.

**Q: Can I paste a Pinterest search URL with filters?**
A: Yes. In `bySearchUrl` mode, faceted filters in the URL (color, price band, domain) carry through.

**Q: Is this legal?**
A: We only extract publicly available data. See the legal note below.

### 🐛 Troubleshooting

**No results returned**

- Check the query spelling, or that the pasted URL is a valid `pinterest.com/search/...` link.
- Very niche queries may return few pins — try a broader keyword or raise Max Search Pages.

**Engagement fields are empty**

- Saves, repins, comments and hashtags are filled in **Detail** mode only — Overview omits them by design.

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

*This is an independent tool and is not affiliated with, endorsed by, or sponsored by Pinterest. "Pinterest" is a trademark of its respective owner.*

### 🤝 Support

Found a bug or need a new field? Open an issue on the actor's Issues tab — we ship fast.

⭐ Loving this tool? A 5-star review helps other users discover it.
🔥 More automation tools: https://apify.com/sian.agency?fpr=sian

# Actor input Schema

## `scrapeMode` (type: `string`):

🧭 **Choose how much data per pin:**

- **Overview** (cheapest): search a query or paste a search URL → up to ~25 pins per page with image, link, domain, board, pinner and alt-text. Best for volume.
- **Detail** (full): enrich each pin with the engagement stats the search list omits — saves, repins, comments, shares, hashtags, the long-form note and the full image-size ladder.

## `searchMode` (type: `string`):

🎯 **How you supply targets:**

- **By Query** — type one or more search terms (e.g. `home office desk`).
- **By Search URL** — paste a Pinterest `/search/...` URL (filters in the URL carry through).
- **By Pin URL** — *(Detail only)* paste pin URLs or numeric pin IDs to enrich directly.

Leave on the default and it auto-selects: By Query for Overview, By Pin URL for Detail.

## `queries` (type: `array`):

🔎 **SEARCH BY KEYWORD:** One or more search terms — each is run as a Pinterest search.

💡 **TIP:** Click "Bulk edit" to paste many queries, one per line.

Example: `minimalist desk`, `home office`, `kitchen pantry organization`

## `scope` (type: `string`):

🗂️ **What kind of results** the query searches across. `pins` (default) is the most common; `products`, `videos`, `boards` and `users` mirror Pinterest's own search tabs.

## `searchUrls` (type: `array`):

🔗 **PASTE SEARCH URLS:** One or more `https://www.pinterest.com/search/...` URLs. Any faceted filters in the URL (color, price band, domain) carry through.

💡 **TIP:** Open a search on pinterest.com, set your filters, then copy the address-bar URL.

## `pinUrls` (type: `array`):

📌 **DIRECT PIN ENRICHMENT (Detail only):** Paste pin URLs (`https://www.pinterest.com/pin/<id>/`) or bare numeric pin IDs to enrich each one with full engagement stats.

💡 **TIP:** Click "Bulk edit" to paste many at once, one per line.

## `maxResults` (type: `integer`):

🔢 **Cap the number of pins** saved in this run.

- **FREE users:** up to 25 pins per run
- **PAID users:** unlimited

Pay-per-result: you only pay for the pins actually returned.

## `maxPages` (type: `integer`):

📄 **How many result pages to paginate** per query/URL (each page ≈ 18–25 pins). Stops early when `Max Pins Per Run` is reached or Pinterest runs out of results.

## `useProxy` (type: `boolean`):

🛡️ **Off by default.** Pinterest data is fetched directly and reliably without a proxy. Enable this only if you run very high volume and hit a rate-limit — it routes requests through a US residential network for extra resilience.

## Actor input object example

```json
{
  "scrapeMode": "overview",
  "searchMode": "byQuery",
  "queries": [
    "home office desk"
  ],
  "scope": "pins",
  "searchUrls": [],
  "pinUrls": [],
  "maxResults": 100,
  "maxPages": 10,
  "useProxy": false
}
```

# Actor output Schema

## `pins` (type: `string`):

All extracted pins with images, outbound links, boards, pinners and engagement metrics.

# 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 = {
    "scrapeMode": "overview",
    "searchMode": "byQuery",
    "queries": [
        "home office desk"
    ],
    "scope": "pins",
    "searchUrls": [],
    "pinUrls": [],
    "maxResults": 100,
    "maxPages": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/pinterest-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 = {
    "scrapeMode": "overview",
    "searchMode": "byQuery",
    "queries": ["home office desk"],
    "scope": "pins",
    "searchUrls": [],
    "pinUrls": [],
    "maxResults": 100,
    "maxPages": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/pinterest-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 '{
  "scrapeMode": "overview",
  "searchMode": "byQuery",
  "queries": [
    "home office desk"
  ],
  "scope": "pins",
  "searchUrls": [],
  "pinUrls": [],
  "maxResults": 100,
  "maxPages": 10
}' |
apify call sian.agency/pinterest-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pinterest Scraper — Pins, Images, Links & Boards",
        "description": "Pinterest scraper for pins, images, outbound links, boards, pinners and engagement stats. Search by keyword or paste a Pinterest URL; choose fast overview or full detail with saves, repins, comments and hashtags. Clean JSON/CSV, no account or Pinterest API key needed.",
        "version": "1.0",
        "x-build-id": "ktkm1Ea6q1mVj5eug"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~pinterest-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-pinterest-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/sian.agency~pinterest-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-pinterest-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/sian.agency~pinterest-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-pinterest-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": {
                    "scrapeMode": {
                        "title": "🧭 Scrape Mode",
                        "enum": [
                            "overview",
                            "detail"
                        ],
                        "type": "string",
                        "description": "🧭 **Choose how much data per pin:**\n\n- **Overview** (cheapest): search a query or paste a search URL → up to ~25 pins per page with image, link, domain, board, pinner and alt-text. Best for volume.\n- **Detail** (full): enrich each pin with the engagement stats the search list omits — saves, repins, comments, shares, hashtags, the long-form note and the full image-size ladder.",
                        "default": "overview"
                    },
                    "searchMode": {
                        "title": "🎯 Input Type",
                        "enum": [
                            "byQuery",
                            "bySearchUrl",
                            "byPinUrl"
                        ],
                        "type": "string",
                        "description": "🎯 **How you supply targets:**\n\n- **By Query** — type one or more search terms (e.g. `home office desk`).\n- **By Search URL** — paste a Pinterest `/search/...` URL (filters in the URL carry through).\n- **By Pin URL** — *(Detail only)* paste pin URLs or numeric pin IDs to enrich directly.\n\nLeave on the default and it auto-selects: By Query for Overview, By Pin URL for Detail.",
                        "default": "byQuery"
                    },
                    "queries": {
                        "title": "🔎 Search Queries",
                        "type": "array",
                        "description": "🔎 **SEARCH BY KEYWORD:** One or more search terms — each is run as a Pinterest search.\n\n💡 **TIP:** Click \"Bulk edit\" to paste many queries, one per line.\n\nExample: `minimalist desk`, `home office`, `kitchen pantry organization`",
                        "default": [
                            "home office desk"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "scope": {
                        "title": "🗂️ Search Scope",
                        "enum": [
                            "pins",
                            "products",
                            "videos",
                            "boards",
                            "users"
                        ],
                        "type": "string",
                        "description": "🗂️ **What kind of results** the query searches across. `pins` (default) is the most common; `products`, `videos`, `boards` and `users` mirror Pinterest's own search tabs.",
                        "default": "pins"
                    },
                    "searchUrls": {
                        "title": "🔗 Pinterest Search URLs",
                        "type": "array",
                        "description": "🔗 **PASTE SEARCH URLS:** One or more `https://www.pinterest.com/search/...` URLs. Any faceted filters in the URL (color, price band, domain) carry through.\n\n💡 **TIP:** Open a search on pinterest.com, set your filters, then copy the address-bar URL.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "pinUrls": {
                        "title": "📌 Pin URLs or IDs (Detail mode)",
                        "type": "array",
                        "description": "📌 **DIRECT PIN ENRICHMENT (Detail only):** Paste pin URLs (`https://www.pinterest.com/pin/<id>/`) or bare numeric pin IDs to enrich each one with full engagement stats.\n\n💡 **TIP:** Click \"Bulk edit\" to paste many at once, one per line.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "🔢 Max Pins Per Run",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔢 **Cap the number of pins** saved in this run.\n\n- **FREE users:** up to 25 pins per run\n- **PAID users:** unlimited\n\nPay-per-result: you only pay for the pins actually returned.",
                        "default": 100
                    },
                    "maxPages": {
                        "title": "📄 Max Search Pages",
                        "minimum": 1,
                        "type": "integer",
                        "description": "📄 **How many result pages to paginate** per query/URL (each page ≈ 18–25 pins). Stops early when `Max Pins Per Run` is reached or Pinterest runs out of results.",
                        "default": 10
                    },
                    "useProxy": {
                        "title": "🛡️ Use Residential Proxy (optional)",
                        "type": "boolean",
                        "description": "🛡️ **Off by default.** Pinterest data is fetched directly and reliably without a proxy. Enable this only if you run very high volume and hit a rate-limit — it routes requests through a US residential network for extra resilience.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
