
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape H&M products from any country shop by category, search or product URL: prices, sale prices, colours, sizes with stock, images and categories.
Scrape H&M products from any country shop: names, article codes, prices and sale prices, colours, sizes with live online stock, categories and images. Paste category, search or product URLs, or just type a keyword. No login, no browser, hundreds of products in seconds.
https://www2.hm.com/en_us/women/products/dresses.html), a search (https://www2.hm.com/en_us/search-results.html?q=jeans) or a product page.| Field | Description |
|---|---|
startUrls | H&M category, search or product URLs from any country shop, or article codes |
searchTerms | Keywords to search in the shop chosen by locale |
maxItems | Maximum products per URL or search term (default 20) |
locale | Shop used for search terms and article codes, e.g. en_us, de_de, en_gb |
sortBy | Relevance, newest, lowest or highest price |
minPrice, maxPrice, onSaleOnly, inStockOnly | Filters on the results |
{
"startUrls": [{ "url": "https://www2.hm.com/en_us/women/products/dresses.html" }],
"searchTerms": ["jacket"],
"locale": "en_us",
"maxItems": 20,
"sortBy": "relevance"
}
One row per H&M article (a product in one colour).
| Field | Description |
|---|---|
articleCode, productCode | H&M article code (product plus colour) and product code |
name, brand | Product name and brand |
price, originalPrice, discountPercent, onSale, memberPrice, formattedPrice, currency | Prices |
color, colorCode, colorFamily, colorShades | The colour of this article |
sizes, availableSizes, availability, comingSoon | Every size with stock level, the sizes in stock, overall stock |
colors | All colours of the product with their article codes, links and images |
category, newArrival, markers, qualityMarker | H&M category code and product badges |
image, modelImage, images | Product, model and gallery images |
url, locale | Product page and shop |
position, searchTerm, sourceUrl, scrapedAt | Where and when the row was found |
{
"articleCode": "1344382001",
"productCode": "1344382",
"name": "Padded Windproof and Water-Repellent Jacket",
"brand": "H&M",
"price": 59.99,
"originalPrice": null,
"discountPercent": null,
"onSale": false,
"memberPrice": null,
"formattedPrice": "$59.99",
"currency": "USD",
"color": "Black",
"colorCode": "272627",
"colorFamily": "black",
"colorShades": ["Charcoal"],
"availability": "Available",
"comingSoon": false,
"availableSizes": ["S", "M", "L", "XL", "XXL"],
"sizes": [
{ "size": "S", "sizeCode": "002", "stockLevel": 2, "availability": "in_stock", "inStock": true },
{ "size": "M", "sizeCode": "003", "stockLevel": 2, "availability": "in_stock", "inStock": true }
],
"colors": [
{ "color": "Black", "colorCode": "272627", "articleCode": "1344382001", "url": "https://www2.hm.com/en_us/productpage.1344382001.html", "image": "https://image.hm.com/assets/hm/b5/5d/b55db3b9ea58c3be78ee8b4af6a3dae349a885f2.jpg" },
{ "color": "Dark khaki green", "colorCode": "46413A", "articleCode": "1344382002", "url": "https://www2.hm.com/en_us/productpage.1344382002.html", "image": "https://image.hm.com/assets/hm/09/15/09156469158c1c851220fb9ab4a0a325aa52a682.jpg" }
],
"category": "men_jacketscoats_jackets",
"newArrival": true,
"markers": null,
"qualityMarker": null,
"image": "https://image.hm.com/assets/hm/b5/5d/b55db3b9ea58c3be78ee8b4af6a3dae349a885f2.jpg",
"modelImage": "https://image.hm.com/assets/hm/c5/70/c570440046686020625885a7c0b15f8343ab769a.jpg",
"url": "https://www2.hm.com/en_us/productpage.1344382001.html",
"locale": "en_us",
"searchTerm": "jacket",
"position": 5,
"scrapedAt": "2026-10-16T01:05:36.058Z"
}
You pay $3.50 per 1,000 products ($0.0035 per product saved), plus a very small amount of platform usage (compute and proxy traffic), usually well under a cent per 1,000 products. For example, 1,000 products cost about $3.51 in total. Rows are only charged when they are saved, and the run stops cleanly at your spending limit.
Is it legal to scrape H&M? The scraper collects only public product information that anyone can see on hm.com without an account. Check that your use complies with H&M's terms and the laws that apply to you.
Do I need an H&M account or my own proxy? No. No login is used, and the built-in proxy works out of the box.
How many products can I get? Up to the number H&M lists for a category or search, often more than 1,000.
What does the stock level mean? H&M reports online stock per size as 0 (out of stock), 1 (low stock) or 2 (in stock). Store stock is not included.
Can I scrape another country?
Yes. Use URLs from that shop (for example www2.hm.com/de_de/...) or pick the shop for search terms.
Can I schedule it or use the API? Yes. Schedule runs to track prices and stock, and read results through the API in JSON, CSV or Excel.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalH&M URLs
H&M category, search or product pages from any country shop, for example https://www2.hm.com/en_us/women/products/dresses.html, https://www2.hm.com/en_us/search-results.html?q=jeans or https://www2.hm.com/en_us/productpage.1370131001.html. Article codes such as 1370131001 also work (looked up in the shop chosen below).
searchTermsarrayOptionalSearch terms
Keywords to search in the shop chosen below, as you would type them in H&M's search box (for example "jacket", "linen shirt"). Each term runs its own search.
maxItemsintegerOptionaldefault 20Max products per input
Upper limit of products for each URL or search term.
localeenumOptionaldefault "en_us"Shop for search terms
The H&M country shop used for search terms and article codes (URLs always use their own shop). Prices, currency, language and stock follow the shop.
sortByenumOptionaldefault "relevance"Sort by
Order of search and category results.
Applied to category and search results. Product URLs are always scraped.
minPriceintegerOptionalMinimum price
Only products priced at or above this value, in the shop's currency.
maxPriceintegerOptionalMaximum price
Only products priced at or below this value, in the shop's currency.
onSaleOnlybooleanOptionaldefault falseOnly products on sale
Keep only discounted products.
inStockOnlybooleanOptionaldefault falseOnly products with sizes in stock
Skip products where no size is available online.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy servers used for H&M requests. Residential exits use the shop's country unless you pick one.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| articleCode | string | null | |
| name | string | null | |
| url | string | null | |
| price | number | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Product | One H&M article: price, sale price, colour, all colours, sizes with online stock, category and images. | $0.0035 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/hm-scraper').call({
"startUrls": [
{
"url": "https://www2.hm.com/en_us/women/products/dresses.html"
}
],
"searchTerms": [],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/hm-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/hm-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Search H&M products by keyword.
In-stock sale products sorted by lowest price.
Product details from links or article codes.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.