H&M Scraper
Pricing
from $1.20 / 1,000 product scrapeds
H&M Scraper
H&M product listings from search queries, search URLs, and category URLs, with optional product details including description, composition, and colours.
Pricing
from $1.20 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Scraptivo
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
H&M Scraper collects product catalogs from H&M and turns them into structured data for price tracking, assortment research, and merchandising feeds. Provide category or search URLs, or search queries, then export product names, prices, discounts, colors, sizes, and availability β with optional descriptions, composition, and materials β to JSON, CSV, Excel, or your integration. Use it to monitor prices, compare assortment across markets, and keep product feeds current. Pricing starts at $1.50 per 1,000 products, with optional details billed at $2.50 per 1,000.
What can you automate with H&M Scraper?
- Build category or search catalogs β from H&M start URLs, search terms, or both in one run.
- Monitor prices and discounts β capture current price, original price, currency, and availability.
- Track sizes and color variants β collect per-size stock, swatches, and gallery images.
- Enrich with product details β add descriptions, composition, materials, and care information when enabled.
- Scale across markets β use locale paths in URLs (
de_de,en_us, and more) or thelocalefield for search. - Automate exports β feed pricing and merchandising tools, dashboards, and pipelines.
Who is this scraper for?
| Team | Workflow |
|---|---|
| Retail analytics teams | Comparing assortment and pricing across categories and search terms. |
| Merchandising and feed teams | Keeping PIM or marketplace listings aligned with H&M's live catalog. |
| Price monitoring teams | Scheduling runs on key categories and tracking markdowns over time. |
| Market researchers | Running Germany, US, UK, and other locales with local currency. |
What data can you collect from H&M?
| Data group | Example fields | How it helps |
|---|---|---|
| Product identity | productName, brandName, articleId, productId, url | Identify and deduplicate records with the stable articleId. |
| Pricing | price, formattedPrice, originalPrice, percentageDiscount, currency | Track current price and markdowns. |
| Availability | availability, sizes, newArrival | See stock status and size labels. |
| Color and media | colorName, imageUrl, images, swatches | Preview colorways and gallery images. |
| Provenance | locale, sourceQuery, sourceUrl | Trace the market and source query or URL. |
| Details | details with description, composition, colors, materials | Enrich records when details are enabled. |
The details object appears only when Include Product Details is enabled. Listing-level data is always returned.
How to use H&M Scraper
- Open the H&M Scraper on Apify.
- Add
startUrlsand/orsearchQueries, and setlocalefor search queries. - Set
maxItemsto cap the run. - Optionally enable Include Product Details to add descriptions and composition.
- Run the Actor and export the dataset to JSON, CSV, or Excel, or connect it to your workflow.
{"searchQueries": ["jackets"],"startUrls": [{ "url": "https://www2.hm.com/de_de/herren/neuheiten/alle-anzeigen.html" }],"locale": "de_de","includeProductDetails": true,"maxItems": 20,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Example workflow
Track seasonal markdowns in a category
- Schedule a weekly run on a category URL such as the men's new arrivals page.
- Compare
priceagainstoriginalPriceandpercentageDiscountperarticleId. - Enable Include Product Details once per season to capture composition and materials.
- Deduplicate on
articleId, then push price changes to your monitoring dashboard.
Automate and integrate your results
- Schedules β set weekly runs on key categories to track markdowns and new arrivals.
- Webhooks β trigger a webhook on run completion to push fresh products into your PIM, Google Sheets, or pricing tool.
- Exports and API β download JSON, CSV, or Excel from the Console, or call the Actor from the API. One cURL example:
curl "https://api.apify.com/v2/acts/scraptivo/h-and-m-scraper/runs?token=YOUR-APIFY-TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["jackets"],"locale": "de_de","maxItems": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}'
- Deduplication β use the stable
articleId(orproductId) as the key when merging results across runs.
Input reference
| Field | Type | Required | Default | What it controls |
|---|---|---|---|---|
startUrls | Array of URLs | No* | β | H&M search, category, or product URLs. The locale in the path (de_de, en_us) selects the market. |
searchQueries | Array of strings | No* | β | Product search terms (e.g. "jackets"). Uses the locale field. |
locale | String | No | de_de | Market for search queries (e.g. de_de, en_us). |
includeProductDetails | Boolean | No | false | Fetch description, composition, colors, and materials. Charged as product-details. |
detailConcurrency | Integer | No | 5 | Parallel detail requests when details are enabled (1β8). |
maxItems | Integer | No | 10 | Maximum products to scrape (0 = no limit). |
proxyConfiguration | Proxy object | No | Residential Apify proxy | Proxy settings. Residential proxies are recommended. |
* Provide at least one startUrls entry or searchQueries entry.
Output example
Each dataset item is one product. With details enabled, a record looks like this:
{"imageUrl": "https://lp2.hm.com/example.jpg","productName": "Loose Fit Denim Jacket","brandName": "H&M","price": 39.99,"currency": "EUR","formattedPrice": "β¬39.99","originalPrice": 49.99,"originalFormattedPrice": "β¬49.99","percentageDiscount": "20%","availability": "In stock","colorName": "Blue","sizes": ["S", "M", "L", "XL"],"url": "https://www2.hm.com/de_de/productpage.1234567890.html","articleId": "1234567890","productId": "0987654321","locale": "de_de","sourceQuery": "jackets","sourceUrl": "https://www2.hm.com/de_de/search-results.html?q=jackets","newArrival": true,"images": ["https://lp2.hm.com/example.jpg"],"swatches": [{ "colorName": "Black", "imageUrl": "https://lp2.hm.com/swatch.jpg" }],"details": {"description": "Loose-fit denim jacket in washed cotton.","composition": "Cotton 100%","materials": ["Cotton"],"colors": ["Blue", "Black"]}}
How much does it cost to scrape H&M?
The Actor uses pay-per-event pricing. Platform usage is not charged separately:
| Event | What counts | Price (per 1,000) |
|---|---|---|
product | Each product saved to the dataset | $1.50 |
product-details | Each product whose row includes a details object (when details are on and extraction succeeded) | $2.50 |
Apify plan discounts apply automatically: product at Bronze $1.40, Silver $1.30, Gold $1.20; product-details at Bronze $2.40, Silver $2.30, Gold $2.20 per 1,000. Listing-only runs pay only the product event.
Reliability and responsible use
- Proxy requirement β the Actor defaults to the Apify residential proxy, which is recommended for consistent H&M results.
- Conditional fields β the
detailsobject appears only when Include Product Details is enabled and extraction succeeds; some fields are nullable on the platform. - Public data β the Actor collects publicly visible product information from H&M.
- Responsible use β only use the data in ways that comply with H&M's terms of service and applicable law.
Frequently asked questions
Can I scrape H&M by category URL and by search term?
Yes. Use startUrls for category, search, or product URLs and/or searchQueries for search terms. You can combine both in one run.
Can I schedule the H&M Scraper to run automatically?
Yes. Use the Scheduler tab in Apify Console to run weekly on key categories to track markdowns and new arrivals.
What counts as one result?
A product row counts as one product event ($1.50 per 1,000). Enabling details adds a product-details event ($2.50 per 1,000) for each row that includes a details object.
Why are some fields empty?
The details object appears only when Include Product Details is enabled and extraction succeeds. Some fields are also nullable on H&M itself.
How do I avoid duplicate records?
Dedupe on the stable articleId (or productId) when merging results across runs.
Do I need a proxy?
The Actor works out of the box with the default Apify residential proxy, which is recommended for consistent results.
Related Scraptivo automations
- Nike Scraper β collect Nike.com product listings across marketplaces.
- Walmart Scraper β collect Walmart product listings with optional details and reviews.
- Alibaba Scraper β collect Alibaba.com product listings with supplier and review data.
Support and custom workflows
Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.