{
  "openapi": "3.0.1",
  "info": {
    "title": "Naver Shopping Product Detail Scraper (네이버쇼핑) - Specs",
    "description": "Scrape complete Naver Shopping product data by link or ID: price, discount, stock, specification tables, every seller's price, six months of price history, images, category path and the seller's own product record. Works with price-comparison and store links alike. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "fmidS0cCgpsWQpuPc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~naver-product-detail-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-naver-product-detail-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/zen-studio~naver-product-detail-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-naver-product-detail-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/zen-studio~naver-product-detail-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-naver-product-detail-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",
        "required": [
          "productUrls"
        ],
        "properties": {
          "productUrls": {
            "title": "Product links or IDs (상품 링크·상품번호)",
            "type": "array",
            "description": "Paste any Naver Shopping product link. Both kinds work: a <b>price-comparison</b> link (<code>search.shopping.naver.com/catalog/…</code>) and a <b>store</b> link (<code>smartstore.naver.com/…</code> or <code>brand.naver.com/…</code>). Bare ID numbers work too. <b>Max 1,000 per run</b>; longer lists are trimmed, so split them across runs. Duplicates are removed. <b>Search ID from an export?</b> Some ID numbers (for example the <code>productId</code> in a Naver Open API export) are search IDs, which do not open a product on their own. Add the product name after a <code>|</code> and it is usually found: <code>91171893265|라네즈 립 슬리핑 마스크</code>. Use the listing's own title. Many IDs resolve on their own; add the name when a run says it could not match one.",
            "items": {
              "type": "string"
            }
          },
          "includeSellers": {
            "title": "Include all sellers and their prices (판매처별 가격)",
            "type": "boolean",
            "description": "Also collect every seller offering this product, with each one's price, delivery fee and rating. Available for <b>price-comparison</b> products, which are the ones that have competing sellers at all.",
            "default": false
          },
          "maxSellersPerProduct": {
            "title": "Max sellers per product (상품당 최대 판매처 수)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many sellers to collect for each product, cheapest first.",
            "default": 30
          },
          "includePriceHistory": {
            "title": "Include price history (가격 변동 이력)",
            "type": "boolean",
            "description": "Also collect roughly six months of price movement for this product, so you can see whether today's price is actually a low.",
            "default": false
          },
          "includeSellerRecord": {
            "title": "Seller's full product record (판매자 상품정보)",
            "type": "boolean",
            "description": "Also collect the seller's own filing for the product: the mandated disclosure table (materials, size, origin, manufacturer, warranty), delivery-speed statistics, after-sales terms and the option/SKU table. Available for <b>brand store</b> products. This is a slower call, so it adds run time.",
            "default": false
          },
          "includeReviewStats": {
            "title": "Review score breakdown (별점 분포)",
            "type": "boolean",
            "description": "Adds how the product's reviews split across 1 to 5 stars, plus how many have photos, videos, plain text, and how many were written after a month of use. Available for products sold through a Naver store.",
            "default": true
          },
          "includeAiSummary": {
            "title": "Naver AI summary (AI 요약)",
            "type": "boolean",
            "description": "Adds Naver's own AI digest of the product and its reviews: a one-line summary, who it suits, its highlighted features, and what reviewers agree on. Available for products with at least ten reviews. This text is generated, so it can change between runs.",
            "default": false
          },
          "includeReviews": {
            "title": "Include customer reviews (구매평)",
            "type": "boolean",
            "description": "Also collect customer reviews for each product, written to a separate <b>reviews</b> dataset and linked back by product ID. For review-heavy work (thousands per product, deep paging, filtering) the <b>Naver Shopping Review Scraper</b> is the better tool.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product (상품당 최대 구매평 수)",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "How many reviews to collect for each product. Price-comparison products serve at most <b>10,000</b> per review order; store products have no such limit. Set <b>0</b> to skip reviews.",
            "default": 20
          },
          "reviewSort": {
            "title": "Review order (구매평 정렬)",
            "enum": [
              "RANKING",
              "RECENT"
            ],
            "type": "string",
            "description": "Which reviews to collect first. <b>Newest first</b> reaches a completely different set from <b>Top ranked</b>.",
            "default": "RANKING"
          },
          "reviewType": {
            "title": "Review type (구매평 유형)",
            "enum": [
              "ALL",
              "PHOTO",
              "VIDEO",
              "QUALITY"
            ],
            "type": "string",
            "description": "Limit reviews to a particular kind. <b>Detailed reviews</b> returns the ones the source itself scores highest for usefulness.",
            "default": "ALL"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}