H&M Product Scraper πŸ‘— avatar

H&M Product Scraper πŸ‘—

Pricing

from $0.99 / 1,000 results

Go to Apify Store
H&M Product Scraper πŸ‘—

H&M Product Scraper πŸ‘—

Scrape H&M products instantly with complete details: pricing, images, stock status, and reviews. Export to JSON/CSV for competitive analysis, price monitoring, and retail research. Fast, reliable H&M data extraction for ecommerce intelligence.

Pricing

from $0.99 / 1,000 results

Rating

5.0

(5)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

4

Bookmarked

27

Total users

7

Monthly active users

17 days ago

Last modified

Share

H&M Product Scraper

Extract structured H&M product data at scale for catalog analysis, pricing monitoring, merchandising research, and market intelligence. This scraper collects product listings with pricing, images, availability, color swatches, and size information from H&M search results and outputs clean, null-free datasets ready for analysis.

Features

  • Keyword or URL input β€” Start from a keyword or any H&M search URL. The actor automatically parses the query and locale.
  • Structured product output β€” Collect product IDs, titles, prices, product URLs, images, stock signals, color swatches, and size breakdowns.
  • Automatic pagination β€” Crawl multiple result pages until your desired result count is reached.
  • Clean records β€” Null and empty values are stripped before saving, so every field in your dataset is meaningful.
  • Proxy support β€” Use Apify Proxy (including residential proxies) for large or frequent runs to stay reliable.

Use Cases

Product Catalog Research

Build a searchable dataset of H&M products for category discovery, assortment reviews, and collection planning across any locale.

Pricing Intelligence

Track formatted and numeric prices, minimum and maximum pricing, and stock availability across multiple pages and runs to monitor changes over time.

Merchandising Monitoring

Analyze product titles, image coverage (product and model shots), color swatch variety, and category distribution to identify merchandising opportunities.

Competitive Benchmarking

Export product data into BI tools like Looker Studio, Tableau, or Excel to compare assortment depth, pricing structure, and stock signals across different categories.

Data Pipeline Automation

Feed scraped product data into your existing systems via webhooks or integrations for automated catalog updates and inventory analysis.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoβ€”Optional H&M search URL. The actor parses query and locale from it automatically.
keywordStringNoβ€”Search keyword used for product retrieval. Required if startUrl is not provided.
localeStringNoen_usLocale in ll_cc format (e.g., en_us, de_de, sv_se).
results_wantedIntegerNo20Maximum number of product records to collect. No hard upper limit.
max_pagesIntegerNo10Safety cap on the number of result pages processed. No hard upper limit.
proxyConfigurationObjectNoApify ProxyProxy settings for improved reliability and anti-blocking on large runs.

Proxy Configuration

For best results on runs exceeding 100 products, use residential proxies:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output Data

Each dataset item may contain the following fields:

FieldTypeDescription
idStringProduct identifier
trackingIdStringTracking identifier
productNameStringProduct title
brandNameStringBrand name (typically "H&M")
productUrlStringFull product detail page URL
formattedPriceStringDisplayed formatted price (e.g., "$24.99")
priceNumberNumeric price value
priceMinNumberMinimum listed price
priceMaxNumberMaximum listed price
isNewProductBooleanNew product flag
stockStateStringAvailability state (e.g., "Available", "Out of Stock")
isOnlineBooleanWhether the item is available for online purchase
isComingSoonBooleanComing-soon flag
colorNameStringPrimary color name
colorCodeStringPrimary color code
swatchColorNamesArrayAll swatch color names from the product listing
swatchColorCodesArrayAll swatch color codes from the product listing
allSizesArrayAll size labels available (e.g., ["XS", "S", "M", "L", "XL"])
availableSizesArraySize labels currently in stock
outOfStockSizesArraySize labels that are out of stock
sizesCountNumberTotal number of size labels
imageProductSrcStringPrimary product image URL
imageModelSrcStringModel image URL
galleryImagesArrayArray of gallery image URLs
mainCatCodeStringMain category code
searchQueryStringThe search query used for this run
localeStringThe locale used for this run
pageNumberNumberResult page number from which this item was collected

Usage Examples

Run a simple keyword search with default settings:

{
"keyword": "shirt",
"results_wanted": 20,
"max_pages": 3
}

Start From H&M Search URL

