{
  "openapi": "3.0.1",
  "info": {
    "title": "Pinterest Ads Scraper With Engagement & Website Links",
    "description": "Extract Pinterest Ads data quickly with Pinterest Ads Scraper. Collect ad creatives, advertiser details, engagement insights, landing pages, and campaign-related public data for competitor research, ad analysis, lead generation, and marketing intelligence.",
    "version": "0.1",
    "x-build-id": "IzggNwMnYBf0BKyPx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~pinterest-ads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-pinterest-ads-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/scrapier~pinterest-ads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-pinterest-ads-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/scrapier~pinterest-ads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-pinterest-ads-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": {
          "startDate": {
            "title": "📅 Start Date",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "First day of the ad flight window to search (YYYY-MM-DD). Also accepts the legacy 'start_date' key. Pinterest's public Ads Library lags real time - very recent windows (2025+) commonly return 0 ads; the prefilled window is a known-populated one."
          },
          "endDate": {
            "title": "📅 End Date",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Last day of the ad flight window to search (YYYY-MM-DD). Also accepts the legacy 'end_date' key."
          },
          "market": {
            "title": "🌍 Market",
            "enum": [
              "Austria",
              "Belgium",
              "Brazil",
              "Bulgaria",
              "Croatia",
              "Cyprus",
              "Czech Republic",
              "Denmark",
              "Estonia",
              "Finland",
              "France",
              "Germany",
              "Greece",
              "Hungary",
              "Ireland",
              "Italy",
              "Latvia",
              "Lithuania",
              "Luxembourg",
              "Malta",
              "Netherlands",
              "Norway",
              "Poland",
              "Portugal",
              "Romania",
              "Slovakia",
              "Slovenia",
              "Spain",
              "Sweden",
              "Turkey"
            ],
            "type": "string",
            "description": "The country whose Pinterest Ads Library you want to search. Also accepts the legacy 'country' key. Only markets Pinterest's own Ads Library actually supports are listed (United States and United Kingdom are not covered by Pinterest's public Ads Library and were removed; Norway was added)."
          },
          "maxAds": {
            "title": "🔢 Max Ads",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of ads to collect (1-10,000). Also accepts the legacy 'resultsLimit' key."
          },
          "fetchEngagementData": {
            "title": "💬 Fetch Engagement & Destination Data",
            "type": "boolean",
            "description": "When enabled, fetches each ad's pin closeup page to collect saves/comments/shares/reaction counts, the real outbound destination (landing-page) URL, and video-format variants for video ads. Coverage of the engagement counts is real-data-dependent (not every pin exposes them) - populated fields report real numbers, unavailable ones are left null, never faked.",
            "default": true
          },
          "maxEngagementFetches": {
            "title": "🔢 Max Engagement Lookups",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Caps how many of the collected ads get the extra closeup-page engagement/destination lookup (bounds the extra requests). 0 = look up every collected ad (up to Max Ads). Ignored when 'Fetch Engagement & Destination Data' is off.",
            "default": 0
          },
          "start_date": {
            "title": "📅 Start Date (legacy key)",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Legacy alias for 'startDate' - kept so existing base-actor input JSON keeps working. Prefer 'startDate' for new runs.",
            "default": "2024-06-01"
          },
          "end_date": {
            "title": "📅 End Date (legacy key)",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Legacy alias for 'endDate' - kept so existing base-actor input JSON keeps working. Prefer 'endDate' for new runs.",
            "default": "2024-06-30"
          },
          "country": {
            "title": "🌍 Country (legacy key)",
            "enum": [
              "Austria",
              "Belgium",
              "Brazil",
              "Bulgaria",
              "Croatia",
              "Cyprus",
              "Czech Republic",
              "Denmark",
              "Estonia",
              "Finland",
              "France",
              "Germany",
              "Greece",
              "Hungary",
              "Ireland",
              "Italy",
              "Latvia",
              "Lithuania",
              "Luxembourg",
              "Malta",
              "Netherlands",
              "Norway",
              "Poland",
              "Portugal",
              "Romania",
              "Slovakia",
              "Slovenia",
              "Spain",
              "Sweden",
              "Turkey"
            ],
            "type": "string",
            "description": "Legacy alias for 'market' - kept so existing base-actor input JSON keeps working. Prefer 'market' for new runs.",
            "default": "France"
          },
          "resultsLimit": {
            "title": "🔢 Results Limit (legacy key)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Legacy alias for 'maxAds' - kept so existing base-actor input JSON keeps working. Prefer 'maxAds' for new runs.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "🔒 Proxy (Optional)",
            "type": "object",
            "description": "Enable if you experience access issues. Most users can leave this disabled."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}