ScavioScavio
Pricing
Tools
Sign InsGet Startedg
9 live endpoints, 47 countries, 27 currencies

H&M API

H&M product data as structured JSON: one article's price, regular price, sale price and member price in each H&M market, in that market's currency, with online stock by size. Plus search, full product pages with the latest reviews, category, sale and new-arrival grids, stores and where an article is made.

Try H&M APIRead the docs

50 free credits on signup. No card.

POST /api/v1/hm/search
sample
query:
try
{  "data": {    "query": "jeans",    "items": [      {        "article_code": "1359271004",        "product_code": "1359271",        "title": "Barrel-Leg High-Waist Jeans",        "brand": "H&M",        "url": "https://www2.hm.com/en_us/productpage.1359271004.html",        "price": 49.99,        "regular_price": 49.99,        "sale_price": null,        "member_price": 39.99,        "discount_percent": null,        "prior_price": null,        "currency": "USD",        "promo_text": null,        "promo_terms": null,        "multipack": null,        "color": "Cream",        "colors": [          {            "article_code": "1359271004",            "name": "Cream",            "hex": "#F0EEED"          },          "… 2 more (trimmed for preview)"        ],        "sizes": [          {            "size_code": "1359271004002",            "label": "2",            "in_stock": true          },          "… 8 more (trimmed for preview)"        ],        "in_stock": true,        "coming_soon": false,        "new_arrival": false,        "markers": [],        "category": "ladies_jeans_barrel",        "image": "https://image.hm.com/assets/hm/53/50/53504aa4e9919677e29bf2fc087a5380395c99ce.jpg",        "model_image": "https://image.hm.com/assets/hm/28/64/28646d84584153bd69183167a2cb3989ba42b455.jpg"      },      "… 35 more (trimmed for preview)"    ],    "count": 36,    "total": 1329,    "page": 1,    "page_size": 36,    "total_pages": 37,    "sort": "relevance",    "sorts_offered": [      "relevance",      "… 3 more (trimmed for preview)"    ],    "filters": {},    "facets": [      {        "filter": "color",        "name": "ColorWithNames",        "values": [          {            "value": "beige_f5f5dc",            "label": "beige",            "count": 31,            "hex": "#F5F5DC"          },          "… 13 more (trimmed for preview)"        ]      },      "… 4 more (trimmed for preview)"    ],    "on_sale_count": 60,    "price_range": {      "min": 9.99,      "max": 269    },    "department": null,    "store_code": null,    "departments": [      {        "department": "women",        "id": "ladies_all",        "label": "Women",        "count": 720      },      "… 5 more (trimmed for preview)"    ],    "did_you_mean": [],    "related_searches": [],    "country": "us",    "language": "en",    "currency": "USD",    "locale": "en_us",    "store": "us",    "notes": [      "member_price is H&M's member (club) price, shown to signed-in H&M members; price is what a non-member pays now (sale_price when on sale, else regular_price).",      "… 1 more (trimmed for preview)"    ]  },  "response_time": 3560}
captured example · 1 credits3 / 3 free

Live calls against the real endpoints. Product shows a captured response (it takes 4 to 60 seconds); every other tab runs live. 3 free runs across every tab, then it's your own key.

What is the Scavio H&M API?

The Scavio H&M API is a REST API that returns H&M prices, products, online stock, sales, new arrivals, stores and production details as JSON for 47 countries. One article code is the same in every market, so one code read with several country values returns its price, sale price and member price in each currency. Product costs 2 credits; every other call costs 1.

9
endpoints, all live in production
47
countries: 40 H&M online stores plus 7 on H&M's shared EU store
1
credit per call; product 2

The H&M data price trackers and fashion analysts need

What an article costs in each market, whether members pay less, which sizes are in stock online, what is on sale and what just arrived.

One article, every market

POST /api/v1/hm/search

Article codes are global. The Bow-detail blazer dress 1372161001 on 2026-11-15: 79.99 USD, 64.99 GBP, 69.99 EUR in Germany, 59.99 EUR in France, 799 SEK, 8,999 JPY.

Member price next to the shelf price

