Scrape ASOS products and categories from all 12 storefronts, each in its own currency. Get prices, stock per size, variants, EAN barcodes, images, catwalk videos, ratings, reviews and saved counts, or every menu category from one storefront URL.
Records are billed through Apify pay-per-event: product (one per product, one per piece of a product group), category (one per category record), and three add-ons charged only for products that actually carry the extra — reviews, saved-count, other-colours. Each add-on matches an input switch, so switching an extra off also stops its charge.
A record is stored and charged in one step, so a record the budget no longer covers is never stored, and a retried request never stores or bills the same record twice.
When Max total charge is reached the Actor stops fetching and finishes SUCCEEDED, keeping everything already saved.
26/09/2026 — All categories of a storefront
Feat:
NEW storefront (https://www.asos.com/, https://www.asos.com/us/, ...) and department (/men/, /women/) start URLs: emit one category record per menu category — 540 in the UK store. The A–Z brand directories are not included; brand pages remain supported as category URLs.
Category records follow the spec's Collection shape (id, title, handle, description, productsCount) and add url, store, country, language, currency, department, every menu paths leading to the category, and the category page's refinement facets (brand, size, colour, price range, ... with product counts). They share the default dataset with products, like the fleet's Shopify collections, and have their own "Categories" view.
NEW input withCategoryProducts: also scrape every product of those categories, each product once however many categories list it. Off by default.
Where the menu links a category through a filtered view of another category (e.g. "Little Black Dresses" → Dresses filtered to black), the category's own id is authoritative; its own page is url and the menu link is menuUrl.
Changed:
Collection.publishedUTC / updatedUTC are optional: ASOS publishes neither for a category.
The dataset schema has no top-level required fields any more, since products and categories share it.
Docs:
The README opens with a hero banner in the fleet's style, generated with Codex from .actor/readme-hero-v1-brief.md and served from the key-value store asos-scraper-readme; AGENTS.md says how to replace it.
25/09/2026 — 2.0: full product data, every storefront
The 1.x actor had stopped working: every product and category request failed after ASOS changed its
services. 2.0 is a rebuild that restores scraping and adds much more product data.
Fix:
Products, product groups, categories and prices scrape again, with stock for every variant.
Each storefront is scraped in its own store, currency, language and size schema: /us/ URLs give USD and US sizes, /fr/ EUR, and so on. 1.x sent every URL as store ROW in GBP with country HK.
Product-group records now fill source.bundleIds, which 1.x declared but never populated.
Links inside the description HTML are absolute www.asos.com URLs in the product's storefront, as in 1.x.
A variant not sold in that store is reported out of stock at the product price, with extraInfo.hasStockRecord: false, instead of in stock at 0.
Feat:
NEW search URLs (/search/?q=…), and &page=N on category and search URLs to start from that page.
NEW per-variant gtin (EAN), and extraInfo with brand size, availability, Prop 65 flag, country of manufacture, stock timestamp, seller and fulfilment source.
NEW price detail: RRP (original), formatted texts, 30-day lowest price, marked-down / outlet / restocking-soon flags, price start time, currency.
NEWstats: star rating, rating distribution, recommended counts and percentage, fit/quality/comfort averages, AI review summary, and the saved-for-later count as lovesCount.
NEWreviews[]: the latest reviews (up to 100 per product) with rating, text, sub-ratings, badges, photos and videos.
NEWrelatedProducts[]: the other colours of the same style, with price and stock.
NEW media: flat-lay, spin-set and swatch images, catwalk videos, each linked to its colour (optionId) and variants.
NEWextraInfo: product code, gender, product type, fit type, size-guide URL, one-size/no-size flags, selling tags, buy-the-look ids, localised URLs and titles for every ASOS language, and — for products found through a listing — the category, position and listing badges (selling fast, new, promotion, sponsored).
NEW product-group members are full products (their own detail page, stock, reviews, saved count and colours), not the reduced group payload.
NEW inputs withReviews, maxReviewsPerProduct, withSavedCount, withOtherColours, maxRequestsPerCrawl.
Changed:
Migrated to Apify SDK 3 + Crawlee 3.18 on Node 22, with dataset and output schemas.
source.crawlUrl is always a public www.asos.com page URL (with cid when the product came from a category).
Feishu notifications are removed; Scraper Insight is the single monitoring channel.
The run fails when any request is still failing after its retries, instead of succeeding with missing products. Delisted products (404) are logged and skipped, not counted as failures.