{
  "openapi": "3.0.1",
  "info": {
    "title": "Pinterest Ads Scraper | Ad Library, Reach & Targeting",
    "description": "Pinterest Ads Scraper for the Pinterest Ads Repository, the EU ad library: 20 ads in 3 seconds, 30 fields each. Search by advertiser, country, link or pin id and get ad title, text, image, video, advertiser, EU reach by country, age, gender and audience targeting, start and end dates. No account.",
    "version": "1.0",
    "x-build-id": "oEuKhUxZnCFkjWaql"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~pinterest-ads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-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/silentflow~pinterest-ads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-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/silentflow~pinterest-ads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-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": {
          "searchQueries": {
            "title": "🔎 Advertisers",
            "type": "array",
            "description": "The advertiser whose ads you want, written as Pinterest shows it: <code>IKEA Deutschland</code>, <code>Amazon.de</code>, <code>TEMU DE</code>, <code>Sephora France</code>, <code>OTTO</code>. Case does not matter, but the name must be complete: <code>Amazon</code> alone finds nothing. One search per advertiser and country; a large advertiser returns a hundred ads or more per month in its home market. Not sure of the name? Leave this empty to read every ad of the country, the <code>advertiserName</code> column gives the exact names.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Repository or pin links",
            "type": "array",
            "description": "Links copied from Pinterest:<ul><li>one ad of the Ads Repository: <code>https://ads.pinterest.com/ads-repository/4602678896534640256/</code></li><li>the pin of an ad: <code>https://www.pinterest.com/pin/1134907174850095283/</code> (any Pinterest country domain)</li><li>a repository search with its filters in the address: <code>https://ads.pinterest.com/ads-repository/?country=FR&amp;advertiser_name=Sephora%20France</code></li></ul>What a search link says wins over the form below.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "adIds": {
            "title": "🆔 Pin ids",
            "type": "array",
            "description": "Pin ids of ads, from the repository or from an earlier run (<code>id</code> field), such as <code>4602678896534640256</code>. Each id gives one row with fresh reach and dates, so a watchlist of competitor ads refreshes in one run. An id that is not an ad gives no row and is counted in the run summary.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "🌍 Country",
            "type": "string",
            "description": "The country the ads were shown in. Pick it in the list, or type its code (<code>de</code>, <code>deu</code>), its English name (<code>Germany</code>), several codes separated by commas (<code>de, fr, it</code>), or <code>all</code> for the 29 countries, read one after the other until Max ads is reached.",
            "default": "de"
          },
          "startDate": {
            "title": "📅 Shown from",
            "type": "string",
            "description": "Keep the ads shown on or after this day (<code>2026-09-01</code>) or this long ago (<code>90 days</code>). An ad that started earlier and still ran after it is kept. Leave empty for the last 30 days; the repository goes back 12 months."
          },
          "endDate": {
            "title": "📅 Shown until",
            "type": "string",
            "description": "Keep the ads shown on or before this day (<code>2026-09-30</code>). Leave empty for today. Long periods are read month by month, newest first."
          },
          "category": {
            "title": "🏷️ Category",
            "enum": [
              "all",
              "animals",
              "architecture",
              "art",
              "beauty",
              "childrens_fashion",
              "design",
              "diy_and_crafts",
              "education",
              "electronics",
              "entertainment",
              "event_planning",
              "finance",
              "food_and_drinks",
              "gardening",
              "health",
              "home_decor",
              "mens_fashion",
              "other",
              "parenting",
              "quotes",
              "sport",
              "travel",
              "vehicles",
              "wedding",
              "womens_fashion"
            ],
            "type": "string",
            "description": "Keep the ads of one Pinterest category, such as <b>Beauty</b> or <b>Home decor</b>.",
            "default": "all"
          },
          "gender": {
            "title": "👤 Gender",
            "enum": [
              "all",
              "female",
              "male",
              "unspecified"
            ],
            "type": "string",
            "description": "Keep the ads bought for this gender. Most ads target every gender and stay in the results.",
            "default": "all"
          },
          "age": {
            "title": "🎂 Age",
            "enum": [
              "all",
              "18-24",
              "25-34",
              "35-44",
              "45-49",
              "50-54",
              "55-64",
              "65+"
            ],
            "type": "string",
            "description": "Keep the ads bought for this age bracket. Most ads target every adult (18+) and stay in the results.",
            "default": "all"
          },
          "maxItems": {
            "title": "🔢 Max ads",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many ads, across advertisers, countries, links and ids. 20 ads take about 10 seconds, 100 ads well under a minute. Set it to what you need, the cost grows with it.",
            "default": 100
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}