The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days
Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.
Learn More
You receive files or an endpoint, not software to run. Output goes out as CSV, JSON, JSONL, XLSX or through an API you query on demand, in a schema agreed before the first crawl so downstream jobs are not rewritten with every delivery.
Delivery lands on S3 or Google Cloud Storage, over SFTP, by email, or straight into a database table you nominate. Schedules run from a monthly catalogue sweep to hourly passes over a watchlist of E-codes, and most clients split the two: a slow full crawl of the storefronts they care about, plus a narrow frequent run on the products that move money. Every run is checked at field level, so a category that suddenly returns nothing raises an alert here before it reaches your dashboard.
Fields keep UNIQLO's own naming, so the output maps back to what the storefront returned, not to a generic apparel schema. The set below is the usual starting point.
One export of uniqlo.com is a catalogue. The commercial value sits in the difference between two of them.
UNIQLO reissues goods numbers between seasons, so an E-code is not a stable key across years. A retired item does not disappear: /us/en/products/E445392-000/00 resolves to /us/en/products/E473944-000/00, and the details response marks the old record with productLifeCycleData.isDiscontinuedProduct and names the replacement in nextModelProducts. There is a query parameter that suppresses that redirect, but it is Disallowed in robots.txt, so we read the chain from the redirect itself. Stored run after run, that chain keeps one continuous price and stock history for a garment instead of a new product appearing every autumn.
Repetition also exposes timing. Discount windows carry effectiveTime start and end stamps, so scheduled runs record when a promotion opened, how deep it went, which colour-size rows it covered and whether it came back. Stock deltas between runs show sell-through, restocks on sizes that were dark for weeks, and the point where a colour is quietly withdrawn. Coverage moves too: UNIQLO's own US sitemap listed 1,935 product URLs on a recent read, and a share of those already answer with the API's 'Product states or representative L2 states is invalid' error, while codes that never existed return a real 404. Telling a withdrawn line apart from one that never launched needs history.
UNIQLO is the core brand of Fast Retailing and sells its LifeWear range through separate country storefronts on uniqlo.com, with mainland China served from www.uniqlo.cn. A storefront is a locale path, not its own domain, and the site behaves less like a set of pages than a keyed product database.
A PDP (product detail page) sits at /{region}/{lang}/products/{productId}/{priceGroup}, for example /us/en/products/E465185-000/00. The productId is an E-code: the letter E, a six-digit goods number, then a -000 suffix. The priceGroup is a two-digit code, and the same goods number can be live under 00, 01 and 02 as separate URLs with different prices, colour sets and flags. In testing, E465187-000/00 returned 88 colour-size SKUs at full price while E465187-000/01 returned 16 at a lower one. Keying on productId alone quietly discards the marked-down row.
Below it sits the L2 layer: a numeric l2Id per colour-size combination, carrying a communicationCode such as 465187-14-001-000 that encodes goods number, colour displayCode, size displayCode and PLD length code. Colours are COLxx, sizes SMAxxx, lengths PTBxxx, and l1Id identifies the listing row above them. Stock lives at L2, not on the product.
A PLP (product listing page) is infinite scroll: no ?page= parameter, no rel=next, canonical pointing at the clean category path. The grid is filled by offset-based calls to the storefront JSON API at /{region}/api/commerce/v5. PDP HTML is server rendered around a large window.__PRELOADED_STATE__ Redux blob holding pdp, review, entity, store, storeStock and taxonomies branches, with no JSON-LD product markup to fall back on.
Get a QuoteDevelopers
Customers worldwide
Pages extracted
Hours saved for our clients
€199 / one-time
setup fee - included
€169 / mo
setup fee €499
€229 / mo
setup fee €499
€349 / mo
setup fee €499
€549 / mo
setup fee €799
Retail teams use UNIQLO as a price anchor. It sets the reference point for basics in most markets it trades in, so a merchandiser pricing a fleece, a five-pocket trouser or a thermal base layer wants yesterday's number rather than last quarter's. Because prices are quoted per priceGroup, that comparison only holds if the clearance 01 row is captured next to the full-price 00 row.
Assortment analysts watch how the core lines move through the year: HEATTECH and Ultra Light Down building through autumn, AIRism through spring, UT Graphic Tees rotating with licensing drops, Uniqlo U arriving as a dated collection. Colour and size availability at l2Id level shows which sizes a market actually carries and which sell through first, which is the part a screenshot of a category page never gives you.
Cross-border sellers and marketplace operators price against the Japanese and Korean storefronts, where the same goods number can sit at a different level once currency and taxPolicy are normalised. Fit and product teams read the review fields - fit score, purchasedSize, heightRange, weightRange - to see how a garment is landing on real bodies in each market. Promotion analysts reconstruct the calendar from priceFlags and their effectiveTime windows.
Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.
Learn More
Daily scraping of lowest prices for 150K products on Allegro.pl to support marketplace pricing and margin optimization.
Learn More
Regular monitoring of Ralph Lauren clothing, footwear, and accessories sold across Amazon subdomains: AE, DE, ES, FR, IT, NL, PL, UK.
Learn MoreLearn how to use web scraping to solve data problems for your organization
If you sell online, run a marketplace, or advise e-commerce clients, you already know why eBay matters: it’s one of the few places where big retailers compete side by side with thousands of small merchants and private sellers.
E-commerce teams do not just need “some” competitor data anymore. They need a continuous stream of real prices, discounts, stock levels, reviews, and seller behavior from the platforms that actually shape their markets.
Amazon provides valuable information gathered in one place: products, reviews, ratings, exclusive offers, news, etc. So scraping data from Amazon will help solve the problems of the time-consuming process of extracting data from e-commerce.
ScrapeIt is a managed web scraping agency. We build the crawlers, run them on our own infrastructure, watch the output and repair them when a storefront changes its taxonomy IDs or its API contract.
Fashion retail is a steady part of that work, and UNIQLO shows why it rewards specialists: variant-level stock, per-market taxonomies, multi-currency and multi-tax pricing, seasonal recoding, and an endpoint that answers HTTP 200 on failure. Send us the storefronts and fields you need and we will scope it.
The storefront runs on a JSON API at /{region}/api/commerce/v5/{lang}/products, and the browser calls it openly, but it is an internal endpoint, not a documented partner API: no keys for third parties, no terms of use, no stability guarantee. It has hard edges too. limit is refused above 100 with 'limit must be a number between 0 and 100', and deep paging stops once offset plus limit passes 10000 - offset=9990&limit=10 succeeds, offset=9991 fails. Most non-US storefronts reject calls with 'invalid or missing client id' unless an x-fr-clientid header is sent, while the US, Japan and Korea sites answered without it in our testing. We build against it and monitor it as something that can change without notice.
We collect what UNIQLO publishes openly on a PDP: names, codes, prices, colours, sizes, stock status and review content. No accounts, no logins, nothing behind authentication, and no personal data beyond what the site itself shows on a review. We follow robots.txt - the parameter that suppresses the next-model redirect, for example, is Disallowed there and we do not use it. Where the line falls depends on your jurisdiction and on what you do with the data afterwards, so put the intended use past your own counsel. Scope, frequency and field selection can all be adjusted to fit the position they take.
Yes, because that is where UNIQLO keeps it. Availability is attached to the l2Id row, identified by a communicationCode like 465187-14-001-000, and comes back as stocks.statusCode with a quantity. A crawl that records only a product-level in-stock flag hides the fact that a colour is live but three sizes are gone. Runs compared against each other turn that into sell-through and restock signals per SKU. Where a storefront exposes Find in Store / Click and Collect, the store and storeStock branches can be crawled as well, so availability is reported per store rather than only online.
Two causes turn up repeatedly. Akamai Bot Manager fronts the domain and sets _abck, bm_sz, bm_s and bm_so cookies plus an akaas audience-segmentation cookie; in testing, requests carrying the default user-agent of curl, python-requests or Scrapy were dropped silently and simply hung, while the identical request with a browser user-agent returned 200. The second is error handling: the API answers HTTP 200 with a {"status":"nok"} body for most failures unless httpFailure=true is appended, so a pipeline that checks status codes alone files broken responses as good. We make no claim about defeating protection. We crawl at a considerate rate, validate response bodies rather than status lines, and tell you when a storefront stops answering instead of shipping thin data.
Each storefront is scoped as its own target, because almost nothing is shared between them: category IDs differ per region, taxPolicy differs, currency differs, and most non-US sites need the x-fr-clientid header before they answer at all. The US and EU sites, Uniqlo Japan and Uniqlo Korea are routine work; www.uniqlo.cn is a separate site with its own structure and is quoted on its own. Data arrives as CSV, JSON, JSONL, XLSX or an API, on a daily, hourly or custom schedule, pushed to S3, GCS, SFTP or a database table. Tell us the markets and fields and we will confirm coverage before quoting.
Step 1 - Make a Request
You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.
Step 2 - Configuring Custom Web Crawlers
Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.
Step 3 - Collect and Deliver
Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.
Step 4 - Maintain and Support
Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.
Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582