UNIQLO Scraper icon

UNIQLO Scraper

Scrape UNIQLO products across 21 country storefronts in local currency. Price with pre discount original price, per size and colour stock, images,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

UNIQLO Scraper at a glance

UNIQLO Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes unique key (country + product), product id, change type (incremental mode), product and department, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.90 per 1,000 results on the Apify Free plan and from $1.20 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Ecommerce, Automation, Developer Tools
Pricing
$1.90 per 1,000 results (Free plan), from $1.20 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
27 options

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.

What UNIQLO Scraper can do

  • 21 country storefronts, each a separate catalogue. The same product can carry a different price, a different set of colours and sizes, and a different review pool in every country. Prices come back in that storefront's own currency.
  • Two ways in. Search by keyword, category and native filters such as colour, size, promo label and price range, or paste product, category and search links and let the actor walk them forward through their pages.
  • Full detail on demand. Switch on fabric composition, care and washing text, the size chart link, category breadcrumbs, and the complete size and colour variant list with per variant price and stock, and pay a surcharge only for the products that actually carry it.
  • Real customer reviews, per country. Rating breakdown, a fit score, and individual reviews that carry the reviewer's purchased size and colour, which is the part most useful for fit analysis.
  • Built for schedules. Incremental mode returns only new and changed products on recurring runs, ratings and review counts are deliberately excluded from what counts as a change, and a genuinely blocked run fails loudly instead of returning an empty dataset.
  • Resume picks up where a run left off. Continue one interrupted run without paying again for products it already collected.

Choose what to collect

These inputs let you configure UNIQLO Scraper - 21 Countries, Variants and Reviews. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredSearch 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.

Choices: search, url

countrystringWhich UNIQLO storefront to scrape. Prices come back in that storefront's own currency and the assortment differs between countries.

Choices: us, uk, ca, au, de, fr, es, it, nl, be, se, dk, jp, kr, sg, my, th, ph, in, vn, id

languagestringTwo 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.
queriesarraySearch 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.
categoriesarrayCategory names as the storefront shows them, for example T-shirts, Coats or Jackets & Parkas (add a department word to narrow one, such as men coats). Category paths like men/tops/t-shirts and numeric category ids also work. A name that exists in several departments is scraped in each of them. A category that matches nothing is reported and never widened to the whole storefront. Combining keywords and categories scrapes every keyword inside every category.
colorsarrayKeep 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.
sizesarrayKeep only products available in these sizes. Leave empty for every size.
Show 20 more inputs
More input fields
InputWhat it controls
flagsarrayKeep only products carrying these storefront labels, for example only sale items or only new arrivals. Leave empty for everything.
minPriceintegerLowest price to keep, in the selected country's currency. Leave empty for no lower bound.
maxPriceintegerHighest price to keep, in the selected country's currency. Leave empty for no upper bound.
sortBystringHow the storefront orders results before this actor reads them.

Choices: recommended, best_sellers, newest, price_asc, price_desc, rating_desc

urlsarrayPaste 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.
fetchDetailsbooleanOn 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.
fetchReviewsbooleanOff 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.
maxReviewsPerProductintegerHow many individual reviews to return for each product. Only applies when Fetch customer reviews is on.
reviewsSortstringWhich reviews are returned first when the product has more reviews than the limit above.

Choices: newest, most_helpful, highest_rating

maxItemsintegerStop 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.
maxPagesintegerLeave 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.
resumeFromRunIdstringOptional. 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.
incrementalModebooleanTurn 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. UPDATED means a real change to what is compared: price and promo, sale flags, per-variant stock status (in stock or out), colours and sizes, and the other listing fields. Excluded, so they never cause UPDATED: ratings, review counts, rating breakdown, fit rating, the reviews list, exact stock unit counts, scrape time, which search found the product and its rank, and detail-only text (descriptions, composition, care). State is kept separately for each distinct search and filter setup, or by State key below.
stateKeystringOptional. 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.
emitUnchangedbooleanOff 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.
emitExpiredbooleanOff 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.
ignoreFieldsForChangesarrayOptional. Field names to exclude from UPDATED change detection, on top of the built-in exclusions (ratings, review counts, reviews, exact stock counts, scrape time). Use it if another top-level field in your setup turns out to be noisy. The field stays in the output; it just never makes a product UPDATED.
mcpConnectorsarrayOptionally 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).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

