H&M Product Scraper πŸ‘— avatar

H&M Product Scraper πŸ‘—

Pricing

Pay per usage

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

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

H&M Product Scraper

Extract structured H&M product search data at scale for catalog analysis, pricing monitoring, merchandising research, and market intelligence. Collect product listings with pricing, images, availability, swatches, and pagination metadata in clean dataset output.

Features

  • Keyword or URL input β€” Start from a keyword or an H&M search URL.
  • Structured product output β€” Collect product ids, titles, prices, links, images, and stock signals.
  • Pagination support β€” Crawl multiple result pages until your limit is reached.
  • Null-free dataset records β€” Empty and null values are removed before saving.
  • Simple input contract β€” Use only core fields while advanced API options stay managed internally.

Use Cases

Product Catalog Research

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

Pricing Intelligence

Track visible pricing and product availability across multiple pages and compare changes over time.

Merchandising Monitoring

Analyze product titles, image coverage, and category distribution to identify merchandising opportunities.

Competitive Benchmarking

Export product data into BI tools and compare assortment depth, pricing structure, and stock signals.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoβ€”Optional H&M search URL to parse query and locale from.
keywordStringYesshirtSearch keyword used for result retrieval.
localeStringNoen_usLocale in ll_cc format.
results_wantedIntegerNo20Maximum number of products to save.
max_pagesIntegerNo10Safety cap on number of pages to process.
proxyConfigurationObjectNoApify ProxyProxy settings for reliability and anti-blocking.

Output Data

Each dataset item may contain:

FieldTypeDescription
idStringProduct identifier
trackingIdStringTracking identifier
productNameStringProduct title
brandNameStringBrand name
productUrlStringProduct detail URL
formattedPriceStringDisplayed formatted price
priceNumberNumeric price value
priceMinNumberMinimum listed price
priceMaxNumberMaximum listed price
isNewProductBooleanNew product flag
stockStateStringAvailability state
isOnlineBooleanOnline sale availability
isComingSoonBooleanComing-soon flag
colorNameStringPrimary color name
colorCodeStringPrimary color code
swatchColorNamesArrayFlattened swatch color names
swatchColorCodesArrayFlattened swatch color codes
allSizesArrayFlattened list of all size labels
availableSizesArrayFlattened list of available size labels
outOfStockSizesArrayFlattened list of out-of-stock size labels
sizesCountNumberCount of total size labels
imageProductSrcStringProduct image URL
imageModelSrcStringModel image URL
galleryImagesArrayGallery image URLs
mainCatCodeStringMain category code
searchQueryStringQuery used for this run
localeStringLocale used for this run
pageNumberNumberResult page number

Usage Examples

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

Start From H&M Search URL

{
"startUrl": "https://www2.hm.com/en_us/search-results.html?q=shirt&page_key=2026-03-30T08:08:11.763Z--shirt",
"results_wanted": 100,
"max_pages": 8
}

Keyword Run With Proxy

{
"keyword": "linen shirt",
"locale": "en_us",
"results_wanted": 150,
"max_pages": 10,
"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 to validate run behavior.
  • Increase limits after checking output quality.

Use Stable Query Terms

  • Prefer specific product terms like linen shirt or cotton shirt.
  • Keep keyword spelling consistent for repeatable monitoring runs.

Use Proxies For Reliability

  • Residential proxies improve stability for larger runs.
  • Keep a reasonable page cap when running very frequent schedules.

Integrations

  • Google Sheets β€” Create live product tracking sheets.
  • Airtable β€” Build searchable product databases.
  • Looker Studio / BI tools β€” Visualize pricing and category trends.
  • Webhooks β€” Forward fresh product data to external systems.
  • Make / Zapier β€” Automate downstream workflows.

Export Formats

  • JSON β€” API and engineering workflows
  • CSV β€” Spreadsheet analysis
  • Excel β€” Reporting and operations
  • XML β€” Legacy integrations

Frequently Asked Questions

How many products can I collect?

You can collect across multiple pages based on results_wanted and max_pages.

Does the dataset include empty values?

No. Null and empty values are removed before records are saved.

Can I run this on a schedule?

Yes. You can schedule recurring runs in Apify and export new data automatically.

Why use proxy configuration?

Proxy configuration helps improve stability and reduces blocking during repeated runs.

Can I use a full search URL instead of keyword?

Yes. Provide startUrl and the actor will parse query and locale automatically.

Where are advanced controls like touch point and sorting?

The actor uses stable internal defaults for advanced API parameters so the input remains simple and reliable.


Support

For issues or feature requests, use Apify Console support and actor issue channels.

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.