{
  "openapi": "3.0.1",
  "info": {
    "title": "Pinterest Pins Videos Search Scraper By Keyword",
    "description": "Pinterest Pins Videos Search Scraper by Keyword extracts Pinterest video pins matching keywords, including titles, descriptions, pin URLs, video links, creators, boards, engagement metrics, hashtags, and timestamps. Ideal for video research, trend discovery, and competitor analysis.",
    "version": "0.1",
    "x-build-id": "tRy9ckyZhtJLmT5dI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~pinterest-pins-videos-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-pinterest-pins-videos-search-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-pins-videos-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-pinterest-pins-videos-search-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-pins-videos-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-pinterest-pins-videos-search-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": {
          "seedKeywords": {
            "title": "🔑 Seed Keywords, Search URLs, or Usernames",
            "type": "array",
            "description": "List of Pinterest search keywords, profile URLs, or usernames to mine for pins + keyword/SEO signals. Supports bulk input. (Also accepts the base field name `searchTerms`.) Example: [\"home decor\", \"cat\"]",
            "items": {
              "type": "string"
            }
          },
          "maxPinsPerKeyword": {
            "title": "📌 Max Pins per Seed Keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of pins to scrape per seed keyword (1-1000). (Also accepts the base field name `maxItems`.) Default 50. (No schema `default` here on purpose, so the `maxItems` fallback isn't shadowed by an auto-filled value.)"
          },
          "pinFormatFilter": {
            "title": "🎥 Pin Format Filter",
            "enum": [
              "All",
              "Videos"
            ],
            "type": "string",
            "description": "Filter results: All (pins + videos) or Videos only. (Also accepts the base field name `filtre`.) (No schema `default` here on purpose, so the `filtre` fallback isn't shadowed by an auto-filled value.)"
          },
          "expandKeywords": {
            "title": "🔍 Expand Seed Keywords into Related Search Suggestions",
            "type": "boolean",
            "description": "For each seed keyword, fetch related search-suggestion terms from Pinterest's own autocomplete (AdvancedTypeaheadResource) — plain suggestion text only (no volume/rank stats exist on this endpoint, so none are fabricated). Suggestions are saved as their own rows (type=\"keyword_suggestion\"). Default true.",
            "default": true
          },
          "seedKeywordCount": {
            "title": "🔢 Max Related Suggestions per Seed Keyword",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of related-keyword suggestions to keep per seed keyword when Keyword Expansion is on. Example: seedKeywordCount=20 + 3 seed keywords → up to 60 suggestion rows. Default 20.",
            "default": 20
          },
          "extractHashtags": {
            "title": "#️⃣ Extract Hashtags from Pin Title/Description",
            "type": "boolean",
            "description": "Parse real hashtags (#tag) directly out of each pin's own title and description text — zero extra requests. Adds `hashtags` (list) and `hashtagCount` to every pin row. Default true.",
            "default": true
          },
          "includeSeoMetrics": {
            "title": "📊 Include Locally-Derived SEO Metrics",
            "type": "boolean",
            "description": "Add locally-computed, real (never fabricated) SEO metrics to every pin row: titleLength, descriptionLength, hasAltText (whether Pinterest's own seo_alt_text was present on the node). All computed from fields already read by the scraper — no extra requests. Default true.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "Choose which proxies to use. By default, no proxy is used. If Pinterest blocks the request, it automatically falls back to datacenter proxy, then residential proxy with 3 retries."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}