ROMWE Scraper avatar

ROMWE Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
ROMWE Scraper

ROMWE Scraper

Scrape ROMWE (us.romwe.com) product listings - search by keyword or fetch full product detail by URL. Prices, images, ratings, attributes. No login required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

23 days ago

Last modified

Share

Scrape ROMWE — the global fast-fashion dropship marketplace. Search products by keyword, browse a catalog category, or fetch full product detail by URL: prices, discounts, ratings, images, and attributes. No login, no cookies, no residential proxy required.

What this actor does

  • Three modes: search (keyword search with sort + price/rating filters), byCategory (browse a curated or custom catalog category), and byUrl (fetch specific product pages directly)
  • Full pricing: retail price, sale price, discount percentage, currency symbol
  • Ratings: review count and average rating (when available)
  • Media: main image plus full image gallery
  • Attributes: color, size, pattern, and other product-specific attributes
  • Empty fields are omitted — every record only contains fields that were actually extracted

Modes

Search (mode: "search")

Search ROMWE's catalog by free-text keyword (searchQuery), e.g. "phone case", "summer dress", "sneakers". Supports sorting (sortBy) and price/rating filters. Price (salePrice/retailPrice/discountPercent) is always populated straight from the listing page. When enrichWithPrice is on (default), each result is additionally enriched with a full detail-page fetch so rating/full-resolution images/attributes are populated too; turn it off for a faster, lighter-weight run that still includes price but skips the extra fetch.

By Category (mode: "byCategory")

Browse a ROMWE catalog category and page through it like a shopper would. Pick from 33 curated categories (categoryUrl, e.g. Women Clothing, Men Denim, Shoes, Jewelry & Watches) or supply any ROMWE .../<name>-c-<id>.html category URL via categoryUrls. Supports the same sortBy and price/rating filters as search.

By URL (mode: "byUrl")

Fetch one or more specific product pages directly by URL (productUrls) — useful when you already have product links and want full detail without searching.

Output fields

