# Naver Shopping Scraper: Prices, Malls, Reviews (`themineworks/naver-shopping-scraper`) Actor

Scrape Naver Shopping (네이버쇼핑) by keyword: one row per product with price, discount, mall, category path, reviews, rating, purchases, delivery and an ad flag. Sort by relevance or price, filter by price. No login, no API key.

- **URL**: https://apify.com/themineworks/naver-shopping-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.69 / 1,000 products

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Naver Shopping Scraper: Prices, Malls, Reviews (네이버쇼핑)

[![30 Naver Shopping products with price, mall, category and reviews in 19 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/naver-shopping-scraper-hero.png)](https://console.apify.com/actors/W2neIy0Ar4Bb91cJP/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 140,000 runs across 170+ public actors.

Updated 21 Oct 2026: first release. Keyword search on Naver Shopping, one flat row per product with price, discount, mall, full category path, reviews, rating, purchases, delivery and an ad flag. Sort by relevance or by price, filter by a price range. Bookmark this Actor on its Store page so it is one click away next time.

Naver Shopping (네이버쇼핑) is the shopping search inside Naver, Korea's largest search engine. It lists Smart Store sellers, outside malls such as Coupang, Himart and brand sites, and price comparison pages (가격비교) that group one model sold by many malls. This actor searches it by keyword and returns what a shopper in Korea sees, as rows you can sort and join.

### Why choose this actor?

- **No API key, no login, no browser.** You type keywords and press Start. The actor reads the shopping block of Naver's public search page over plain HTTP, so there is no developer application to register, no daily call quota and no captcha.
- **More than the first screen.** One call returns Naver's top 90 cards. Past that the actor splits the keyword's price range into bands and reads the top cards of each band, so a run can return up to 5,000 products a keyword. In our test, 2,000 products for 운동화 came back in 142 seconds, all in shoe categories, with no duplicates.
- **The columns a seller or a brand compares.** Price after discount, list price, discount percent, mall and its 공식 or 인증 badge, full Korean category path (디지털/가전 > 노트북), review count, rating, purchases, wishlist saves, delivery fee and arrival guarantee, Smart Store and Brand Store flags, and `is_ad` for every paid placement.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/W2neIy0Ar4Bb91cJP/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works E-commerce and marketplaces family:** [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [AliExpress Scraper](https://apify.com/themineworks/aliexpress-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Kleinanzeigen.de Scraper](https://apify.com/themineworks/kleinanzeigen-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns the top 30 products for 노트북 (laptop). It took 19 seconds in our test run:

```json
{
  "keywords": ["노트북"],
  "maxItems": 30
}
```

Put several keywords on separate lines to search them in one run. A product that two of your keywords find is delivered once. Korean keywords usually match more products than English ones, since most listings are written in Korean.

Apify's free plan includes $5 of credit every month, which covers about 1,350 products at this actor's Free tier price, counted for runs of 100 products with the $0.003 start fee.

#### Copy to your AI assistant

```text
themineworks/naver-shopping-scraper on Apify. Searches Naver Shopping (네이버쇼핑, Korea) by keyword and returns one flat row per product with price in KRW, list price, discount, mall, category path, reviews, rating, purchases, delivery and an ad flag, with no login and no API key. Call ApifyClient("TOKEN").actor("themineworks/naver-shopping-scraper").call(run_input={"keywords": ["노트북"], "maxItems": 100}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: keywords (list of strings, Korean or English, up to 100). Optional: maxItems (default 50, 1 to 5000, per keyword), sort ("relevance" default, "price_asc", "price_desc"), minPrice and maxPrice (integers in KRW), includeAds (default true), includeCategoryNames (default true), proxyConfiguration (default Apify datacenter proxy). Product rows have no _type field and carry product_id, title, price, original_price, discount_percent, currency, card_type (product, catalog, ad, super_point), is_ad, is_price_comparison, mall_name, mall_id, mall_badge, seller_count, category_id, category_ids, category_path, review_count, rating, purchase_count, wishlist_count, delivery_fee, free_delivery, fast_delivery, is_smart_store, is_brand_store, is_overseas, is_hot_deal, naver_pay, purchase_options (name, lowest_price), image_url, product_url, channel_product_id, naver_rank, keyword, position, sort, price_band, total_results, scraped_at. Each run also writes one row with _type "summary", an "info" row, and a row with _type "error" for each keyword that could not be read; none of these is charged. Full spec: GET https://api.apify.com/v2/acts/themineworks~naver-shopping-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **Keyword search in Korean or English**, up to 100 keywords a run and up to 5,000 products a keyword. Each keyword also gets `total_results`, the number of products Naver reports for it (7,457,966 for 노트북 on 21 Oct 2026).
- **Three sorts.** `relevance` keeps Naver's own ranking. `price_asc` and `price_desc` walk the price range from the cheapest or the most expensive end in bands small enough to be listed in full, and return rows in strict price order.
- **Price range filter.** `minPrice` and `maxPrice` in won are applied by Naver before it answers, to ads as well as listings.
- **Four card types, kept apart.** `product` is one seller's listing, `catalog` is a price comparison page with `seller_count` malls and its options with their lowest price, `ad` is a paid placement, `super_point` is Naver's promoted listing. When the same product shows as an ad and as a listing, you get one row, the listing.
- **Category names, not just ids.** `category_path` is the full Korean path from Naver's own category tree, for example 패션잡화 > 주얼리 > 반지 > 다이아몬드반지. Every product row of our tests had it.
- **Stops cleanly.** Four price bands in a row with nothing new end a keyword; six failed calls in a row end the run; the run stops before its time limit and keeps every row it read. The summary row says why.

### How to use it

#### Basic: one keyword, Naver's order

```json
{
  "keywords": ["무선 이어폰"],
  "maxItems": 200
}
```

Rows come in the order Naver ranks them, ads in the places Naver shows them. `position` is the row's place in your result, `naver_rank` the rank Naver gave the card.

#### Market scan: several keywords in one run

```json
{
  "keywords": ["노트북", "게이밍 노트북", "맥북 에어", "갤럭시북"],
  "maxItems": 500
}
```

A product found under two keywords is delivered once, under the first keyword that found it. In our test, 노트북 and 게이밍 노트북 at 500 each returned 1,000 distinct laptops in 87 seconds.

#### Price band research

```json
{
  "keywords": ["다이아몬드 반지"],
  "minPrice": 500000,
  "maxPrice": 3000000,
  "maxItems": 300,
  "includeAds": false
}
```

Only organic listings and price comparison pages priced 500,000 to 3,000,000 won.

#### Cheapest offers first

```json
{
  "keywords": ["에어팟 프로 2"],
  "sort": "price_asc",
  "minPrice": 150000,
  "maxItems": 100
}
```

Strict price order from the bottom of the range. Set a sensible `minPrice`: the very cheapest rows of a broad keyword are often accessories, deposits or phone plan listings, as on Naver's own 낮은 가격순.

#### Ad monitoring: who pays for your keyword

```json
{
  "keywords": ["선크림", "쿠션 팩트", "비타민C 세럼"],
  "maxItems": 90
}
```

Filter the rows on `is_ad` to see which malls and brands buy placements on each keyword, at what price, next to the organic listings they compete with. Run it daily on a schedule to track changes.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `keywords` | array of strings | empty | Keywords, one search each, for example `노트북`. Up to 100. |
| `maxItems` | integer | `50` | Most products per keyword, 1 to 5,000. |
| `sort` | string | `relevance` | `relevance`, `price_asc` (cheapest first) or `price_desc` (most expensive first). |
| `minPrice` | integer | none | Lowest price in won. |
| `maxPrice` | integer | none | Highest price in won. |
| `includeAds` | boolean | `true` | Keep paid placements (`is_ad: true`). Off returns organic listings and price comparison pages only. |
| `includeCategoryNames` | boolean | `true` | Add the Korean category path to each row. |
| `proxyConfiguration` | object | Apify datacenter proxy | Change only if Naver refuses the run; residential with country KR works too. |

Newest first and most reviewed first are not offered: the search surface this actor reads has no such sort. Sort the rows on `review_count` or `purchase_count` after the run instead.

### What data do you get?

One row per product. Product rows have no `_type` field; the summary, info and error rows do, so a filter on `_type` separates them.

| Field | What it is |
|---|---|
| `product_id` | Naver product id (nvMid), the key to store and join on |
| `title` | Product title as listed |
| `price` | Price in won after the seller discount; the lowest price for a price comparison page |
| `original_price`, `discount_percent` | List price and discount, when Naver shows a discount |
| `currency` | `KRW` |
| `card_type` | `product`, `catalog`, `ad` or `super_point` |
| `is_ad` | Paid placement (광고) |
| `is_price_comparison`, `seller_count` | Price comparison page (가격비교) and how many malls sell it |
| `purchase_options` | Options of a price comparison page with their lowest price, e.g. 256GB at 1,259,880 |
| `mall_name`, `mall_id`, `mall_badge` | The mall or Smart Store, its Naver id, and its 공식 (official) or 인증 (certified) badge |
| `category_id`, `category_ids`, `category_path` | Leaf category id, ids from the top down, and the full Korean path |
| `review_count`, `rating` | Number of reviews and average score out of 5 |
| `purchase_count` | Purchases Naver shows for the listing |
| `wishlist_count` | Wishlist saves (찜) |
| `delivery_fee`, `free_delivery`, `fast_delivery` | Delivery fee in won, free delivery flag, fast delivery type such as `ARRIVAL_GUARANTEE` (도착보장) or `TODAY_DELIVERY` |
| `is_smart_store`, `is_brand_store`, `is_overseas`, `is_hot_deal`, `naver_pay` | Listing flags |
| `image_url`, `product_url` | Main picture, and the link to the listing or to the price comparison page |
| `channel_product_id` | Product id at the Smart Store or the outside mall |
| `naver_rank` | Rank Naver gave the card in its answer |
| `keyword`, `position`, `sort`, `price_band` | The search that found the product, its place in your result, the sort, and the price band of the call (`MIN|MAX`, empty for the plain search) |
| `total_results` | Products Naver reports for the keyword and price range |
| `scraped_at` | When the row was read |

Brand and maker are not part of the search cards Naver serves, so they are not separate columns; the brand is usually the first word of `title`, and price comparison pages carry the maker in the title.

**Summary row** (`_type: "summary"`, never charged): `keywords_requested`, `keywords_read`, `keywords_failed`, `keywords_not_started`, `products_delivered`, `charged_for`, `cards_seen`, `ads_seen`, `duplicates_skipped`, `ads_left_out`, `bff_list_calls`, `bff_count_calls`, `http_requests`, `http_megabytes`, `ended_on_deadline`, `stopped_by_max_cost`, `stopped_by_block_guard`, `shortfall_reason` when fewer products came back than asked, and `per_keyword`, one entry per keyword with `total_results`, `list_calls`, `bands`, `products_delivered` and why it `stopped`. The same summary is saved as the `OUTPUT` record of the run.

**Error rows** (`_type: "error"`, never charged): one per keyword that could not be read, with `error_type` (`blocked`, `fetch_error`), `identifier`, `reason` and `http_status`.

#### Stable fields for automations

These were present in every product row of our test runs (3,200 rows from 4 keywords), and their names will not change:

| Field | What it is |
|---|---|
| `product_id` | The key to store and join on |
| `title` | Product title |
| `price` | Price in won |
| `currency` | `KRW` |
| `card_type` | Card type |
| `is_ad` | Paid placement |
| `category_id` | Leaf category id |
| `category_path` | Korean category path |
| `review_count` | Reviews |
| `image_url` | Main picture |
| `product_url` | Link |
| `keyword` | Search that found it |
| `position` | Place in the result |
| `total_results` | Products on Naver for the keyword |

Optional, present only when Naver shows a value: `mall_name`, `mall_id`, `purchase_count` and `channel_product_id` (not on price comparison pages, which have many malls; 2,192 of 3,200 test rows), `rating` (rows with at least one review), `original_price` and `discount_percent` (1,529 of 3,200), `fast_delivery`, `seller_count` (price comparison pages only) and `mall_badge`.

#### Output examples

A Smart Store listing:

```json
{
  "product_id": "84417974537",
  "title": "베이직스 베이직북14 사무용 가벼운 업무용 인강용 미니 노트북 14인치 8GB 256GB",
  "price": 598000,
  "original_price": 959000,
  "discount_percent": 37,
  "currency": "KRW",
  "card_type": "product",
  "is_ad": false,
  "is_price_comparison": false,
  "mall_name": "베이직스 스토어",
  "mall_id": "ncp_1o8z5m_01",
  "mall_badge": "공식",
  "category_id": "50000151",
  "category_ids": ["50000003", "50000151"],
  "category_path": "디지털/가전 > 노트북",
  "review_count": 14670,
  "rating": 4.77,
  "purchase_count": 2076,
  "wishlist_count": 8450,
  "delivery_fee": 0,
  "free_delivery": true,
  "fast_delivery": "ARRIVAL_GUARANTEE",
  "is_smart_store": true,
  "is_brand_store": false,
  "is_overseas": false,
  "is_hot_deal": false,
  "naver_pay": true,
  "purchase_options": [],
  "image_url": "https://shopping-phinf.pstatic.net/main_8441797/84417974537.15.jpg",
  "product_url": "https://smartstore.naver.com/main/products/6873474215",
  "channel_product_id": "6873474215",
  "naver_rank": 10,
  "keyword": "노트북",
  "position": 2,
  "sort": "relevance",
  "total_results": 7457966,
  "scraped_at": "2026-10-20T22:26:19.948Z"
}
```

A price comparison page (가격비교), 163 malls:

```json
{
  "product_id": "52631236642",
  "title": "삼성전자 갤럭시북4 노트북 NT750XGR-A51A 39.6cm(15.6인치) i5 16GB, 256GB",
  "price": 1259880,
  "currency": "KRW",
  "card_type": "catalog",
  "is_ad": false,
  "is_price_comparison": true,
  "seller_count": 163,
  "category_id": "50000151",
  "category_ids": ["50000003", "50000151"],
  "category_path": "디지털/가전 > 노트북",
  "review_count": 21202,
  "rating": 4.91,
  "wishlist_count": 632,
  "delivery_fee": 0,
  "free_delivery": true,
  "is_smart_store": false,
  "is_brand_store": true,
  "is_overseas": false,
  "is_hot_deal": false,
  "naver_pay": false,
  "purchase_options": [
    { "name": "256GB", "lowest_price": 1259880 },
    { "name": "512GB", "lowest_price": 1347960 }
  ],
  "image_url": "https://shopping-phinf.pstatic.net/main_5263123/52631236642.20250124094900.jpg",
  "product_url": "https://search.shopping.naver.com/catalog/52631236642",
  "naver_rank": 1,
  "keyword": "노트북",
  "position": 7,
  "sort": "relevance",
  "total_results": 7457966,
  "scraped_at": "2026-10-20T22:26:19.948Z"
}
```

A paid placement from an outside mall:

```json
{
  "product_id": "61501313481",
  "title": "삼성전자 갤럭시북6 NT740VJK-KC38G",
  "price": 1240000,
  "currency": "KRW",
  "card_type": "ad",
  "is_ad": true,
  "is_price_comparison": false,
  "mall_name": "하이마트쇼핑몰",
  "mall_id": "himart1",
  "category_id": "50000151",
  "category_ids": ["50000003", "50000151"],
  "category_path": "디지털/가전 > 노트북",
  "review_count": 0,
  "purchase_count": 0,
  "wishlist_count": 0,
  "delivery_fee": 0,
  "free_delivery": true,
  "fast_delivery": "TODAY_DELIVERY",
  "is_smart_store": false,
  "is_brand_store": false,
  "is_overseas": false,
  "is_hot_deal": false,
  "naver_pay": true,
  "purchase_options": [],
  "image_url": "https://shopping-phinf.pstatic.net/main_6150131/61501313481.1.jpg",
  "product_url": "https://www.e-himart.co.kr/app/goods/goodsDetail?goodsNo=0070309617&fromShop=naver_db99&utm_source=naver&utm_medium=PRICE&utm_campaign=naver_db99",
  "channel_product_id": "0070309617",
  "naver_rank": 25,
  "keyword": "노트북",
  "position": 4,
  "sort": "relevance",
  "total_results": 7457966,
  "scraped_at": "2026-10-20T22:26:19.948Z"
}
```

### Pricing

Pay per event: you pay for the products you receive, plus a flat $0.003 per run, whatever memory you choose. Category names, price sorts and price filters cost nothing extra.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `product-scraped` | Once per product row stored in your dataset | $3.59 per 1,000 | $3.59 per 1,000 | $3.14 per 1,000 | $2.69 per 1,000 |
| `run-start` | Once per run, after the first call returned products | $0.003 | $0.003 | $0.003 | $0.003 |

The price of one product is the price per 1,000 divided by 1,000.

Never charged:

- a product that shows twice (as an ad and a listing, in two price bands, or under a second keyword);
- ads you turned off with `includeAds`, and products outside your price range;
- products past your `maxItems`;
- the summary, info and error rows;
- a run with no keywords, or one whose keywords return no products: the start fee is charged only once a call has returned products;
- anything past your "Max cost per run". The actor checks the budget before each batch of rows and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

### Run it on a schedule

1. Open the actor in Apify Console, set your input and click **Save as a new task**.
2. In the task, open **Schedules**, click **Add schedule** and pick how often (every day, every Monday at 08:00 and so on).
3. Compare runs on `product_id` and `price` to see new listings, price drops and who bought ad placements this week.
4. Optional: add an integration (Google Sheets, Slack, a webhook) so each run lands where your team works.

### FAQ

#### What does this actor read?

The shopping block (네이버 가격비교) of Naver's public search results and the product list behind it, as anyone in Korea sees it without logging in, plus Naver DataLab's public category tree for the category names. It does not log in, open product pages, read reviews or touch anything behind a sign in.

#### How many products can I get?

Up to 5,000 a keyword and 100 keywords a run. One call returns Naver's top 90 cards, ads included. For more, the actor splits the price range at the median price it has seen and reads each band, which reaches deep into big keywords: 2,000 for 운동화 in our test, all shoes. Narrow keywords end sooner, when the bands stop giving new products; the summary row's `per_keyword` says why each keyword stopped.

#### Why are rows past the first 90 in a different order from Naver's site?

Past the first call, rows come band by band, each band in Naver's order. Within your result, the first rows are Naver's top cards for the whole keyword; later rows are the top cards of each price band. Use `price_band` and `naver_rank` if you need to rebuild the order.

#### How exact are the price sorts?

Exact within what Naver returns. `price_asc` and `price_desc` first ask Naver how many products sit in a price band, shrink the band until it holds at most 80, then read it in full and sort it. If more than 90 products share one exact price (30,000 won is common), only Naver's top 90 at that price come back. Price sorts make more small calls, so they run slower than relevance: 300 products in 34 seconds without a proxy and about 150 seconds over the datacenter proxy in our tests.

#### Can I get brand, maker, reviews or the product description?

Not from this actor. The search cards Naver serves carry no separate brand or maker field, and reviews and descriptions live on each product page. The brand is usually the first word of `title`.

#### Are ads included?

Yes, by default, with `is_ad: true` and in the places Naver shows them. On a broad keyword about 4 in 10 cards are ads. Turn `includeAds` off for the organic listings and price comparison pages only.

#### How long does a run take?

In our tests over the Apify datacenter proxy: 19 seconds for the "Try it" input (30 products), 43 seconds for 200 products in a price range, 87 seconds for 1,000 products across 2 keywords, and 142 seconds for 2,000 products of one keyword. The default time limit is 3,600 seconds; the actor stops before it and keeps every row.

#### Do I need an account, cookies, an API key or a proxy?

No. Naver's own shopping web hosts refuse automated requests, but its main search answers them, and that is what the actor reads, over Apify Proxy, which is included. If you already have a Naver Search API key and prefer the official API, this actor does not need it.

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. The dataset has three ready views: Products, Prices and sellers, and Ranking and ads. In CSV and Excel, `category_ids` and `purchase_options` are flattened into columns such as `purchase_options/0/name`.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/naver-shopping-scraper

- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http naver-shopping-scraper "https://mcp.apify.com/?tools=themineworks/naver-shopping-scraper"`

#### Which actor should I use for other Korean or Asian sources?

[Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) for what Korean bloggers write about a product, and [Taobao Products Scraper](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) for Chinese retail prices of the same goods.

#### Is it legal to scrape Naver Shopping?

The actor reads only public search results that anyone can see without logging in, mostly prices and listings that sellers publish to be found. You are responsible for how you use the data, including Naver's terms and data protection law such as Korea's PIPA, GDPR and CCPA. This is general information, not legal advice.

### Integrations

- **Google Sheets**: send each run's products to a sheet with Apify's Google Sheets integration; one row per product fits a sheet as is.
- **Make, Zapier and n8n**: start a run and read its dataset with the Apify apps and nodes, for example "price drops on our keywords every morning to Slack".
- **Webhooks**: have Apify call your URL when a run succeeds, then fetch the dataset.
- **API and SDKs**: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
- **MCP clients**: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

### More from The Mine Works

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [AliExpress Scraper](https://apify.com/themineworks/aliexpress-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Kleinanzeigen.de Scraper](https://apify.com/themineworks/kleinanzeigen-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [eBay Product Listings Scraper](https://apify.com/themineworks/ebay-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Shopify Store Scraper](https://apify.com/themineworks/shopify-store-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [🛒 TikTok Shop Scraper](https://apify.com/themineworks/tiktok-shop-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Walmart Product & Price Scraper](https://apify.com/themineworks/walmart-product-price-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Vinted Scraper](https://apify.com/themineworks/vinted-listings-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a keyword that returns fewer products than Naver shows, or a field that comes back empty? Open an issue in the Issues tab with the input and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.

*Search Naver Shopping by keyword and get every product back as one row, with price, discount, mall, category path, reviews, rating, purchases and an ad flag, no login and no API key.*

# Actor input Schema

## `keywords` (type: `array`):

Product keywords, one per line, in Korean or English, as you would type them in Naver. Example: 노트북, 무선 이어폰, 다이슨 에어랩. Korean keywords usually match more products. Up to 100 keywords per run.

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

The most products to return for each keyword, 1 to 5,000. One call returns up to 90 cards; past that the actor splits the price range into bands to reach more. Example: 300.

## `sort` (type: `string`):

relevance: Naver's own order (네이버 랭킹순). price_asc: cheapest first. price_desc: most expensive first. Newest and most reviewed are not offered on the surface this actor reads.

## `minPrice` (type: `integer`):

Only products priced at or above this, in won. Naver applies it before answering. Example: 500000.

## `maxPrice` (type: `integer`):

Only products priced at or below this, in won. Example: 1500000.

## `includeAds` (type: `boolean`):

On: paid placements (광고) are returned too, with is_ad true. Off: only organic listings and price comparison catalogs.

## `includeCategoryNames` (type: `boolean`):

On: each row gets its full category path in Korean, for example 디지털/가전 > 노트북. Off: category ids only, slightly faster.

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

Naver's main search answers the Apify datacenter pool, so the default is fine. Turn the proxy off to send requests straight from the run, or pick residential (country KR) if Naver ever refuses the run.

## Actor input object example

```json
{
  "keywords": [
    "노트북"
  ],
  "maxItems": 30,
  "sort": "relevance",
  "includeAds": true,
  "includeCategoryNames": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "keywords": [
        "노트북"
    ],
    "maxItems": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/naver-shopping-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 = {
    "keywords": ["노트북"],
    "maxItems": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "노트북"
  ],
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call themineworks/naver-shopping-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/naver-shopping-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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