{
  "openapi": "3.0.1",
  "info": {
    "title": "UNIQLO Scraper: 21 Countries, Variants and Reviews",
    "description": "Scrape UNIQLO products across 21 country storefronts in local currency. Price with pre discount original price, per size and colour stock, images, fabric and care, breadcrumbs, ratings and full reviews. Search by keyword, category and native filters, or paste product and category links.",
    "version": "1.0",
    "x-build-id": "bgb3rCj7b7d7uzmrm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~uniqlo-com-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-uniqlo-com-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~uniqlo-com-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-uniqlo-com-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~uniqlo-com-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-uniqlo-com-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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "Search mode builds catalogue searches from the country, keywords, categories and filters below. URL mode takes links you paste (product pages, category pages, search pages) and walks them.",
            "default": "search"
          },
          "country": {
            "title": "Country",
            "enum": [
              "us",
              "uk",
              "ca",
              "au",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "be",
              "se",
              "dk",
              "jp",
              "kr",
              "sg",
              "my",
              "th",
              "ph",
              "in",
              "vn",
              "id"
            ],
            "type": "string",
            "description": "Which UNIQLO storefront to scrape. Prices come back in that storefront's own currency and the assortment differs between countries.",
            "default": "us"
          },
          "language": {
            "title": "Language (optional)",
            "type": "string",
            "description": "Two letter language code for product names and descriptions. Leave empty to use the country's own default language, which is what almost every run wants."
          },
          "queries": {
            "title": "Keywords",
            "type": "array",
            "description": "Search keywords, one per line. Each keyword is scraped as its own search. Leave empty to browse categories instead, or leave both empty to walk the whole storefront.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Category paths as they appear in a storefront link, for example men/tops/t-shirts or women/outerwear-and-blazers/coats. A numeric category id also works. Combining keywords and categories scrapes every keyword inside every category.",
            "items": {
              "type": "string"
            }
          },
          "colors": {
            "title": "Colors",
            "type": "array",
            "description": "Keep only products available in these colour families. Each family covers every shade the storefront groups under it, so Blue includes navy and light blue. Leave empty for every colour.",
            "items": {
              "type": "string",
              "enum": [
                "WHITE",
                "GRAY",
                "BLACK",
                "PINK",
                "RED",
                "ORANGE",
                "BEIGE",
                "BROWN",
                "YELLOW",
                "GREEN",
                "BLUE",
                "PURPLE",
                "OTHER"
              ],
              "enumTitles": [
                "White",
                "Gray",
                "Black",
                "Pink",
                "Red",
                "Orange",
                "Beige",
                "Brown",
                "Yellow",
                "Green",
                "Blue",
                "Purple",
                "Other colours"
              ]
            }
          },
          "sizes": {
            "title": "Sizes",
            "type": "array",
            "description": "Keep only products available in these sizes. Leave empty for every size.",
            "items": {
              "type": "string",
              "enum": [
                "XXS",
                "XS",
                "S",
                "M",
                "L",
                "XL",
                "XXL",
                "3XL",
                "kids-110",
                "kids-120",
                "kids-130",
                "kids-140",
                "kids-150",
                "kids-160",
                "baby-80",
                "baby-90",
                "baby-100"
              ],
              "enumTitles": [
                "XXS",
                "XS",
                "S",
                "M",
                "L",
                "XL",
                "XXL",
                "3XL",
                "Kids 3 to 4 years (110)",
                "Kids 5 to 6 years (120)",
                "Kids 7 to 8 years (130)",
                "Kids 9 to 10 years (140)",
                "Kids 11 to 12 years (150)",
                "Kids 13 years (160)",
                "Baby 12 to 18 months (80)",
                "Baby 18 to 24 months (90)",
                "Baby 3 years (100)"
              ]
            }
          },
          "flags": {
            "title": "Promotions and product labels",
            "type": "array",
            "description": "Keep only products carrying these storefront labels, for example only sale items or only new arrivals. Leave empty for everything.",
            "items": {
              "type": "string",
              "enum": [
                "sale",
                "new",
                "new_color",
                "limited_offer",
                "app_member_offer",
                "coming_soon",
                "pre_order",
                "unisex",
                "recycled_materials",
                "select_colors_sizes"
              ],
              "enumTitles": [
                "Sale",
                "New arrival",
                "New color",
                "Limited time offer",
                "Online and app only offer",
                "Coming soon",
                "Pre order",
                "Unisex",
                "Made with recycled materials",
                "Select colors and sizes only"
              ]
            }
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to keep, in the selected country's currency. Leave empty for no lower bound."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to keep, in the selected country's currency. Leave empty for no upper bound."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "recommended",
              "best_sellers",
              "newest",
              "price_asc",
              "price_desc",
              "rating_desc"
            ],
            "type": "string",
            "description": "How the storefront orders results before this actor reads them.",
            "default": "recommended"
          },
          "urls": {
            "title": "Storefront links",
            "type": "array",
            "description": "Paste product pages, category pages or search pages, one per line. Multi URL is supported. Category and search links are walked forward through their pages; a product link returns that single product. The country, language and any filters already in the link are used, so the search mode fields above are ignored.",
            "items": {
              "type": "string"
            }
          },
          "fetchDetails": {
            "title": "Fetch product details and variants",
            "type": "boolean",
            "description": "On by default. Adds the description, fabric composition, care and washing text, size chart link, category breadcrumbs, and the full size and colour variant list with per variant price and stock. Also fills in the pre discount price for products that are on sale. Adds one surcharge event per product returned.",
            "default": true
          },
          "fetchReviews": {
            "title": "Fetch customer reviews",
            "type": "boolean",
            "description": "Off by default. Adds the rating breakdown, the fit score, and individual reviews with rating, title, text, author, location, date, helpful count and the reviewer's purchased size and colour. Products with no reviews come back with an empty review list. Adds one surcharge event per product returned.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many individual reviews to return for each product. Only applies when Fetch customer reviews is on.",
            "default": 20
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "newest",
              "most_helpful",
              "highest_rating"
            ],
            "type": "string",
            "description": "Which reviews are returned first when the product has more reviews than the limit above.",
            "default": "newest"
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many products. This is the limit that controls the run; set 0 for no limit. In incremental mode this counts products read from the catalogue, including ones that are then suppressed because nothing changed.",
            "default": 20
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "Leave at 0 for no page limit: the run stops at Max products, or when the storefront runs out of results. Set a number only when you want to cut a search short.",
            "default": 0
          },
          "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 datasets for the full set. Max products then counts only the new products. 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. The first run returns every matching product as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED products, where UPDATED means a real change such as a price move or a size selling out. Ratings and review counts drift on their own and are deliberately not treated as changes. State is kept separately for each 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 search and filter settings, so different searches never mix state."
          },
          "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 listed, marked EXPIRED. Only produced once a run has fully scanned the tracked search, so not when Max products or Max pages capped it, not when a page was refused, and not when Resume was used. This returns, and bills, extra rows.",
            "default": false
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Connection settings for the run. The default Apify proxy is recommended.",
            "default": {
              "useApifyProxy": true
            }
          },
          "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 plus 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}