{
  "openapi": "3.0.1",
  "info": {
    "title": "Pinterest Scraper & Trends — Pins, Boards, Profiles, Demand",
    "description": "Pinterest pins from keywords, boards, profiles and pin links: outbound link and shop domain, product price and discount, reactions, saves, pinner and board. Plus the Pinterest Trends weekly search-interest series for each keyword (31 regions) and Pinterest's related searches.",
    "version": "0.1",
    "x-build-id": "Jk1j67CyZfi5Ma5MU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/foxlabs~pinterest-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-foxlabs-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/foxlabs~pinterest-scraper/runs": {
      "post": {
        "operationId": "runs-sync-foxlabs-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/foxlabs~pinterest-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-foxlabs-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords as typed into Pinterest search (boho living room, linen dress, halloween nails). Each keyword gives pin rows, a free keyword summary (which shops and sites the pins link to, Pinterest's related searches) and, with Pinterest Trends on, its weekly search-interest series. Pinterest corrects misspelled keywords and searches the correction; the rows show what was searched in pinterestQuery.",
            "items": {
              "type": "string"
            }
          },
          "boardUrls": {
            "title": "Boards",
            "type": "array",
            "description": "Board links (https://www.pinterest.com/<user>/<board>/), any Pinterest country domain. Gives a free board row (pin count, followers, category) and the board's pins, including pins in its sections.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profiles",
            "type": "array",
            "description": "Profile links (https://www.pinterest.com/<user>/) or usernames. Gives one profile row (followers, monthly views, website, verified merchant, boards) and the profile's pins (see \"Profile pins\").",
            "items": {
              "type": "string"
            }
          },
          "pinUrls": {
            "title": "Pin links",
            "type": "array",
            "description": "Pin links (https://www.pinterest.com/pin/<number>/) or pin numbers. Each pin comes with saves, repins, comments and shares. pin.it short links are not supported: open them and copy the pinterest.com address.",
            "items": {
              "type": "string"
            }
          },
          "maxPinsPerSource": {
            "title": "Max pins per keyword, board or profile",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many pins for each keyword, board or profile. Pinterest ends a keyword's results after about 800–960 pins; turn on related searches below to go further. 0 = no pins at all, pin links included: you still get Trends series, profile rows and free board rows, and each pin link gets a free status row saying it was not read. The form starts at 50; an API call without this field gets 100.",
            "default": 100
          },
          "includeDetails": {
            "title": "Pin details: saves, repins, comments, shares",
            "type": "boolean",
            "description": "Pinterest's search results carry reactions but not saves. This reads each pin's detail page as well (one more request per pin): saves, repins, comments, shares, and the MP4 file of video pins. Charged as an extra \"pin-details\" event per pin that got its details.",
            "default": false
          },
          "includeTrends": {
            "title": "Pinterest Trends: weekly search interest per keyword",
            "type": "boolean",
            "description": "For each keyword, the Pinterest Trends series for every region below: weekly search interest (0–100, 100 = the keyword's own peak in the period), the latest and peak week, and the week-, month- and year-over-year change Pinterest reports. A keyword with too few searches in a region has no series; you get a free status row instead.",
            "default": true
          },
          "trendRegions": {
            "title": "Trend regions",
            "type": "array",
            "description": "Pinterest Trends markets. Some countries are only available as a group (Australasia, Nordics, Benelux…). Each keyword × region is one trend row.",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "CA",
                "GB+IE",
                "DE",
                "FR",
                "IT",
                "ES",
                "TR",
                "BR",
                "MX",
                "AR",
                "CO",
                "IN",
                "ID",
                "MY",
                "PH",
                "TH",
                "KR",
                "SA",
                "EG",
                "AU+NZ",
                "DE+AT+CH",
                "SE+DK+FI+NO",
                "NL+BE+LU",
                "IT+ES+PT+GR+MT",
                "PL+RO+HU+SK+CZ",
                "CY+CZ+GR+HU+MT+PL+RO+SK",
                "MX+AR+CO+CL",
                "CR+DO+EC+GT+PE",
                "AE+SA+KW+QA+OM+BH+EG+IQ+DZ",
                "IL+NG+PK+ZA+TR+MA+IN"
              ],
              "enumTitles": [
                "United States",
                "Canada",
                "Great Britain & Ireland",
                "Germany",
                "France",
                "Italy",
                "Spain",
                "Turkey",
                "Brazil",
                "Mexico",
                "Argentina",
                "Colombia",
                "India",
                "Indonesia",
                "Malaysia",
                "Philippines",
                "Thailand",
                "Korea",
                "Saudi Arabia",
                "Egypt",
                "Australasia (AU, NZ)",
                "Germanics (DE, AT, CH)",
                "Nordics (SE, DK, FI, NO)",
                "Benelux (NL, BE, LU)",
                "Southern Europe (GR, IT, MT, PT, ES)",
                "Eastern Europe (HU, PL, RO, SK, CZ)",
                "Eastern Europe & Mediterranean (CY, CZ, GR, HU, MT, PL, RO, SK)",
                "Hispanic LatAm (CL, CO, AR, MX)",
                "Latin America & Caribbean (CR, DO, EC, GT, PE)",
                "Middle East & North Africa (AE, SA, KW, QA, OM, BH, EG, IQ, DZ)",
                "Multi-Regional Markets (IL, NG, PK, ZA, TR, MA, IN)"
              ]
            },
            "default": [
              "US"
            ]
          },
          "trendHistory": {
            "title": "Trend history",
            "enum": [
              "1y",
              "2y"
            ],
            "type": "string",
            "description": "One year of weekly values (53 weeks), or two years (105 weeks, adds the year-over-year change).",
            "default": "1y"
          },
          "expandWithRelatedSearches": {
            "title": "Go deeper with Pinterest's related searches",
            "type": "boolean",
            "description": "When Pinterest runs out of results for a keyword before your limit, continue with the related searches Pinterest suggests for it (e.g. \"earthy boho living room\"). Rows from them carry the related search in relatedQuery. Duplicates are removed.",
            "default": false
          },
          "maxRelatedSearches": {
            "title": "Max related searches per keyword",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many of Pinterest's related searches to follow, in Pinterest's order.",
            "default": 5
          },
          "profilePins": {
            "title": "Profile pins",
            "enum": [
              "created",
              "saved",
              "none"
            ],
            "type": "string",
            "description": "Which pins to read for each profile: the pins it created (its Created tab), the pins it saved to its boards, or none (profile row only).",
            "default": "created"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default. The Actor moves to Apify residential proxy by itself if Pinterest blocks the requests (see the next option).",
            "default": {
              "useApifyProxy": true
            }
          },
          "autoProxyFallback": {
            "title": "Switch to Apify proxy when Pinterest blocks requests",
            "type": "boolean",
            "description": "On by default: datacenter proxy first, then residential proxy.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}