POST /api/v1/hm/search

member_price is H&M's member price as displayed, next to price, regular_price and sale_price. The same dress read 79.99 USD with a 63.99 member price in the US.

Online stock by size

POST /api/v1/hm/stock

in_stock and few_left for every size of every colour of a product, in the market you ask for. Online stock, in that market's own sizes.

Sale grids per market

POST /api/v1/hm/deals

Every marked-down item in a department with sale_price, regular_price and discount_percent. Each market runs its own sales, so a grid may be empty between sales.

Full product pages

POST /api/v1/hm/product

Composition, care, fit and length, every colourway with its own prices, H&M's price disclosure, the rating and the 10 latest reviews with fit feedback.

Category ids shared by every market

POST /api/v1/hm/category

ladies_dresses is ladies_dresses in every country. The UK grid held 3,440 dresses, 717 of them on sale, on 2026-11-15.

Stores with hours

POST /api/v1/hm/stores

Address, coordinates, phone, weekly hours and departments, by city, postal code or radius. The US list counted 478 stores.

Where it is made

POST /api/v1/hm/production

Countries of production with supplier and factory names and city, as H&M publishes them for each article.

All 9 H&M API endpoints

Every route is a POST, returns JSON and takes the same API key. Credits are charged per successful call and per not-found; a 400 and failed upstream calls are not charged.

EndpointReturnsCredits
Search/api/v1/hm/searchKeyword or article-code search in one market: article code, title, price, regular, sale and member price, colours, sizes with online stock, category id; 72 a page, sorts and facet filters1
Product/api/v1/hm/productOne article by code or link: composition, care, fit attributes, every colour's prices, member price, price disclosure, sizes with online stock, rating and the 10 latest reviews with fit feedback2
Stock/api/v1/hm/stockOnline stock per size for every colour of a product: in_stock and few_left per size, sizes in stock1
Stores/api/v1/hm/storesA country's stores with address, coordinates, phone, opening hours, departments; by city, postal code or radius1
Category/api/v1/hm/categoryA category grid by H&M's category id, the same id in every market, with prices, colours and online stock1
Deals/api/v1/hm/dealsA department's sale grid: sale price, regular price, discount; empty between sales1
New arrivals/api/v1/hm/new-arrivalsA department's new-arrivals grid with prices, colours and online stock per size1
Suggestions/api/v1/hm/suggestionsThe search suggestions H&M offers for what a shopper has typed, in the market's language1
Production/api/v1/hm/productionWhere an article is made: countries of production, supplier and factory names, city and workers range1

50 free credits on signup covers 50 searches or 25 product reads. See plans

47 countries, 26 languages, 27 currencies

One country parameter, plus language where the market offers more than one. Titles, colours and facet values come in the market's language; every answer echoes country, language, currency, locale and store.

