# Musinsa Scraper: 무신사 크롤러 (`getascraper/musinsa-scraper`) Actor

Scrape product listings, prices, discounts, brands, and reviews from Musinsa (musinsa.com), Korea's #1 online fashion marketplace.

- **URL**: https://apify.com/getascraper/musinsa-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.33 / 1,000 product records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Musinsa Scraper: 무신사 크롤러

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#FCE8F0;border:1px solid #F3C4D9;border-top:4px solid #D6336C;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Get Musinsa product data, prices, discounts, and brand details ready for your spreadsheet in minutes.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Pull live listings from 무신사 (Musinsa), Korea's #1 fashion marketplace, by category or search keyword. No login and no browser setup required.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C4D9;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B02458">🏷️ Live pricing and discounts</span><br>
<span style="font-size:12px;color:#57534E">Current price, original price, and discount percent on every listing</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C4D9;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B02458">⭐ Real review signals</span><br>
<span style="font-size:12px;color:#57534E">Review count and score for every product, straight from the listing</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C4D9;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B02458">🏢 Verified seller details</span><br>
<span style="font-size:12px;color:#57534E">Legal business name, CEO, and registration number for each seller</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F3C4D9;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B02458">🖼️ Full image galleries</span><br>
<span style="font-size:12px;color:#57534E">Thumbnail plus the complete product gallery with detail scraping on</span>
</td>
</tr>
</table>

Get structured data from **무신사** (Musinsa), Korea's largest online fashion marketplace. Give this Actor a category code or a search keyword and it returns one clean row per product: name (Korean and English), brand, current price, original price, discount percent, review count and score, and sold-out status. Turn on detail-page scraping and each product also gets its full category path, seller's registered business details, size information, and complete image gallery. Built for price monitoring, trend research, dropshipping sourcing, and any tool that needs clean, structured Korean fashion data without opening one product page at a time.

<table width="100%"><tr>
<td style="padding:12px 18px;background:#FCE8F0;border-left:4px solid #D6336C">
<span style="font-size:15px;color:#1C1917">⚡ <b>Most catalog scrapers stop at name and price.</b> This one also pulls each seller's registered business details and the full image gallery, ready for sourcing or compliance checks.</span>
</td>
</tr></table>

### 🔍 What does Musinsa Scraper do?

This Actor pulls product data from **Musinsa** (musinsa.com) by category code or search keyword.

Give it one or more category codes, such as `001002` for a shirts sub-category, or search keywords like "니트" (knit), and it returns every product Musinsa shows for that source: name, brand, current price, original price, discount percent, review count and score, sold-out status, and a thumbnail. Turn on detail-page scraping and each product also gets its full category breadcrumb, seller's registered business name, CEO, and registration number, size-system details, and the complete product image gallery. It runs on the Apify platform with scheduling, integrations (Make, Zapier, Google Sheets), and run monitoring built in.

This version returns the first batch of listings Musinsa serves per category or keyword (up to about 60 products per source). Run more categories or keywords in the same job to widen coverage.

### 💡 Why use Musinsa Scraper?

- **I am a dropshipping reseller** sourcing trending Korean fashion items to list on my own store, tracking price and discount changes so I know when to restock or drop a listing.
- **I am a trend researcher** tracking which K-fashion brands and styles are gaining traction on Musinsa, using review count and score as a proxy for real demand.
- **I am a competitive intelligence analyst** at a fashion brand monitoring rival sellers' pricing and stock status across Musinsa's marketplace to adjust my own pricing strategy.
- **I am a marketplace aggregator** building a catalog of Korean fashion products for my own storefront, pulling brand, imagery, and category data in bulk instead of copying it by hand.

### 🚀 How to use Musinsa Scraper

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FCE8F0;border:1px solid #F3C4D9;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#D6336C;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick categories or keywords</span><br>
<span style="font-size:12px;color:#57534E">Add one or more Musinsa category codes and/or search keywords.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FCE8F0;border:1px solid #F3C4D9;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#D6336C;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose your depth</span><br>
<span style="font-size:12px;color:#57534E">Turn on detail-page scraping to also pull seller info, size data, and full image galleries.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FCE8F0;border:1px solid #F3C4D9;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#D6336C;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Run and export</span><br>
<span style="font-size:12px;color:#57534E">Download results as a spreadsheet or table, or pull them into your own tools.</span>
</td>
</tr>
</table>

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `categoryCodes` | array of strings | No | Musinsa category codes to scrape, e.g. `001002` for a shirts sub-category. Returns the first batch of items (up to about 60) per category. |
| `searchKeywords` | array of strings | No | Keywords to search on Musinsa. Same coverage limit as categories. |
| `maxItems` | integer | No | Maximum number of products to return across all categories and keywords. Defaults to `100`. Use `0` for no limit, still bounded by the per-source coverage limit above. |
| `scrapeDetail` | boolean | No | When enabled, each product's page is also opened to collect the full category path, seller's registered business details, size information, and the complete image gallery. When disabled, only the faster listing data is collected. Defaults to enabled. |
| `proxyConfiguration` | object | No | Proxy settings used for every request. The default works for every Musinsa page this Actor visits, no special configuration needed. |

At least one of `categoryCodes` or `searchKeywords` is required for a run to return results.

### 📦 Output

Download the results as a spreadsheet, a table, or structured data ready for your own systems. Each product is one row:

```json
{
  "dataType": "product",
  "goodsNo": "6537050",
  "goodsName": "에센셜 워시드 코튼 크롭 셔츠 [아이보리]",
  "goodsNameEn": "Essential Washed Cotton Crop Shirt [Ivory]",
  "url": "https://www.musinsa.com/products/6537050",
  "brandName": "르아르",
  "brandNameEn": "LEIRE",
  "brandLinkUrl": "https://www.musinsa.com/brand/leire",
  "price": 32900,
  "normalPrice": 37000,
  "discountRate": 11,
  "reviewCount": 0,
  "reviewScore": 0,
  "isSoldOut": false,
  "thumbnail": "https://image.msscdn.net/images/goods_img/20260522/6537050/6537050_17822787563532_500.jpg",
  "gender": "남성",
  "categoryPath": "Clothing > 셔츠/남방 > 캐주얼 셔츠",
  "sourceCategoryCode": "001002",
  "sizeType": "20",
  "isUseSize": true,
  "companyName": "주식회사 에스엔엘컴퍼니",
  "companyCeo": "임동근",
  "companyBizRegNo": "3248802071",
  "companyAddress": "서울 성동구 무학로4길 2",
  "scrapedAt": "2026-07-11T00:47:42.176Z"
}
```

Every category run also returns one summary row with the total item count Musinsa reports for that category:

```json
{
  "dataType": "category_summary",
  "categoryCode": "001002",
  "url": "https://www.musinsa.com/category/001002/goods",
  "totalItemCount": 44159,
  "scrapedAt": "2026-07-11T00:47:39.594Z"
}
```

### 📊 Output data fields

| Field | Type | Description |
| --- | --- | --- |
| `dataType` | string | Row type: `product` or `category_summary`. |
| `goodsNo` | string | Musinsa's internal product ID. |
| `goodsName` | string | Product name in Korean. |
| `goodsNameEn` | string | Product name in English, when Musinsa provides one. |
| `url` | string | Direct link to the product page. |
| `brandName` | string | Brand name in Korean. |
| `brandNameEn` | string | Brand name in English. |
| `brandLinkUrl` | string | Link to the brand's storefront on Musinsa. |
| `price` | number | Current selling price, in Korean won. |
| `normalPrice` | number | Original price before discount, in Korean won. |
| `discountRate` | number | Discount percent off the original price. |
| `reviewCount` | number | Number of customer reviews. |
| `reviewScore` | number | Average customer satisfaction score. |
| `isSoldOut` | boolean | Whether the product is currently out of stock. |
| `thumbnail` | string | Listing thumbnail image URL. |
| `gender` | string | Target gender or demographic for the product. |
| `categoryPath` | string | Full category breadcrumb, collected when detail-page scraping is enabled. |
| `sourceCategoryCode` | string | The category code you searched, for rows sourced from a category run. |
| `sourceKeyword` | string | The keyword you searched, for rows sourced from a search run. |
| `sizeType` | string | Musinsa's internal size-system code, collected when detail-page scraping is enabled. |
| `isUseSize` | boolean | Whether the product uses Musinsa's size selector, collected when detail-page scraping is enabled. |
| `images` | array of strings | Full product image gallery, collected when detail-page scraping is enabled. |
| `companyName` | string | Seller's registered legal business name, collected when detail-page scraping is enabled. |
| `companyCeo` | string | Seller's registered CEO name, collected when detail-page scraping is enabled. |
| `companyBizRegNo` | string | Seller's business registration number, collected when detail-page scraping is enabled. |
| `companyAddress` | string | Seller's registered business address, collected when detail-page scraping is enabled. |
| `categoryCode` | string | Category code (category summary rows only). |
| `totalItemCount` | number | Total number of items Musinsa reports for the category (category summary rows only). |
| `scrapedAt` | string | When the row was collected. |

### 💰 Pricing

This Actor uses pay-per-result pricing: you pay for the products you actually get back, and nothing for an empty run. There is no subscription and no minimum spend. Use `maxItems` to control how many results a run returns, and turn `scrapeDetail` off when you only need listing-page pricing and brand data.

### ⭐ Enjoying Musinsa Scraper: 무신사 크롤러?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#FCE8F0;border:1px solid #F3C4D9;border-left:5px solid #D6336C;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Sourcing Korean fashion trends without opening a hundred tabs?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other resellers and researchers tracking K-fashion find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#D6336C;border:1px solid #F3C4D9;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/musinsa-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips

- Turn off `scrapeDetail` for a faster, lighter run when you only need listing-page price, brand, and review data.
- Start with a low `maxItems` while testing a new category or keyword, then raise it once you know what it returns.
- Batch several category codes and search keywords into one run instead of starting a new run for each one.
- Re-run categories you care about on a schedule to catch new discounts as Musinsa posts them.
- This version returns the first batch of listings per category or keyword. Split a broad category into narrower sub-category codes to widen your coverage.

### ❓ FAQ, disclaimers, and support

##### 무신사 상품 데이터를 어떻게 수집하나요?

Add category codes or search keywords to the Actor's input and run it. It returns every product Musinsa shows for that source, with prices, discounts, brand, and review data.

##### 한 번에 몇 개의 상품을 가져올 수 있나요?

This version returns the first batch of listings per category or keyword, typically up to about 60 products. Add more categories or keywords in the same run to widen coverage.

##### Does it get blocked while scraping Musinsa?

Musinsa's public category, search, and product pages have shown no anti-bot friction in testing. The Actor's default proxy settings have run cleanly against all three page types.

##### Does it extract private customer data like phone numbers?

No. This Actor only collects public catalog data that Musinsa shows to any visitor. The one business-detail field it collects, the seller's registered company info, is the seller's own published business registration, not private customer data.

##### How fresh is the pricing and review data?

Every run fetches live pages at the time it runs, so prices, discounts, stock status, and review counts reflect what Musinsa shows that moment.

##### Do I need detail-page scraping turned on to get brand and discount data?

No. Brand, current price, original price, discount percent, review count, and review score all come back on the fast listing-only pass. Category path, seller business details, size info, and the full image gallery only come back when `scrapeDetail` is enabled.

##### Is scraping Musinsa product data legal?

This Actor collects publicly available product data. You are responsible for complying with Musinsa's Terms of Service and applicable laws in your use of the data.

##### Found a bug or need a field added?

Open an issue on the Actor's **Issues** tab. Custom solutions are available on request.

### 🔗 Other actors

- [Gmarket Korea Scraper](https://apify.com/getascraper/gmarket-scraper) ↗ - pulls product listings and pricing from Gmarket's Korean marketplace.
- [Poizon Scraper](https://apify.com/getascraper/poizon-scraper) ↗ - collects Poizon sneaker, apparel, and luxury resale listings.
- [Kakaku Scraper](https://apify.com/getascraper/kakaku-scraper) ↗ - extracts Japanese price comparison data from Kakaku.com.
- [Rakuten Price Monitor](https://apify.com/getascraper/rakuten-jp-price-monitor) ↗ - tracks live prices on Rakuten Ichiba in Japan.
- [11st products crawler](https://apify.com/getascraper/11st-products-crawler) ↗ - pulls Korean marketplace product pricing in KRW.

# Actor input Schema

## `categoryCodes` (type: `array`):

Musinsa category codes to scrape (the numeric code segment of https://www.musinsa.com/category/<code>/goods, e.g. '001002' for a tops sub-category). v1 returns the first ~60 items per category (SSR page 1 only -- see README for the pagination limitation).

## `searchKeywords` (type: `array`):

Keywords to search on Musinsa (hits https://www.musinsa.com/search/goods?keyword=<keyword>). Same 60-item, page-1-only limitation as categories.

## `maxItems` (type: `integer`):

Maximum number of products to scrape across all categories and keywords (0 = unlimited).

## `scrapeDetail` (type: `boolean`):

When enabled, each product's detail page (/products/<goodsNo>) is also fetched for richer data: full category path, seller/company registration info, size-system flags, and the full image gallery. When disabled, only listing-card data (name, price, discount, brand, review count/score, sold-out flag) is used for a much faster run.

## `proxyConfiguration` (type: `object`):

Datacenter proxy is the default. Live testing during the feasibility pass found zero anti-bot friction (no TLS/JA3 gate, no signed params) on the category/search/product URLs this Actor hits from a non-Korean IP -- residential/KR-geo proxy is not required. Keep as datacenter unless you see repeated missing **NEXT\_DATA** warnings in the run log.

## Actor input object example

```json
{
  "categoryCodes": [
    "001002"
  ],
  "searchKeywords": [],
  "maxItems": 100,
  "scrapeDetail": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "categoryCodes": [
        "001002"
    ],
    "searchKeywords": [],
    "maxItems": 100,
    "scrapeDetail": true,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/musinsa-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "categoryCodes": ["001002"],
    "searchKeywords": [],
    "maxItems": 100,
    "scrapeDetail": True,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/musinsa-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "categoryCodes": [
    "001002"
  ],
  "searchKeywords": [],
  "maxItems": 100,
  "scrapeDetail": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/musinsa-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/musinsa-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/POxCeoeu918WcwR7y/builds/sLCy9uByLEwJg4RpR/openapi.json
