{
  "openapi": "3.0.1",
  "info": {
    "title": "ZOZOTOWN - Japan Fashion Products, Variants & Reviews",
    "description": "Scrape ZOZOTOWN (zozo.jp), Japan's largest fashion marketplace: name, brand, JPY price with was-price and discount, per-size and per-colour stock, materials, size charts, shipping, images and reviews with star breakdown. Search by keyword, brand, shop or category, or paste product and listing links.",
    "version": "1.0",
    "x-build-id": "Dpaz0uThoWBWTC6wh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~zozotown-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-zozotown-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/abotapi~zozotown-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-zozotown-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/abotapi~zozotown-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-zozotown-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "Choose Search to look products up on the site, or URL to scrape links you paste yourself.",
            "default": "search"
          },
          "queries": {
            "title": "Keywords",
            "type": "array",
            "description": "Keywords to search, in Japanese or English, for example ワンピース or nike. Each keyword is searched on its own.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "brandSlug": {
            "title": "Brand",
            "type": "string",
            "description": "Browse one brand's whole catalogue, using the brand name as it appears in the site's own brand links, for example nike or adidas. Leave empty to skip."
          },
          "shopSlug": {
            "title": "Shop",
            "type": "string",
            "description": "Browse one shop's whole catalogue, using the shop name as it appears in the site's own shop links, for example nike. Leave empty to skip."
          },
          "categoryPath": {
            "title": "Category",
            "type": "string",
            "description": "Browse one category, using the site's own category path, for example shoes/sneakers or tops/tshirt-cutsew. Leave empty to skip."
          },
          "urls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Links to scrape: product pages (zozo.jp/shop/<shop>/goods/<id>/), or brand, shop, category and search result pages.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "popular",
              "newest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Order results the way the site orders them.",
            "default": "popular"
          },
          "gender": {
            "title": "Department",
            "enum": [
              "any",
              "men",
              "women",
              "kids"
            ],
            "type": "string",
            "description": "Limit to one department. Applies to brand and category browsing; keyword search covers all departments.",
            "default": "any"
          },
          "color": {
            "title": "Colour",
            "enum": [
              "any",
              "white",
              "black",
              "grey",
              "brown",
              "beige",
              "green",
              "blue",
              "purple",
              "yellow",
              "pink",
              "red",
              "orange",
              "silver",
              "gold"
            ],
            "type": "string",
            "description": "Keep only products available in one colour family.",
            "default": "any"
          },
          "priceType": {
            "title": "Price type",
            "enum": [
              "any",
              "sale",
              "proper"
            ],
            "type": "string",
            "description": "Keep only discounted products, or only full-price products.",
            "default": "any"
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used"
            ],
            "type": "string",
            "description": "New products, or the site's pre-owned range.",
            "default": "any"
          },
          "sellType": {
            "title": "Availability type",
            "enum": [
              "any",
              "normal",
              "preorder"
            ],
            "type": "string",
            "description": "Regular products, or products sold as pre-orders.",
            "default": "any"
          },
          "includeOutOfStock": {
            "title": "Include sold-out products",
            "type": "boolean",
            "description": "Off by default, matching the site, which shows in-stock products only. Turn on to also return sold-out products.",
            "default": false
          },
          "giftWrappingOnly": {
            "title": "Gift wrapping available only",
            "type": "boolean",
            "description": "Keep only products the shop can gift-wrap.",
            "default": false
          },
          "couponOnly": {
            "title": "Coupon eligible only",
            "type": "boolean",
            "description": "Keep only products a shop coupon applies to.",
            "default": false
          },
          "minPrice": {
            "title": "Minimum price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only products at or above this price. The site offers no price filter of its own, so this is applied to results after they are fetched."
          },
          "maxPrice": {
            "title": "Maximum price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only products at or below this price. The site offers no price filter of its own, so this is applied to results after they are fetched."
          },
          "fetchDetails": {
            "title": "Fetch product details",
            "type": "boolean",
            "description": "Read each product's own page for description, materials, country of origin, product code, size chart, per-size and per-colour stock, shipping fee and full category path. Adds one request per product and charges the Detail enrichment event once per product returned.",
            "default": false
          },
          "fetchReviews": {
            "title": "Fetch customer reviews",
            "type": "boolean",
            "description": "Also collect customer reviews for each product: star rating, title, review text, date, the exact colour and size the reviewer bought, their size and fit answer, and how many people reacted to the review, plus the average rating and the star breakdown. Requires Fetch product details. Charges the Review enrichment event once per product returned with reviews.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on reviews collected per product when Fetch customer reviews is on. Use 0 for every available review.",
            "default": 20
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of products saved across all keywords and links. This is the run's cap. Set 0 for no limit.",
            "default": 20
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "Leave empty for unlimited: this does not cap the run, the run stops at Max products. Set a number only to stop each search after that many result pages."
          },
          "resumeFromRunId": {
            "title": "Resume from a previous run (delta)",
            "type": "string",
            "description": "Optional. ID of a previous run of this actor, or a dataset ID. Products already in that dataset are skipped, so this run returns only NEW products. Combine both runs' datasets for the full set. For recurring monitoring of the same search, use Incremental mode below instead."
          },
          "incrementalMode": {
            "title": "Incremental changes for scheduled runs",
            "type": "boolean",
            "description": "Turn this on for daily or recurring monitoring of the same search or links. The first run returns all matching products as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED products. Turn on Emit unchanged or Emit expired only when you also want those products returned, and billed. State is kept separately per distinct search and filter setup, or by State key below.",
            "default": false
          },
          "stateKey": {
            "title": "State key (optional, incremental mode only)",
            "type": "string",
            "description": "Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently configured runs. Leave empty to let the actor derive a key from your mode, search and filter settings, so different searches never mix state with each other."
          },
          "emitUnchanged": {
            "title": "Emit unchanged products (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return products that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you want the full snapshot every run.",
            "default": false
          },
          "emitExpired": {
            "title": "Emit expired products (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return products that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max products or Max pages capped it, a connection problem stopped it early, or Resume was used. This returns, and bills, extra synthetic rows.",
            "default": false
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The site serves visitors in Japan only and turns other connections away, so a Japanese residential connection is required. Keep the default unless you have your own Japan based pool.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "JP"
            }
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify -> Settings -> Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON; the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
          },
          "notionParentPageUrl": {
            "title": "Notion parent page (Notion connector only)",
            "type": "string",
            "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
          },
          "maxNotifyListings": {
            "title": "Max items to export per connector",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on items written to each connector per run. Does not affect the dataset.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}