{
  "openapi": "3.0.1",
  "info": {
    "title": "Pinterest Scraper — Pins, Boards, Search, Products",
    "description": "Public Pinterest pins from keyword search, boards, sections, profiles and pin links. No login. Images in all sizes, video, outbound link and domain, saves, board and pinner info, product price when shown. Only-new alert mode. Status row per input; failed inputs are free.",
    "version": "0.1",
    "x-build-id": "AEdd641TA0Il5aWak"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dottti~pinterest-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dottti-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/dottti~pinterest-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dottti-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/dottti~pinterest-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dottti-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 to search on Pinterest, in any language. Examples: boho living room, ديكور غرفة نوم, summer dress. You can also paste a Pinterest search link. You get the pins in Pinterest's order (position 1 = top result).",
            "items": {
              "type": "string"
            }
          },
          "boardUrls": {
            "title": "Board links",
            "type": "array",
            "description": "Pinterest boards or board sections. Examples: https://www.pinterest.com/IKEAUSA/living-rooms/, https://www.pinterest.com/sephora/makeup/eyes/ or IKEAUSA/living-rooms. You get one board row and its pins.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profiles",
            "type": "array",
            "description": "Pinterest usernames or profile links. Examples: ikeausa, https://www.pinterest.com/marthastewart/. You get one profile row (name, website, follower count, pin count, monthly views) and the pins the account created, newest first. Follower lists are never collected.",
            "items": {
              "type": "string"
            }
          },
          "pinUrls": {
            "title": "Pin links",
            "type": "array",
            "description": "Single pins. Examples: https://www.pinterest.com/pin/252834966578398817/, a pin.it short link, or just the pin number. You get the full pin with saves, repins, comments count, video and product data when shown.",
            "items": {
              "type": "string"
            }
          },
          "maxPinsPerInput": {
            "title": "Max pins per input",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Most pins to return for each keyword, board or profile. Pinterest pages 25 pins at a time.",
            "default": 50
          },
          "searchType": {
            "title": "Search for",
            "enum": [
              "pins",
              "videos"
            ],
            "type": "string",
            "description": "Pins returns all pin types. Videos returns only video pins.",
            "default": "pins"
          },
          "includePinDetails": {
            "title": "Add full pin details",
            "type": "boolean",
            "description": "For board and profile pins, fetch each pin's own page data too: repin count, comment count, MP4 video link, hashtags and product price when shown. One extra request per pin, so runs take longer. Search pins and pin links already include what Pinterest shows logged out.",
            "default": false
          },
          "includeSourceDetails": {
            "title": "Include profile and board rows",
            "type": "boolean",
            "description": "Adds one row per profile (name, about, website, follower count, pin and board counts, monthly views) and one row per board (name, description, pin count, follower count, owner). Each counts as one result.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new pins (alert mode)",
            "type": "boolean",
            "description": "Remembers which pins each keyword, board, profile and pin returned last time and delivers only new pins on the next run. Schedule the actor to get alerts. The first run delivers everything and saves the baseline. Profile and board rows are skipped in this mode. You pay only for new rows.",
            "default": false
          },
          "stateName": {
            "title": "Alert state name",
            "type": "string",
            "description": "Name of the saved state for Only new pins. Use a different name for each watchlist or schedule.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "Parallel inputs",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many keywords, boards, profiles or pins to fetch at once.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave empty for the automatic ladder: no proxy first, then Apify datacenter, then residential only if Pinterest blocks. Set a proxy here to force it."
          },
          "autoProxyFallback": {
            "title": "Automatic proxy fallback",
            "type": "boolean",
            "description": "Move to a proxy when Pinterest blocks direct requests.",
            "default": true
          },
          "allowResidentialFallback": {
            "title": "Allow residential proxy as last step",
            "type": "boolean",
            "description": "Residential proxy costs more platform credit. Turn off to stop at datacenter.",
            "default": true
          },
          "maxRetries": {
            "title": "Max retries per request",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Retries per request with growing waits when Pinterest answers 429 or 5xx.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}