uniqueKeyUnique key (country + product) (text)
productIdProduct ID (text)
changeTypeChange type (incremental mode) (text)
nameProduct (text)
departmentDepartment (text)
countryNameCountry (text)
pricePrice (number)
originalPriceOriginal price (number)
discountPercentDiscount % (number)
currencyCurrency (text)
isOnSaleOn sale (boolean)
ratingRating (number)
Show 53 more fields
reviewCountReviews (number)
availabilityStatusAvailability (text)
mainImageImage (image)
urlURL (link)
changedFieldsChanged fields (incremental mode) (array)
firstSeenAtFirst seen (incremental mode) (date)
lastSeenAtLast seen (incremental mode) (date)
genderNameGender name (text)
genderCategoryGender category (text)
l1IdL1 id (text)
regionRegion (text)
langLang (text)
priceGroupPrice group (text)
promotionTextPromotion text (text)
ratingAverageRating average (number)
ratingCountRating count (number)
basePriceBase price (number)
promoPricePromo price (number)
isDualPriceIs dual price (boolean)
storeStockOnlyStore stock only (boolean)
scrapedAtScraped at (date)
anyInStockAny in stock (boolean)
colorCountColor count (number)
variantCountVariants (number)
inStockVariantCountIn stock (number)
availableColorsColors in stock (array)
availableSizesSizes in stock (array)
priceMinLowest variant price (number)
priceMaxHighest variant price (number)
variantsVariant rows (array)
colorsColors (array)
sizesSizes (array)
categoryPathCategory (text)
descriptionDescription (text)
compositionFabric composition (text)
careInstructionsCare (text)
washingInformationWashing (text)
designDetailsDesign details (text)
sizeChartUrlSize chart (link)
countriesOfOriginMade in (array)
ratingBreakdownRating breakdown (object)
fitRatingFit score (number)
reviewsReviews (array)
reviewIdreviewId
createdAtDate (date)
titleTitle (text)
textReview (text)
authorReviewer (text)
locationFrom (text)
purchasedSizeSize bought (text)
purchasedColorColour bought (text)
fitFeedbackFit (number)
helpfulCountHelpful (number)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "uniqueKey": "ca:E204871-000",
  "productId": "E204871-000",
  "styleCode": "204871",
  "name": "Ribbed Knit Cardigan",
  "url": "https://www.uniqlo.com/ca/en/products/E204871-000/01",
  "country": "ca",
  "countryName": "Canada",
  "language": "en",
  "department": "WOMEN",
  "categoryPath": "Women > Sweaters > Cardigans",
  "price": 39.9,
  "originalPrice": 59.9,
  "discountAmount": 20,
  "discountPercent": 33.4,
  "isOnSale": true,
  "currency": "CAD",
  "currencySymbol": "$",
  "availabilityStatus": "PARTIAL",
  "variantCount": 42,
  "inStockVariantCount": 31,
  "availableColors": [
    "BLACK",
    "BEIGE"
  ],
  "availableSizes": [
    "XS",
    "S",
    "M",
    "L",
    "XL"
  ],
  "priceMin": 39.9,
  "priceMax": 39.9,
  "rating": 4.3,
  "reviewCount": 216,
  "ratingBreakdown": {
    "one": 6,
    "two": 9,
    "three": 21,
    "four": 68,
    "five": 112
  },
  "fitRating": 2.9,
  "composition": "70% Acrylic, 30% Wool",
  "careInstructions": "Dry clean recommended",
  "washingInformation": "Hand wash cold, dry flat",
  "sizeChartUrl": "https://www.uniqlo.com/ca/en/size/204871_size.html",
  "mainImage": "https://image.uniqlo.com/UQ/ST3/ca/imagesgoods/204871/item/cagoods_09_204871_3x4.jpg",
  "flagCodes": [
    "discount"
  ],
  "isNew": false,
  "isBestSeller": false,
  "variants": [
    {
      "variantId": "01234567",
      "colorCode": "COL09",
      "colorName": "BLACK",
      "sizeCode": "SMA004",
      "sizeName": "M",
      "price": 39.9,
      "currency": "CAD",
      "stockStatus": "IN_STOCK",
      "stockStatusLabel": "In stock",
      "stockQuantity": 14,
      "inStock": true,
      "isReturnable": true
    }
  ],
  "reviews": [
    {
      "reviewId": 20000001,
      "rating": 4,
      "title": "Warm and cozy",
      "text": "Fits true to size and layers well over a shirt.",
      "author": "Sample Reviewer",
      "location": "Sample Province",
      "createdAt": "2026-09-02T00:00:00+00:00",
      "helpfulCount": 2,
      "fitFeedback": 3,
      "purchasedSize": "M",
      "purchasedColor": "09 BLACK"
    }
  ],
  "changeType": "NEW",
  "changedFields": [],
  "firstSeenAt": "2026-09-20T00:00:00+00:00",
  "lastSeenAt": "2026-09-20T00:00:00+00:00"
}

Ways to use this data

  • Price and stock monitoring: track price moves, sizes selling out and restocks across markets on a recurring schedule.
  • Cross market merchandising QA: compare assortment, pricing and promo labels for the same style across the 21 storefronts.
  • Fit and sizing research: mine reviews for fit feedback plus the reviewer's purchased size and colour.
  • Sale and promotion tracking: capture the pre discount price, discount amount and discount percent whenever an item goes on sale.
  • Catalog and content feeds: build a product feed with images, fabric composition and care instructions for a marketplace, app or comparison site.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does UNIQLO Scraper return?

The documented output for UNIQLO Scraper includes unique key (country + product), product id, change type (incremental mode), product, department, country, price and original price. Availability of each field depends on the source page and the selected mode.

How much does UNIQLO Scraper cost?

It costs $1.90 per 1,000 results on the Apify Free plan and from $1.20 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed products on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only NEW and UPDATED products by default; REAPPEARED only appears once an earlier run with Emit expired on had completed a full scan and marked the product EXPIRED. Unchanged products are suppressed and not billed unless you turn on Emit unchanged.

Why do pasted product links already show description text even with Fetch product details off?

Building a record for a pasted product link needs one read of that product's own detail page, so description, fabric composition, care and washing text, breadcrumbs and the size chart link are filled in regardless of the toggle. What the toggle still controls, even on a pasted link, is the size and colour variant list with per variant stock and the pre discount price on sale items, and the surcharge is only charged when the toggle causes that extra enrichment work. Leave it off on a pasted product link to get those description fields at no extra charge.

Why did my run fail instead of returning an empty dataset?

If every request needed to read the catalogue, whether search pages or the category list, is refused, the run fails with a clear message instead of reporting a successful empty result, so a connection problem is never mistaken for an empty search. A genuinely empty search, or an incremental run where nothing changed, still completes normally with zero rows and a status message that says so.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push a summary of each product into Notion, Linear or Airtable.

Ready to collect with UNIQLO Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.