H&M Scraper avatar

H&M Scraper

Pricing

from $1.20 / 1,000 products

Go to Apify Store
H&M Scraper

H&M Scraper

Scrape H&M products from search queries, search URLs, and category URLs, with optional product details.

Pricing

from $1.20 / 1,000 products

Rating

0.0

(0)

Developer

Data Scrapers

Data Scrapers

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

5 days ago

Last modified

Categories

Security

Limited permissions

Share

H&M Scraper creates a structured dataset of apparel products collected from H&M. Each dataset item is one article and can include the article id, name, price, currency, discount, color, sizes, availability, and product URL. Query the source with search terms or H&M category and product URLs, choose a locale such as de_de, optionally add the description and composition, limit results with maxItems, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format.

H&M Scraper — input to structured data

Dataset at a glance

PropertyValue
SourceH&M
Record unitOne article
Input methodssearchQueries, startUrls, locale
Main identifiersarticleId, url
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, XML, and other Apify dataset exports
Update modelFresh records per Actor run
Pricing$1.50 per 1,000 products on the Free plan

Coverage and available records

searchQueries runs against the market in locale, for example de_de or en_us. startUrls accepts H&M search, category, and product URLs. The locale in the URL path selects the market for that URL, so a de_de category URL stays on the German site even if locale is different.

includeProductDetails adds description and composition when the product page is fetched. detailConcurrency sets how many detail pages are requested at once. maxItems caps articles.

Each saved row is one articleId. Color variants can be separate articles. The Actor does not collect account wish lists or checkout data.

Data dictionary

FieldTypeNullableDescriptionExample
articleIdstringNoArticle id used for deduplication1345672001
productNamestringNoProduct nameJacke mit Schaldetail
pricenumberYesCurrent price37.5
currencystringYesCurrencyEUR
formattedPricestringYesDisplay price37,50 €
percentageDiscountstringYesDiscount label-25%
colorNamestringYesColor on a color-variant rowWeinrot
urlstringNoProduct URLhttps://www2.hm.com/de_de/productpage.1345672001.html
sourceQuerystringYesSearch that found the articlejackets
detailsobjectYesDescription and composition when details are on{"description": "Kurze, oversized Jacke..."}

Example dataset record

{
"articleId": "1345672001",
"productName": "Jacke mit Schaldetail",
"price": 37.5,
"currency": "EUR",
"formattedPrice": "37,50 €",
"percentageDiscount": "-25%",
"url": "https://www2.hm.com/de_de/productpage.1345672001.html",
"sourceQuery": "jackets",
"details": {
"description": "Kurze, oversized Jacke aus weichem Filzmaterial mit einem abnehmbaren, langen Schal.",
"compositions": ["Obermaterial: Polyester 100%", "Futter: Polyester 100%"]
}
}

Query and input reference

FieldRequiredDescription
searchQueriesNoSearch terms, such as jackets
startUrlsNoH&M search, category, or product URLs
localeNoMarket for search queries, such as de_de or en_us
includeProductDetailsNoFetch description and composition and charge product-details
detailConcurrencyNoParallel product-page requests
maxItemsNoMaximum articles
proxyConfigurationNoApify proxy settings

Provide a search term or a start URL.

Retrieve the data through the API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("datascrapers/h-and-m-scraper").call(run_input={
"searchQueries": ["jackets"],
"locale": "de_de",
"includeProductDetails": True,
"maxItems": 5,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["productName"], item["price"], item["articleId"])

Data quality and record handling

Deduplicate on articleId. url is a second key. details is present only after a successful product page. A failed detail request is not charged. sourceQuery separates articles when one run contains several searches. Each run writes a new dataset.

Pricing and cost examples

Pay per event. Prices are per 1,000 events. Platinum and Diamond use the Gold rate. Platform usage is not billed separately.

EventFreeBronzeSilverGold
product$1.50$1.40$1.30$1.20
product-details$2.50$2.40$2.30$2.20

A Free-plan run that saves 1,000 articles costs $1.50. Adding details for those articles costs $2.50 more. Leave includeProductDetails off when you only need price and URL.

Limitations and responsible data use

Search uses locale. URLs use the locale in the path. Prices and sizes change with the live catalog. Collect public product fields only, and keep maxItems small on the first run.

Dataset questions

What is one dataset item?

One H&M article, identified by articleId.

When is product-details charged?

When includeProductDetails is on and the product page is fetched.

Which field should I use to merge runs?

articleId or url.

Data Scrapers support

Questions about this dataset: stardustspotlight@gmail.com.