{
  "openapi": "3.0.1",
  "info": {
    "title": "Pinterest Ads Library Scraper",
    "description": "Search Pinterest's public Ads Repository by market, date, advertiser, category, age, or gender. Export source-linked ad creatives, flight dates, disclosed targeting, and reach ranges for competitive research. Charged $0.006 per saved ad plus platform usage.",
    "version": "1.0",
    "x-build-id": "6gevccJbhawiTr95g"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~pinterest-ads-library-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-pinterest-ads-library-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/khadinakbar~pinterest-ads-library-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-pinterest-ads-library-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/khadinakbar~pinterest-ads-library-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-pinterest-ads-library-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": {
          "country": {
            "title": "Ad target market",
            "enum": [
              "AT",
              "BE",
              "BG",
              "BR",
              "HR",
              "CY",
              "CZ",
              "DK",
              "EE",
              "FI",
              "FR",
              "DE",
              "GR",
              "HU",
              "IE",
              "IT",
              "LV",
              "LT",
              "LU",
              "MT",
              "NL",
              "NO",
              "PL",
              "PT",
              "RO",
              "SK",
              "SI",
              "ES",
              "SE",
              "TR"
            ],
            "type": "string",
            "description": "Select the supported Pinterest repository market used to find disclosed ads, for example FR for France. Use a two-letter country code from the list. Defaults to FR for a working public repository search. This is not your billing country or proxy-location setting.",
            "default": "FR"
          },
          "startDate": {
            "title": "First repository date",
            "type": "string",
            "description": "Set the inclusive beginning of the public repository window in YYYY-MM-DD format, for example 2026-08-01. Defaults to seven days before the run begins when omitted. The maximum window is 31 calendar days. This is not a relative date phrase or an ad creation-date guarantee."
          },
          "endDate": {
            "title": "Last repository date",
            "type": "string",
            "description": "Set the inclusive end of the public repository window in YYYY-MM-DD format, for example 2026-08-10. Defaults to the run date when omitted. It must be on or after startDate and within the 31-day window. This is not an overall Actor timeout."
          },
          "advertiserName": {
            "title": "Advertiser name",
            "maxLength": 200,
            "type": "string",
            "description": "Optionally narrow the public repository to a disclosed advertiser name, for example Tommy Hilfiger. Leave blank to browse the selected market and date window. Names are matched by Pinterest's repository and may not be exact. This is not a Pinterest username, ad ID, or private account ID."
          },
          "category": {
            "title": "Ad 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": "Optionally filter by Pinterest's public ad category, for example HOME_DECOR. Defaults to ALL and only controls the repository filter. Use it for category-level creative research, not to classify the returned creative yourself. This is not a free-text keyword search.",
            "default": "ALL"
          },
          "gender": {
            "title": "Disclosed gender filter",
            "enum": [
              "ALL",
              "FEMALE",
              "MALE",
              "UNSPECIFIED"
            ],
            "type": "string",
            "description": "Optionally apply the repository's disclosed gender filter: ALL, FEMALE, MALE, or UNSPECIFIED. Defaults to ALL. It reflects Pinterest's public ad-library filter rather than inferred user demographics. This is not a guarantee that every returned ad targets only that gender.",
            "default": "ALL"
          },
          "age": {
            "title": "Disclosed age filter",
            "enum": [
              "ALL",
              "AGE_18_24",
              "AGE_25_34",
              "AGE_35_44",
              "AGE_45_49",
              "AGE_50_54",
              "AGE_55_64",
              "AGE_65_PLUS"
            ],
            "type": "string",
            "description": "Optionally apply Pinterest's public age-bucket filter, for example AGE_25_34. Defaults to ALL. Use the public filter values exactly as shown. This is not an inferred audience-age estimate or a free-text age range.",
            "default": "ALL"
          },
          "maxResults": {
            "title": "Maximum ads",
            "minimum": 1,
            "maximum": 24,
            "type": "integer",
            "description": "Cap the validated public ad records saved to the dataset. Enter an integer from 1 to 24; the default is 24 and each saved record charges the ad-scraped event. Keep it low for a quick evidence check. This is not a guarantee that Pinterest has that many matches.",
            "default": 24
          },
          "requestTimeoutSecs": {
            "title": "Request timeout seconds",
            "minimum": 20,
            "maximum": 120,
            "type": "integer",
            "description": "Set the browser navigation and public repository request timeout in seconds. Enter 20 to 120; the default is 60. Increase it only for a slow public response, not to bypass access controls. This is not the whole Actor run timeout.",
            "default": 60
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}