countryMarketLanguage(s), first = defaultCurrencyEndpoints
us (default)United StatesEnglishUSDAll 9
caCanadaEnglish or FrenchCADAll 9
mxMexicoSpanishMXNAll 9
gb, ieUnited Kingdom, IrelandEnglishGBP, EURAll 9
de, atGermany, AustriaGermanEURAll 9
chSwitzerlandGerman, French or ItalianCHFAll 9
frFranceFrenchEURAll 9
beBelgiumDutch or FrenchEURAll 9
nl, it, es, ptNetherlands, Italy, Spain, PortugalDutch, Italian, Spanish, PortugueseEURAll 9
seSwedenSwedishSEKAll 9
fiFinlandFinnish or SwedishEURAll 9
dk, noDenmark, NorwayDanish, NorwegianDKK, NOKAll 9
pl, cz, hu, roPoland, Czechia, Hungary, RomaniaPolish, Czech, Hungarian, RomanianPLN, CZK, HUF, RONAll 9
sk, bg, grSlovakia, Bulgaria, GreeceSlovak, Bulgarian, GreekEURAll 9
rs, tr, uaSerbia, Turkey, UkraineSerbian, Turkish, UkrainianRSD, TRY, UAHAll 9
ilIsraelHebrewILSAll 9
hkHong KongChinese or EnglishHKDAll 9
twTaiwanChinese or EnglishTWD8: no product
moMacauChinese or EnglishHKD7: no product, no stores
jp, krJapan, South KoreaJapanese, KoreanJPY, KRWAll 9
in, my, ph, sgIndia, Malaysia, Philippines, SingaporeEnglishINR, MYR, PHP, SGDAll 9
vnVietnamVietnameseVNDAll 9
auAustraliaEnglishAUDAll 9
hr, cy, ee, lv, lt, lu, siCroatia, Cyprus, Estonia, Latvia, Lithuania, Luxembourg, SloveniaEnglish (H&M's shared EU store)EUR8: no product

The seven countries in the last row shop on H&M's shared English EUR store: answers say store "eu", and stock there carries no few-left flag (also on mo and tw). On mo, tw and the shared EU store, search and stock carry the prices, colours and sizes. Countries where H&M runs a separate site (ae, eg, id, th, br, cn) or has no online store (al, az, ba, by, cl, co, cr, ge, is, kh, kz, mk, nz, pe, xk, za), and ru, answer 400, not charged; send gb for the United Kingdom.

Same article, every market

The Bow-detail blazer dress, article 1372161001, read on 2026-11-15 with one search per country (the article code as the query). Online prices in each market's currency as H&M showed them, never converted.

countryCurrencypriceregular_pricemember_price or sale
usUSD79.9979.99member 63.99
ca (French)CAD9999member 78.99
mxMXN1,0491,499on sale, 30% off
gbGBP64.9964.99-
ie, de, at, nl, hr (shared EU store)EUR69.9969.99-
fr, it, esEUR59.9959.99-
ch (Italian)CHF84.9584.95-
seSEK799799-
noNOK799799-
dkDKK599599-
plPLN299.99299.99-
czCZK1,7991,799-
huHUF27,99527,995-
roRON349.99349.99-
trTRY4,2994,299-
ilILS399399-
jpJPY8,9998,999-
krKRW99,90099,900-
hkHKD599599-
inINR5,4995,499-
sgSGD99.9099.90-
auAUDnot listed--

A dash means no member price and no markdown that day. In Australia the code returned no result: not every article is sold in every market. gb, se, ca, ch, de, fr, mx and pl are the playground captures of the same day (search in each market's language); the other countries were read by article code. Prices on one date; a comparison is for research and pricing analysis.

What each price field means

Every item, colour and product carries the same price fields, as numbers in the market's currency.

FieldMeaningExample from the captures
priceWhat a non-member pays now: sale_price when on sale, else regular_price79.99 USD (US, 1372161001)
regular_priceH&M's full price1,499 MXN (Mexico, same article)
sale_priceA markdown; null when none1,049 MXN
discount_percentH&M's own markdown figure30
member_priceH&M's member price as displayed to signed-in members63.99 USD (US), 78.99 CAD (Canada)
prior_priceThe earlier price H&M shows next to a markdown in EU markets29.99 PLN on a 19.99 PLN item (Poland)
price_disclosureH&M's own note on a markdown, on product"Sale price in effect for 90+ days" (US, 1310382002)

Scavio does not sign in: member_price is the price H&M displays for members, not a member-only cart or checkout price. H&M publishes no price history, so poll and store your own readings.

Price one article in every market

A price tracker sends the article code to search, once per country, and stores price, sale_price, member_price and currency. The response on the right is a real search-by-code capture from the US store.

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key", timeout=120)

# Article codes are the same in every H&M market: one code, one call per country.
ARTICLE = "1372161001"
for country in ["us", "ca", "mx", "gb", "de", "fr", "se", "pl", "jp", "in"]:
    r = client.hm.search(query=ARTICLE, country=country)["data"]
    hit = next((i for i in r["items"] if i["article_code"] == ARTICLE), None)
    if hit:
        print(country, hit["price"], hit["regular_price"], hit["sale_price"], hit["member_price"], r["currency"])
    else:
        print(country, "not sold here")
200 response.jsoncaptured
{
  "data": {
    "query": "1372161001",
    "items": [
      {
        "article_code": "1372161001",
        "product_code": "1372161",
        "title": "Bow-Detail Jacket Dress",
        "brand": "H&M",
        "url": "https://www2.hm.com/en_us/productpage.1372161001.html",
        "price": 79.99,
        "regular_price": 79.99,
        "sale_price": null,
        "member_price": 63.99,
        "discount_percent": null,
        "prior_price": null,
        "currency": "USD",
        "promo_text": null,
        "promo_terms": null,
        "multipack": null,
        "color": "Black",
        "colors": [
          {
            "article_code": "1372161001",
            "name": "Black",
            "hex": "#272627"
          }
        ],
        "sizes": [
          {
            "size_code": "1372161001002",
            "label": "XS",
            "in_stock": true
          },
          {
            "size_code": "1372161001003",
            "label": "S",
            "in_stock": true
          },
          {
            "size_code": "1372161001004",
            "label": "M",
            "in_stock": true
          },
          {
            "size_code": "1372161001005",
            "label": "L",
            "in_stock": true
          },
          {
            "size_code": "1372161001006",
            "label": "XL",
            "in_stock": true
          }
        ],
        "in_stock": true,
        "coming_soon": false,
        "new_arrival": true,
        "markers": [],
        "category": "ladies_occasion_partywear_dresses",
        "image": "https://image.hm.com/assets/hm/39/87/3987eaf26203153e02654dbdeb3cd0cae39f9677.jpg",
        "model_image": "https://image.hm.com/assets/hm/63/39/63394285eec0f1b61cf1689ac67ecd30b33e46c1.jpg"
      }
    ],
    "count": 1,
    "total": 1,
    "page": 1,
    "page_size": 10,
    "total_pages": 1,
    "sort": "relevance",
    "sorts_offered": [
      "relevance",
      "newest",
      "price_asc",
      "price_desc"
    ],
    "filters": {},
    "facets": [
      {
        "filter": "color",
        "name": "ColorWithNames",
        "values": [
          {
            "value": "black_000000",
            "label": "black",
            "count": 1,
            "hex": "#000000"
          }
        ]
      },
      {
        "filter": "size",
        "name": "Size",
        "values": [
          {
            "value": "womenswear;NO_FORMAT[SML];XS",
            "label": "XS",
            "count": 1
          },
          {
            "value": "womenswear;NO_FORMAT[SML];S",
            "label": "S",
            "count": 1
          },
          {
            "value": "womenswear;NO_FORMAT[SML];M",
            "label": "M",
            "count": 1
          },
          {
            "value": "womenswear;NO_FORMAT[SML];L",
            "label": "L",
            "count": 1
          },
          {
            "value": "womenswear;NO_FORMAT[SML];XL",
            "label": "XL",
            "count": 1
          }
        ]
      },
      {
        "filter": "fit",
        "name": "Fits",
        "values": [
          {
            "value": "Slim fit",
            "label": "Slim fit",
            "count": 1
          }
        ]
      },
      {
        "filter": "product_type",
        "name": "ProductTypes",
        "values": [
          {
            "value": "Dress",
            "label": "Dress",
            "count": 1
          }
        ]
      }
    ],
    "on_sale_count": null,
    "price_range": {
      "min": 79.99,
      "max": 79.99
    },
    "department": null,
    "store_code": null,
    "departments": [
      {
        "department": "women",
        "id": "ladies_all",
        "label": "Women",
        "count": 1
      }
    ],
    "did_you_mean": [],
    "related_searches": [],
    "country": "us",
    "language": "en",
    "currency": "USD",
    "locale": "en_us",
    "store": "us",
    "notes": [
      "member_price is H&M's member (club) price, shown to signed-in H&M members; price is what a non-member pays now (sale_price when on sale, else regular_price).",
      "sizes[].in_stock is online stock (not store stock)."
    ]
  },
  "response_time": 1153
}

Why not an official H&M API?

H&M Group's integration portals are built for its business partners. Here is what they cover, and where the Scavio API fits.

H&M Group partner portals

  • Integration portals for H&M's business partners
  • Behind a sign-in, with no public sign-up
  • No public product, price or stock API
  • Not open to developers who want store prices or stock

Scavio H&M API

  • One Scavio key issued at signup, 1 credit per call, product 2
  • One article's price, sale and member price in 47 countries
  • Online stock by size for every colour
  • Sale, new-arrival and category grids per market
  • Stores with hours and where each article is made
  • The same JSON envelope and key as every other Scavio platform

Portal facts from H&M Group's partner portal sign-in pages, read 2026-11-15. The H&M brand sells online in 62 markets and runs 3,579 stores in 82 markets (H&M Group, 31 August 2026). Not legal advice.

What developers build with it

Prices by country

Read one article code in every market it is sold in and keep each currency, for research and pricing analysis.

search

Sale and markdown alerts

Poll a department's sale grid or a watch list of article codes and alert when sale_price appears or the discount deepens.

deals + search

Member price tracking

Track the gap between price and member_price per article and market over time.

search + product

Size restock alerts

Watch the online stock of the sizes you care about and alert when one comes back or few_left flips.

stock

New drops and assortment

Store the article codes of each new-arrivals reading and diff the next one; compare category sizes across markets.

new-arrivals + category

Price history you own

H&M shows no price history: poll daily and store price, regular_price, sale_price and fetched_at per article and market.

search + deals

Sourcing and supply research

Map articles to their countries of production, suppliers and factories as H&M publishes them.

production

Shopping agents and assistants

Give an AI agent H&M as tools: find an article, read its sizes and stock, and price it in the shopper's market.

MCP + REST

How to get H&M prices by country

  1. 1

    Get an API key

    Sign up for a Scavio account and copy your key from the dashboard. You get 50 free credits on signup, with no card.

  2. 2

    Find the article code

    Send {"query": "blazer dress", "country": "us"} to https://api.scavio.dev/api/v1/hm/search with an Authorization: Bearer header. Each item carries article_code (10 digits), the same code in every H&M market.

  3. 3

    Read it in every market

    Send {"query": "1372161001", "country": "gb"} to the same endpoint, once per country. Each answer has price, regular_price, sale_price, member_price, discount_percent and currency, plus sizes with online stock.

  4. 4

    Poll and store each reading

    Run the same calls on a schedule and store price, sale_price, member_price, currency and fetched_at. H&M publishes no price history, so your readings are the record.

One key, 55 platformsMCP server for agentsPython & JS SDKsn8n community node

H&M API FAQ

Does H&M have a public API?

+

No. H&M has no public product, price or stock API. H&M Group runs integration portals for its business partners behind a sign-in; they are not open to developers who want store prices or stock. The Scavio H&M API is a separate option: 9 POST endpoints on one API key.

How do I get H&M prices by country?

+

Send the article code as the search query with a country: the answer carries the price in that market's currency with the regular, sale and member price. One call per country. The Bow-detail blazer dress 1372161001 read 79.99 USD, 64.99 GBP, 69.99 EUR in Germany, 59.99 EUR in France, 799 SEK and 8,999 JPY on 2026-11-15. H&M Search API docs

Is the H&M article code the same in every country?

+

Yes. An article code (10 digits: a 7-digit product code plus a 3-digit colour) is global, so one code identifies the same article in every market. Not every article is sold everywhere: 1372161001 returned no result in Australia on 2026-11-15.

Does it return the H&M member price?

+

Yes, where H&M displays one: member_price sits next to price, regular_price and sale_price. Scavio does not sign in, so it is the member price H&M shows on the page, not a member-only cart or checkout price. In the US capture the blazer dress read 79.99 USD with a 63.99 member price.

When do H&M sales run, and does deals always return items?

+

Each market runs its own sales in seasons, so a sale grid may be empty between sales (still 1 credit): on 2026-11-15, 25 of the 47 markets had an empty women's sale grid while the UK men's grid held 414 items. H&M's US Black Friday page says Black Friday 2026 starts early at hm.com on November 26 and in stores on November 27. H&M Deals API docs

Does it return stock by size?

+

Yes, online stock: stock returns every colour of a product with in_stock and few_left per size in the market you ask for, and search, grids and product carry in_stock per size too. On mo, tw and the shared EU store countries few_left is null. H&M Stock API docs

Can I check a size in a specific H&M store?

+

No. H&M publishes no per-size store stock, so none is returned. stores lists a country's stores with hours, and search with a store code lists that store's assortment, which tells you whether a store carries an item, not whether your size is on the shelf.

Does it return H&M reviews?

+

product returns the rating (average and count) and the latest reviews H&M shows on the product page, up to 10, each with rating, text, date and fit feedback such as True to Size and Length. There is no endpoint for the full review list, and reviewer names are left out.

How do H&M category ids work?

+

Every item carries its category id (for example ladies_dresses, men_jeans, ladies_occasion_partywear_dresses), and the ids are the same in every market. Send one to category to read that grid in any country. A category returns everything H&M files under the id, which can be more than the curated page of the same name. H&M Category API docs

Which countries, currencies and languages are covered?

+

47 countries in 27 currencies and 26 languages: the US, Canada (English or French), Mexico, 23 European markets with a store of their own, Turkey, Ukraine, Israel, Hong Kong, Macau and Taiwan (Chinese or English), Japan, South Korea, India, Malaysia, the Philippines, Singapore, Vietnam and Australia, plus seven countries on H&M's shared EU store. Product runs on 38 of them and stores on 46.

What is H&M's shared EU store?

+

Croatia, Cyprus, Estonia, Latvia, Lithuania, Luxembourg and Slovenia shop on one H&M store in English and EUR. Send the country code (hr, cy, ee, lv, lt, lu, si): answers say store "eu". Search, stock, grids, suggestions, stores and production work there; product does not (use search or stock).

Can I see where an H&M item is made?

+

Yes. production returns the countries of production and each supplier and factory with name, city and workers range, as H&M publishes them for the article; street addresses and contacts are left out. The US capture of 1310382004 named one supplier and one factory in Sukabumi, Indonesia. H&M Production API docs

Does it cover COS, ARKET, Weekday or & Other Stories?

+

Not their own online stores: the API reads the H&M brand's stores. Items H&M itself sells on hm.com under those labels do appear, with the label in markers.

What do H&M's terms say?

+

H&M's US Terms of Use (effective 28 June 2024) ask users not to use spiders, bots, crawlers or other automated tools to navigate or search hm.com or to copy its content, and say site content is for personal, non-commercial use. We do not interpret them for you: read the current terms for your market and use case. You are responsible for your own compliance. This is not legal advice.

How much does an H&M request cost?

+

product costs 2 credits; the other 8 endpoints cost 1 credit per call. New accounts get 50 free credits on signup, one time and with no card. Paid plans start with Hobby at $15 per month for 3,000 credits; on Growth credits cost $1 per 1,000, so a 1-credit call costs $0.001. Reading one article in 20 markets every day is 20 credits a day. A 400 and a failed upstream call are not charged; a not-found is charged.

How fresh is the data, and how long does a call take?

+

Every request reads H&M when you call it and carries fetched_at; nothing is cached. Most calls answer in 1 to 10 seconds; product reads the product page and usually takes 4 to 60 seconds. Set a client timeout of 120 seconds.

Explore more of Scavio

Best H&M country price APIs

Seven options priced, plus 44 articles in 41 online stores: the median cost 114% more in its dearest store.

How to get H&M prices by country

One article code in every market, member price, stock by size and a daily Black Friday poll, step by step.

Is H&M more expensive in Denmark?

131 articles online in Denmark, Sweden and Norway: a median 12.9% above Sweden, 1.1% below Norway.

Vinted API

Second-hand listings, H&M items included, with prices and sellers.

Nordstrom API

Nordstrom sale prices and store pickup by size.

Trendyol API

Trendyol fashion and marketplace prices on 35 storefronts.

IKEA API

IKEA prices by country with one article number.

Amazon API

Search, product and offers across 22 marketplaces.

H&M API docs

All 9 endpoints with params and real responses.

Start reading H&M prices

50 free credits on signup, no card. One key for H&M and every other Scavio platform.

Get your API keySee pricing
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

Ask AI about Scavio

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy