Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Musinsa API page →
E-commerce & Marketplaces

Musinsa API & Scraper

Musinsa (무신사) is South Korea's largest fashion store: brand stores, outlet, boutique, beauty, kids and a second-hand (USED) section, all priced in won.

6 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

This API reads it as JSON. `search`, `brand` and `category` return product rows with four separately named prices (normal, sale, coupon, final), discount, review count and score, sold-out flag and brand, with Musinsa's own filters (gender, category, brand, price range, on sale, minimum discount, colour, size, exclusives, coupon, outlet or boutique, used) and ten sort orders. `product` returns one product in full: Korean and English title, style number, category path, the four prices, every size and colour variant with its own in-stock flag and price difference, the measured size chart in cm, the product facts table, rating, review count, likes, page views and purchases, delivery date and the seller's published business details. `reviews` returns 20 reviews per page with the bought size, the reviewer's height, weight and gender when shared, and the fit survey. `ranking` returns Musinsa's ranking tab: 100 products per answer with rank, prices, rising label and the sales count Musinsa prints.

Reference

What a Musinsa field actually contains

Fields that read differently from how they look. Every row was measured against live Musinsa answers on 2026-10-14.

FieldWhat it holds
normal_price, sale_price, coupon_price, final_priceFour prices in won. normal_price is the struck-through price, sale_price the selling price, coupon_price the price after the product coupon any visitor can apply (null when no coupon lowers it), final_price the price Musinsa shows, after the coupon and any extra discount. One product: 72,900 / 61,000 / 51,850 / 51,850. On 16 of 16 products the search row and the product page agreed.
min_price, max_price, min_discount, price sortsMusinsa applies its price range, minimum-discount filter and price sorts to final_price and final_discount_rate, not to the sale price. A row with sale price 32,900 and final price 26,370 is inside a 0 to 30,000 range.
review_score_pct vs ratingListing rows carry review_score_pct on a 0 to 100 scale; product carries rating out of 5. 98 in a row is 4.9 on the product: 11 of 11 matched. Both are null when there are no reviews.
sales_text, sales_count_approxThe ranking card prints rounded Korean counts: 판매 4.6천개 means about 4,600 sold, 1.3만개 about 13,000. sales_count_approx is that number; the product's purchase_total had 4,631 and 13,025 for the same products.
options.variants[].in_stockOne row per size or colour variant with its own in-stock flag. remain_quantity stays null unless Musinsa shows a low-stock count. A sold-out variant is listed as in_stock false; a sold-out product is still returned, with is_sold_out true.
size_chartMeasurements in cm per size, as the brand entered them. Points the brand did not measure are null, not 0. Clothing only: shoes, bags and cosmetics have none (6 of 16 sampled products had a chart).
product_idMusinsa's product number, the one in musinsa.com/products/<id>, as an integer. Every search, brand, category and ranking row carries it and product accepts it unchanged: 16 of 16 round trips matched.

Prices are Musinsa Korea's prices in won and do not change with where the request comes from. Member prices and card-conditional '최대혜택가' prices are only shown to logged-in buyers and are not returned.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/musinsa/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "맨투맨"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "musinsa",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1492.7,
    "record_count": 60,
    "bytes": 56893,
    "cache_hit": false,
    "total": 49097,
    "ads_count": 0,
    "pagination": {
      "page": 1,
      "page_size": 60,
      "total_pages": 819,
      "has_more": true,
      "past_last_page": false
    },
    "price_basis": "KRW, Musinsa's displayed prices (VAT included)",
    "upstream_requests": 1,
    "charged_credits": 2,
    "version": "0.1.0",
    "request_id": "cb503bf455084407",
    "queue_ms": 1.4,
    "fetched_at": "2026-10-14T18:57:28.814Z"
  },
  "data": {
    "query": "맨투맨",
    "gender": "all",
    "sort": "popular",
    "page": 1,
    "page_size": 60,
    "total": 49097,
    "total_pages": 819,
    "has_more": true,
    "results": [
      {
        "product_id": 7444092,
        "title": "썸홀 래글런 스웨트셔츠 [블루그레이]",
        "url": "https://www.musinsa.com/products/7444092",
        "image": "https://image.msscdn.net/images/goods_img/20261002/7444092/7444092_17909067659051_500.jpg",
        "brand": "moderment",
        "brand_name": "모더먼트",
        "gender": "공용",
        "normal_price": 58000,
        "sale_price": 40600,
        "coupon_price": null,
        "final_price": 40600,
        "currency": "KRW",
        "discount_rate": 30,
        "final_discount_rate": 30,
        "coupon_discount_rate": null,
        "extra_discount_amount": null,
        "option_price_varies": false,
        "is_sold_out": false,
        "review_count": 0,
        "review_score_pct": null,
        "is_lowest_price": false,
        "plus_delivery": false,
        "used_condition": null,
        "is_ad": false,
        "labels": []
      },
      {
        "product_id": 6276978,
        "title": "[굿펠로우] 라이트 테크그리드 하프집 풀오버 (3color)",
        "url": "https://www.musinsa.com/products/6276978",
        "image": "https://image.msscdn.net/images/goods_img/20260408/6276978/6276978_17901475723357_500.jpg",
        "brand": "musinsastandardsp",
        "brand_name": "무신사 스탠다드 스포츠",
        "gender": "남성",
        "normal_price": 89900,
        "sale_price": 89900,
        "coupon_price": null,
        "final_price": 89900,
        "currency": "KRW",
        "discount_rate": 0,
        "final_discount_rate": 0,
        "coupon_discount_rate": null,
        "extra_discount_amount": null,
        "option_price_varies": false,
        "is_sold_out": false,
        "review_count": 3,
        "review_score_pct": 100,
        "is_lowest_price": false,
        "plus_delivery": false,
        "used_condition": null,
        "is_ad": false,
        "labels": []
      },
      {
        "product_id": 7332146,
        "title": "NBNCG15213 / UNI PF 올데이 맨투맨 (M/GRAY)",
        "url": "https://www.musinsa.com/products/7332146",
        "image": "https://image.msscdn.net/images/goods_img/20260915/7332146/7332146_17894525844388_500.jpg",
        "brand": "newbalance",
        "brand_name": "뉴발란스",
        "gender": "공용",
        "normal_price": 89900,
        "sale_price": 89900,
        "coupon_price": null,
        "final_price": 89900,
        "currency": "KRW",
        "discount_rate": 0,
        "final_discount_rate": 0,
        "coupon_discount_rate": null,
        "extra_discount_amount": null,
        "option_price_varies": false,
        "is_sold_out": false,
        "review_count": 1,
        "review_score_pct": 100,
        "is_lowest_price": false,
        "plus_delivery": false,
        "used_condition": null,
        "is_ad": false,
        "labels": []
      }
    ],
    "ads": []
  }
}
Actions

What the Musinsa API does