FieldDescription
productIdNumeric ROMWE goods ID
titleProduct title
skuROMWE SKU / goods_sn
sourceUrlCanonical product page URL (emitted as productUrl instead when mode=search/byCategory and enrichWithPrice is turned off, since no detail-page fetch happens in that fast path)
retailPriceList price (USD)
salePriceCurrent sale price (USD)
discountPercentDiscount off retail price
currencySymbolCurrency symbol (e.g. $)
reviewCountNumber of reviews (when > 0)
ratingAverage rating 0-5 (when reviews exist)
brandBrand name (when set)
rewardPointsROMWE loyalty points earned on purchase (mode=byUrl, or search/byCategory with enrichWithPrice)
descriptionShort SEO description
imageUrlPrimary product image
imageUrls[]Full image gallery
attributes[]{name, value} pairs (color, size, pattern, ...)
availableColors[]Other color variants of this product — {color, productId, productUrl, isCurrent}
availableSizes[]Size/fit variants this product is sold in (e.g. phone-case models, clothing sizes) — {size, inStock} (mode=byUrl, or search/byCategory with enrichWithPrice)
sizeChart[]Body-measurement size chart published by ROMWE for apparel — {size, measurements: {bust, waistSize, hipSize, length, ...}, part} (part only present on multi-part sets, e.g. a top+pants set with separate charts per piece; measurement keys vary by garment type). Naturally omitted for non-apparel items (mode=byUrl, or search/byCategory with enrichWithPrice)
categoryCategory name (top-level ancestor)
categoryIdCategory ID (of the product's own leaf category)
categoryPath[]Full category breadcrumb from root to the product's own leaf category, e.g. ["Women Apparel", "Women Plus Clothing", "Plus Size Dresses"] (mode=byUrl, or search/byCategory with enrichWithPrice)
inStockBoolean stock status
isOnSaleBoolean sale flag
freeReturnEligibleBoolean — whether ROMWE marks the product as eligible for free returns (mode=byUrl, or search/byCategory with enrichWithPrice)
recordTypeAlways "product"
scrapedAtUTC ISO timestamp

Input

FieldTypeDefaultDescription
modestringsearchsearch / byCategory / byUrl
searchQuerystringphone caseFree-text keyword (mode=search)
categoryUrlselectCurated category (mode=byCategory)
categoryUrlsarrayCustom ROMWE category URLs (mode=byCategory)
productUrlsarrayFull ROMWE product page URLs (mode=byUrl)
sortBystringrecommendrecommend / priceAsc / priceDesc / newIn (mode=search/byCategory)
minPrice / maxPricenumberSale-price range (USD)
minRatingnumberMinimum average rating 0-5 (products with no reviews yet always pass)
inStockOnlybooleanfalseOnly emit products currently in stock (works with or without enrichWithPrice; always available for byUrl)
onSaleOnlybooleanfalseOnly emit products currently discounted
freeReturnOnlybooleanfalseOnly emit products eligible for free returns (requires enrichWithPrice for search/byCategory; always available for byUrl)
enrichWithPricebooleantrueFetch full product detail (rating/full-res images/attributes) for each search/byCategory result (mode=search/byCategory)
maxItemsint24Hard cap on emitted records (1-500)
proxyConfigurationobjectApify Proxy (auto)Used only after detail-page fetches hit 3+ consecutive soft-404s; leave default unless runs are consistently affected

Example: keyword search with enrichment

{
"mode": "search",
"searchQuery": "summer dress",
"sortBy": "priceAsc",
"minPrice": 10,
"maxPrice": 40,
"maxItems": 30
}

Example: fast lightweight search (no detail-page fetch)

{
"mode": "search",
"searchQuery": "sneakers",
"enrichWithPrice": false,
"maxItems": 50
}

Example: browse a curated category

{
"mode": "byCategory",
"categoryUrl": "https://us.romwe.com/Shoes-c-2586.html",
"sortBy": "newIn",
"inStockOnly": true,
"maxItems": 40
}

Example: fetch specific products by URL

{
"mode": "byUrl",
"productUrls": [
"https://us.romwe.com/Some-Product-Name-p-2979580.html"
]
}

Use cases

  • Dropship & fast-fashion resellers — track ROMWE catalog pricing and stock for sourcing decisions
  • Price monitoring — watch sale/discount fluctuations on specific products or categories
  • Trend research — scan "newIn" listings across categories for emerging styles
  • Market research — compare attributes, ratings, and pricing across competitor fast-fashion catalogs
  • Catalog aggregation — bulk-export product data for a comparison shopping site

Limitations

  • Reviews/ratings are only present on records where ROMWE has published at least one review; new listings are shipped without reviewCount/rating rather than a 0 sentinel.
  • Regional pricing (non-US storefronts) is out of scope for v1 — all prices are USD via us.romwe.com.
  • freeReturnOnly can only be determined from a per-product detail-page fetch (unlike price/stock, which the search/category listing already carries), so the actor walks a deeper candidate queue and gives up later than for price-only filters when few matches are found. If ROMWE's edge network is intermittently rejecting detail-page fetches (occasional soft-404s from datacenter IP ranges — automatically retried and, after a sustained burst, escalated to Apify Proxy), a run with freeReturnOnly (or enrichWithPrice on) may return fewer records than really exist; re-running usually recovers full coverage.

FAQ

Do I need a proxy or login? No — every request runs directly against ROMWE's public, unauthenticated pages. Apify Proxy (datacenter, AUTO) is only engaged automatically after a burst of soft-404s on detail-page fetches, as a fallback.

How is pricing extracted? ROMWE server-renders a JSON blob (gbRawData) into every page it sends, including full pricing/rating/image data on product-detail pages. The actor parses this blob directly — no private API calls.

Why is search mode slower than byUrl? With enrichWithPrice on, each search result triggers one additional detail-page fetch to populate rating/full-resolution images/attributes (price is already included without it). Turn enrichWithPrice off for a fast title/price/image/URL-only pass.

Is this affiliated with ROMWE? No — this is a third-party actor that reads ROMWE's public storefront pages; it is not built or endorsed by ROMWE/SHEIN Group.

Why are reviewCount/rating missing on some products? ROMWE only shows those fields once a product has at least one published review; new or low-traffic listings simply omit them rather than showing a 0.

Can I get every product in a category? Yes — leave maxItems high (or raise it up to 500) and the actor pages through the category listing until it runs out of products or hits your cap.

Are prices region-specific? No — this actor scrapes us.romwe.com only, so all prices are in USD.

Why did my freeReturnOnly run return fewer results than expected? Free-return eligibility can only be read from a product's detail page, so freeReturnOnly requires enrichWithPrice (or mode=byUrl) and walks a deeper candidate queue than price-only filters. If ROMWE's edge network is intermittently rejecting detail-page fetches, re-run — coverage usually recovers.

How current is the data? Every run fetches ROMWE's live pages at request time — there is no caching, so prices/stock reflect what's on the site right now.