Let the actor parse the query and locale directly from an H&M URL:

{
"startUrl": "https://www2.hm.com/en_us/search-results.html?q=shirt",
"results_wanted": 100,
"max_pages": 8
}

Large Collection With Residential Proxies

For larger datasets, combine a keyword with proxy configuration:

{
"keyword": "linen shirt",
"locale": "en_us",
"results_wanted": 500,
"max_pages": 15,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"id": "1293921003",
"trackingId": "OzU7IzsxMjkzOTIxMDAzOyM7Izo=",
"productName": "Oxford Shirt",
"brandName": "H&M",
"productUrl": "https://www2.hm.com/en_us/productpage.1293921003.html",
"formattedPrice": "$24.99",
"price": 24.99,
"priceMin": 24.99,
"priceMax": 24.99,
"stockState": "Available",
"isOnline": true,
"colorName": "Blue/striped",
"colorCode": "333859",
"swatchColorNames": ["Blue/striped", "White"],
"allSizes": ["XS", "S", "M", "L", "XL"],
"availableSizes": ["S", "M", "L", "XL"],
"outOfStockSizes": ["XS"],
"sizesCount": 5,
"imageProductSrc": "https://image.hm.com/assets/hm/example-product.jpg",
"imageModelSrc": "https://image.hm.com/assets/hm/example-model.jpg",
"mainCatCode": "men_shirts",
"searchQuery": "shirt",
"locale": "en_us",
"pageNumber": 1
}

Tips For Best Results

Start Small First

  • Begin with results_wanted: 20 and a single keyword to validate the run.
  • Check the output quality before scaling up to larger collections.

Use Specific Keywords

  • Prefer specific product terms like linen shirt, cotton dress, or wool blazer over generic terms.
  • Consistent keyword spelling gives you repeatable results for scheduled monitoring.

Scale Responsibly

  • Use residential proxies (RESIDENTIAL group) for runs over 100 results.
  • Keep max_pages between 10 and 15 to balance data volume with run time.
  • Space out scheduled runs to avoid unnecessary load.

Understand Locale Behavior

  • The default locale is en_us. Change it to de_de, fr_fr, sv_se, or others for region-specific results.
  • When using startUrl, the locale is automatically detected from the URL path.

Integrations

Connect your collected data with:

  • Google Sheets β€” Create live product tracking sheets for team collaboration.
  • Airtable β€” Build searchable product databases with custom views and filters.
  • Looker Studio / Tableau β€” Visualize pricing trends, category distribution, and stock patterns.
  • Webhooks β€” Forward fresh product data to your own systems in real time.
  • Make / Zapier β€” Automate downstream workflows like notifications, reporting, and alerts.

Export Formats

  • JSON β€” API and engineering workflows
  • CSV β€” Spreadsheet analysis and pivot tables
  • Excel β€” Business reporting and operations
  • XML β€” Legacy system integrations

Frequently Asked Questions

How many products can I collect?

You can collect as many products as needed per run by setting results_wanted. The actual number depends on the search results available and your max_pages cap.

Does the dataset include empty or null values?

No. Null, empty, and undefined values are automatically removed before records are saved. Every field you see in the output contains meaningful data.

Can I run this scraper on a schedule?

Yes. Apify supports scheduled runs. You can set up daily or hourly runs and export new data automatically to any integrated service.

When should I use proxy configuration?

Use proxies when running large collections (over 100 products) or when you see repeated empty results. Residential proxies give the best reliability.

Can I use an H&M URL instead of a keyword?

Yes. Provide a full H&M search URL as startUrl. The actor parses the search query and locale from the URL automatically, so you don't need to specify them separately.

How does locale affect the results?

The locale determines which regional H&M catalog is searched. For example, en_us returns US products with USD pricing, while de_de returns German products with EUR pricing.

Are advanced API parameters like sort or department available?

The actor uses stable internal defaults for advanced parameters to keep input simple and runs reliable. If you need custom parameters, contact support.

What kind of data quality can I expect?

Fields are type-validated, duplicates are not introduced, and empty values are stripped. The output matches the same product data shown on H&M search result pages.


Support

For issues or feature requests, use the Apify Console support channels or open an issue on the actor's page.

Resources


This actor is designed for legitimate data collection and analytics workflows. Users are responsible for complying with applicable terms, policies, and laws in their jurisdiction.