ActionDescriptionConcrete use caseKey params
searchKeyword search on musinsa.com (무신사 스토어). Each row carries four named prices (normal, sale, coupon, final), the discount, review count and score, sold-out flag and brand. Filters: gender, category, brand, price range, on-sale, minimum discount, colour, size, sold-out inclusion, exclusives, coupon, outlet/boutique store, used listings; ten sort orders. Every filter was measured against the unfiltered total; filters the site silently ignores are not offered.Pricing teams call search to get keyword search on musinsa.com (무신사 스토어).query, category, brand, min_price, max_price, ...
brandEvery product of one brand on Musinsa (the brand store grid), with the same row shape, filters and sorts as `search`.Marketplace operators call brand to get every product of one brand on Musinsa (the brand store grid), with the same row shape, filter….brand, category, min_price, max_price, on_sale, ...
categoryEvery product of one Musinsa category (e.g. `001005` 맨투맨/스웨트셔츠, `002` outerwear), with the same row shape, filters and sorts as `search`.Catalog enrichment teams call category to get every product of one Musinsa category (e.g.category, brand, min_price, max_price, on_sale, ...
productOne Musinsa product in full: title (Korean and English), brand, style number, season, gender, category path, images; the four prices (normal / sale / coupon / final) and discount; every size/colour variant with its own in-stock flag, price delta and expected delivery date; the measured size chart (cm per size); the product facts table (material, colour, maker, country of manufacture, care); rating out of 5, review count, like count, page views and purchases; delivery and return fee; ranking badges; the seller's published business details.Retail analysts call product to get one Musinsa product in full.product_id, url
reviewsReviews (후기) of one Musinsa product, 20 per page: rating 1-5, text, date, the size or option the reviewer bought, their height / weight / gender when they shared it, the fit survey answers (size, colour, quality …), photos, likes and comments.Pricing teams call reviews to get reviews (후기) of one Musinsa product, 20 per page.product_id, url, sort, photo_only, page, ...
rankingMusinsa's live sales ranking (랭킹), the list the site's ranking tab shows: rank, product, brand, price shown and normal price, discount, sold-out flag, the rising (급상승) label, the source's sales count ('판매 3.2천개' → ~3,200), how many people are viewing / buying now, review count and score. 100 products per answer (the `used` section returns 300). Choose the section, category, period, gender and age band.Marketplace operators call ranking to get musinsa's live sales ranking (랭킹), the list the site's ranking tab shows.section, category, period, gender, age_band
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/musinsa/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"맨투맨"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.musinsa.search with {"query":"맨투맨"}.
Use cases

Who uses this API and why

  • Track the Musinsa ranking daily per category, gender and age band to spot rising Korean fashion brands.
  • Monitor a brand's full Musinsa catalogue with sale, coupon and final prices and the discount.
  • Check size-level stock on products you sell or watch before they sell out.
  • Build size and fit datasets from size charts and reviews that carry the reviewer's height, weight and bought size.
  • Compare a product's sales count, likes and review score against similar items in the same category.
FAQ

Questions developers ask before integrating

Do I need a Musinsa account?

No. Everything is read logged out, and you call reefapi.com from anywhere.

Can I get the 무신사 랭킹 (ranking)?

Yes. ranking takes section (overall, new, rising, offline, used, boutique, outlet, kids and nine style lists), category, period (real time, last day, last week, last month), gender and age band, and returns 100 ranked products; the used list returns 300.

Which search filters work?

Gender, category, brand, price range, on sale, minimum discount, colour, size, include sold out, exclusives, coupon, outlet or boutique, and used. Each was checked against the unfiltered count in the same run: 맨투맨 49,101 → men 35,599, women 31,046, brand musinsastandard 218, 0 to 30,000 won 7,484, 50 % off or more 6,775, black 13,475, XL 15,494, outlet 15,463, used 12,382.

Is stock per size available?

Yes, from product: every variant has its own in_stock flag. On one shirt 4 of 5 sizes were in stock and S was sold out.

What is in a review?

Rating 1 to 5, text, date, the size or option bought, photos, likes, comments, the fit survey answers (size, colour, quality) and the reviewer's height, weight and gender when they shared them. 20 per page; filter to photo reviews and sort by helpful, newest, rating or comments.

How deep can I page a search?

Musinsa stops at its own last page and never past page 1000; up to 100 rows per page. A page past the end answers NOT_FOUND instead of repeating rows.

Do you return second-hand (USED) listings?

Yes. search with used=true returns Musinsa's USED listings with their condition grade, and ranking section used returns the second-hand ranking.

Is this the same as the KREAM API?

No. KREAM is a sneaker resale market with bids and asks. Musinsa is a retail store selling new goods from brand stores, plus its own second-hand section.

What is the Musinsa API?

Musinsa API is a ReefAPI endpoint group for korea's #1 fashion store: search, brand and category listings, full products with per-size stock, reviews and the live sales ranking. It returns live JSON through POST requests under /musinsa/v1.

Is the Musinsa API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Musinsa calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Musinsa login or account?

No login to Musinsa is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Musinsa data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Musinsa API use?

Musinsa actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Musinsa from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call musinsa actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / musinsa

Musinsa

Korea's #1 fashion store: search, brand and category listings, full products with per-size stock, reviews and the live sales ranking.

base /musinsa/v16 endpoints
post/musinsa/v1/brand2 credits

Every product of one brand on Musinsa (the brand store grid), with the same row shape, filters and sorts as `search`.

ParameterAllowed / rangeDescription
categoryoptional—Musinsa category code: 3 digits per level (e.g. `001` 상의 tops, `001005` 맨투맨/스웨트셔츠, `002` 아우터 outerwear, `003` 바지 trousers, `103` 신발 shoes, `104` 뷰티 beauty). A product's `category_path[].code` is accepted as-is. An unknown code answers an empty result (total 0).
brandrequired—Brand slug as Musinsa writes it in the brand URL musinsa.com/brand/<slug> and in every row's `brand` (e.g. `musinsastandard`, `nike`, `covernat`).
min_priceoptional0–Minimum price in KRW, applied by the source to `final_price` (the price shown, after the product coupon and any extra discount).
max_priceoptional0–Maximum price in KRW, applied to `final_price` like `min_price`.
on_saleoptional—`true` = only discounted products (세일). `false` is the same as leaving it out.
min_discountoptional10 · 20 · 30 · 40 · 50 · 60 · 70 · 80Only products whose total discount (`final_discount_rate`, coupon included) is at least this many percent.
coloroptional—Musinsa colour code in capitals, as in the site's colour facet (e.g. `BLACK`, `WHITE`, `GRAY`, `NAVY`, `BEIGE`, `IVORY`, `KHAKI`, `SKYBLUE`). An unknown code answers an empty result.
sizeoptionalXS · S · M · L · XL · XXLStandard clothing size (the site's 사이즈 facet).
include_sold_out = falseoptional—`true` also returns sold-out (품절) products; by default the site hides them.
exclusiveoptional—`true` = only Musinsa exclusives (단독).
couponoptional—`true` = only products with a coupon (쿠폰).
storeoptionaloutlet · boutiqueOnly one Musinsa sub-store.
usedoptional—`true` = the second-hand (USED 중고) listings instead of new products; rows then carry `used_condition`.
gender = alloptionalall · men · womenMusinsa's gender filter (the site's 전체 / 남성 / 여성 switch).
sort = popularoptionalpopular · newest · discount · price_asc · price_desc · reviews · sales_1d · sales_1w · sales_1m · sales_3mResult order, the site's own sort codes.
page = 1optional1–1000Result page. The source stops at page 1000 and at its own last page (`total_pages`).
page_size = 60optional1–100Rows per page, 1-100 (the site uses 60).
Try in playground →
post/musinsa/v1/category2 credits

Every product of one Musinsa category (e.g. `001005` 맨투맨/스웨트셔츠, `002` outerwear), with the same row shape, filters and sorts as `search`.

ParameterAllowed / rangeDescription
categoryrequired—Musinsa category code: 3 digits per level (e.g. `001` 상의 tops, `001005` 맨투맨/스웨트셔츠, `002` 아우터 outerwear, `003` 바지 trousers, `103` 신발 shoes, `104` 뷰티 beauty). A product's `category_path[].code` is accepted as-is. An unknown code answers an empty result (total 0).
brandoptional—Brand slug as Musinsa writes it in the brand URL musinsa.com/brand/<slug> and in every row's `brand` (e.g. `musinsastandard`, `nike`, `covernat`).
min_priceoptional0–Minimum price in KRW, applied by the source to `final_price` (the price shown, after the product coupon and any extra discount).
max_priceoptional0–Maximum price in KRW, applied to `final_price` like `min_price`.
on_saleoptional—`true` = only discounted products (세일). `false` is the same as leaving it out.
min_discountoptional10 · 20 · 30 · 40 · 50 · 60 · 70 · 80Only products whose total discount (`final_discount_rate`, coupon included) is at least this many percent.
coloroptional—Musinsa colour code in capitals, as in the site's colour facet (e.g. `BLACK`, `WHITE`, `GRAY`, `NAVY`, `BEIGE`, `IVORY`, `KHAKI`, `SKYBLUE`). An unknown code answers an empty result.
sizeoptionalXS · S · M · L · XL · XXLStandard clothing size (the site's 사이즈 facet).
include_sold_out = falseoptional—`true` also returns sold-out (품절) products; by default the site hides them.
exclusiveoptional—`true` = only Musinsa exclusives (단독).
couponoptional—`true` = only products with a coupon (쿠폰).
storeoptionaloutlet · boutiqueOnly one Musinsa sub-store.
usedoptional—`true` = the second-hand (USED 중고) listings instead of new products; rows then carry `used_condition`.
gender = alloptionalall · men · womenMusinsa's gender filter (the site's 전체 / 남성 / 여성 switch).
sort = popularoptionalpopular · newest · discount · price_asc · price_desc · reviews · sales_1d · sales_1w · sales_1m · sales_3mResult order, the site's own sort codes.
page = 1optional1–1000Result page. The source stops at page 1000 and at its own last page (`total_pages`).
page_size = 60optional1–100Rows per page, 1-100 (the site uses 60).
Try in playground →
post/musinsa/v1/product3 credits

One Musinsa product in full: title (Korean and English), brand, style number, season, gender, category path, images; the four prices (normal / sale / coupon / final) and discount; every size/colour variant with its own in-stock flag, price delta and expected delivery date; the measured size chart (cm per size); the product facts table (material, colour, maker, country of manufacture, care); rating out of 5, review count, like count, page views and purchases; delivery and return fee; ranking badges; the seller's published business details.

ParameterAllowed / rangeDescription
product_idoptional—Musinsa product number (goodsNo), the `product_id` of any search, brand, category or ranking row (also the number in musinsa.com/products/<id>). Provide product_id OR url.
urloptional—A musinsa.com product URL; alternative to product_id.
Try in playground →
post/musinsa/v1/reviews2 credits

Reviews (후기) of one Musinsa product, 20 per page: rating 1-5, text, date, the size or option the reviewer bought, their height / weight / gender when they shared it, the fit survey answers (size, colour, quality …), photos, likes and comments.

ParameterAllowed / rangeDescription
product_idoptional—Musinsa product number (goodsNo), the `product_id` of any search, brand, category or ranking row (also the number in musinsa.com/products/<id>). Provide product_id OR url.
urloptional—A musinsa.com product URL; alternative to product_id.
sort = helpfuloptionalhelpful · newest · rating_high · rating_low · most_commentsReview order.
photo_only = falseoptional—`true` = only reviews with photos.
page = 1optional1–5000Review page. A page past the last one answers NOT_FOUND.
page_size = 20optional1–20Reviews per page, 1-20 (the source refuses more).
Try in playground →
post/musinsa/v1/ranking3 credits

Musinsa's live sales ranking (랭킹), the list the site's ranking tab shows: rank, product, brand, price shown and normal price, discount, sold-out flag, the rising (급상승) label, the source's sales count ('판매 3.2천개' → ~3,200), how many people are viewing / buying now, review count and score. 100 products per answer (the `used` section returns 300). Choose the section, category, period, gender and age band.

ParameterAllowed / rangeDescription
section = alloptionalall · new · rising · offline · used · boutique · outlet · kids · street · minimal · preppy · romantic · girlcore · casual · workwear · retro · chicRanking list (the site's ranking tabs).
categoryoptional—Category inside the section, as the site's sub-tabs list it. all/new/rising/offline: `000` all, `104` beauty, `103` shoes, `001` tops, `002` outerwear, `003` trousers, `100` dresses & skirts, `004` bags, `120` hats, `101` accessories, `026` underwear, `017` sports, `102` digital/life, `122` food/health, `106` kids. Style sections: `000`, `001`, `002`, `003`, `100`, `004`. used: `109000` all, `109001` tops, `109002` outerwear, `109003` trousers, `109004` dresses, `109005` kids, `109006` sports. boutique: 25884 all, 25898 clothing, 25899 shoes, 25900 bags, 25901 accessories, 25902 lifestyle, 25903 beauty. outlet: 29279 all, 29280 clothing, 29281 shoes, 29282 accessories, 29283 kids, 29284 sports. kids: 29285 all … 29299. Default: the section's 'all'.
period = realtimeoptionalrealtime · daily · weekly · monthlyRanking window.
gender = alloptionalall · men · womenMusinsa's gender filter (the site's 전체 / 남성 / 여성 switch).
age_band = alloptionalall · under_19 · 20_24 · 25_29 · 30_34 · 35_39 · 40_plusShopper age band the ranking is computed for.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.