# Naver Shopping Scraper — Prices, Ratings & Sales (`apimy/naver-shopping-scraper`) Actor

Naver Shopping products by keyword: price, discount, rating, reviews, seller, official-store and top-seller badges, delivery date. Full mode ~150 products per keyword; cheap basic mode always available.

- **URL**: https://apify.com/apimy/naver-shopping-scraper.md
- **Developed by:** [Nikita Iakovlev](https://apify.com/apimy) (community)
- **Categories:** E-commerce, Lead generation
- **Features:** Limited permissions
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.18 / 1,000 product (full naver search)s

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 — Korean Prices, Sellers & Reviews

Collect **Naver Shopping products by keyword**: price in KRW, list price and discount, rating and review count,
seller, **official-store and top-seller badges, delivery type and guaranteed arrival date**, catalog
lowest-price flag, category, image and link. No login, no Naver account, no proxy setup.

Naver Shopping is where Korea compares prices before it buys. Use this Actor for Korean price monitoring,
market research before entering Korea, competitor tracking on Naver SmartStore, and product research for
resellers and cross-border sellers.

### Tested head-to-head — 8 November 2026

Same keyword (`무선 이어폰`, wireless earphones) in this Actor and the most used Naver Shopping Actors in Apify Store:

| | Full mode | Basic mode | The others |
|---|---|---|---|
| Products for one keyword | **141–179** | 27–96 | 89–100 |
| Fields per product | up to **92** | 58 | 35–98 |
| Price per product (Free plan) | $0.0038 | **$0.0007** | $0.0009–$0.004 |
| Seller badges, delivery date | ✅ | — | some |
| Time per keyword | ~2 min | 2–4 s | 3–124 s |

What the others have and this Actor does not: a price-range filter and more than one page per keyword.

### Two modes

| | **Full** (default) | **Basic** |
|---|---|---|
| Source | the real Naver Shopping search page | Naver's mobile shopping tab |
| Products per keyword | about 150 | 30–100 |
| Time per keyword | 2–2.5 minutes (3 keywords at a time) | 2–4 seconds |
| Seller, official / top-seller badges | ✅ | seller name only |
| Delivery type, guaranteed arrival date | ✅ | delivery fee only |
| Rating, review count, list price, discount | ✅ | ✅ |
| Coupon price, price per 100 g, units bought, saves | — | ✅ |
| Price per product | $0.0038 | **$0.0007** |

If the full mode cannot serve a keyword, that keyword is served by the basic mode and **charged the basic
price** — the run always delivers, and `dataSource` on every row tells you which mode produced it.

### What you get

One row per product. Full mode:

| Field | Example |
|---|---|
| `name` | 앤커 사운드코어 P30i 노이즈캔슬링 블루투스 이어폰 |
| `finalPriceKrw` | 32900 |
| `priceKrw`, `discountPercent` | 49990, 34 % |
| `rating`, `reviewCount` | 4.8, 1397 |
| `mallName`, `isOfficialStore`, `isTopSeller` | 앤커 공식스토어, true, true |
| `deliveryType`, `arrivalGuaranteeDate`, `freeDelivery` | arrival_guarantee, 2026-11-09, true |
| `listingType`, `isAd` | `organic`, `catalog` or `ad` |
| `catalogId`, `isCatalogLowestPrice` | the Naver price-comparison entry and whether this offer is its lowest |
| `productId`, `naverId`, `categoryId` | SmartStore product number, Naver id, category |
| `url`, `image`, `rank` | product link, image, position on the page |

**Full Naver search-card data.** Rows with `rawCard: true` also carry everything Naver's own search card holds —
the same data the most used Naver Actors deliver: `stockQuantity`, `categoryName`, `rating6Months` /
`reviewCount6Months`, seller grade and certification (`mallGrade`, `mallCertification`), seller numbers
(`channelNo`, `naverPaySellerNo`, `storeSlug`), `catalogName` and **`catalogOptions`** (colours or sizes of the same
model, each with its own price), delivery filters and methods, free return, minimum order, promotions, and flags
such as fresh, gift, high-end or custom-made. `keywordTotalResults` tells how many results Naver has for the
keyword.

Basic mode adds `couponPriceKrw`, `unitPriceKrw` / `unitCapacity` (price per 100 g or 100 ml on groceries and
cosmetics), `boughtCount`, `wishCount` and `sellerCount` (sellers of a catalog product).

Sponsored products are real products with prices and are marked `isAd: true`; turn **Include sponsored
products** off for clean price research.

### How to use it

1. Put keywords into **Keywords**, one per line. Korean keywords give the best results: `노트북` (laptop),
   `무선 이어폰` (wireless earphones), `선크림` (sunscreen), `사료` (pet food). Brand and model names in Latin
   letters work too: `iphone 15`, `galaxy s25`.
2. Pick **Full** for the richest data or **Basic** for speed and the lowest price. In the full mode you can also
   sort: lowest or highest price, best-selling or most reviewed first.
3. Click **Start**.

```json
{
  "keywords": ["무선 이어폰", "노트북"],
  "mode": "full",
  "includeAds": false,
  "maxItems": 500
}
```

### How much it costs

Full mode **$0.0038 per product** on the Free plan, less on higher plans (down to $0.00318 on Gold). Basic mode
**$0.0007 per product** (down to $0.00059). Notice and error rows are free; there is no start fee.

On the Apify **Free plan** the full mode serves one keyword and 20 products per run, because every full-mode
page is bought from a paid rendering service; other keywords go through the basic mode. Any paid plan removes
the limit.

### Good to know

- **Depth comes from keywords.** One keyword gives one result set (about 150 products in full mode). Add
  variants, brands and sizes to collect more. A product found under two keywords is delivered once.
- **Sorting works in the full mode** (lowest / highest price, best-selling, most reviewed); there is no price-range
  filter, and Naver serves one page per keyword and sort — to go deeper, add keywords or run another sort.
- **No per-option (SKU) prices or stock.** Naver shows prices per colour or size only on the product page, which
  needs a signed-in account; this Actor stops at the search card.
- **Empty review count** means the card shows none; empty `boughtCount` in basic mode means Naver does not show
  it, not zero sales.
- A keyword without products comes back as a free `notice` row.

### Use with AI agents and automations

Works through the Apify API, the Apify MCP server, n8n, Make and Zapier. One call to
`run-sync-get-dataset-items` returns the products as JSON; export to CSV or Excel from the dataset. Allow about
2.5 minutes per keyword in the full mode (three keywords run at a time): when a run's time limit is too short for
that, the remaining keywords are served by the basic mode at the basic price instead of the run being cut off.

### FAQ

**Do I need a Naver account or a Korean proxy?** No.

**Which mode should I use?** Full for competitor and seller research; Basic for frequent, cheap price checks.

**Can I track prices over time?** Schedule the Actor daily with the same keywords and keep the datasets;
`productId` and `naverId` let you follow each product.

**Something is wrong or missing?** Open an issue on the Actor page — we read every one and usually fix within
a day.

# Actor input Schema

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

What to search on Naver Shopping, one keyword per line. Korean works best (<code>노트북</code> laptop, <code>사료</code> pet food, <code>선크림</code> sunscreen); English brand and model names work too (<code>iphone 15</code>). Each keyword gives about 40–100 products.

## `mode` (type: `string`):

<b>Full</b> reads the real Naver Shopping search page: about 150 products per keyword with seller, official-store and top-seller badges, delivery type and guaranteed arrival date, rating and review count. A keyword takes 1.5–2 minutes. <b>Basic</b> reads Naver's mobile shopping tab: 30–100 products per keyword in seconds, with coupon price, unit price and units bought but no seller badges; it costs about a fifth of the full price. If the full mode is unavailable for a keyword, that keyword is served by the basic mode and charged the basic price.

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

Order of Naver's results in the full mode. The basic mode always returns Naver's recommended order.

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

Naver mixes sponsored products (power-link ads) into its shopping results. They are real products with prices and are marked <code>isAd: true</code>. Turn off to keep only organic results and price-comparison catalog entries.

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

Upper limit of products in the whole run. A product found under two keywords is delivered once.

## `requestDelaySecs` (type: `number`):

Usually not needed. Add a pause for very long keyword lists.

## `includeRunSummary` (type: `boolean`):

Adds one free row at the end of the dataset: how many products were delivered and what the run cost on your plan.

## Actor input object example

```json
{
  "keywords": [
    "노트북",
    "운동화"
  ],
  "mode": "full",
  "sort": "REL",
  "includeAds": true,
  "maxItems": 500,
  "requestDelaySecs": 0,
  "includeRunSummary": true
}
```

# Actor output Schema

## `dataset` (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": [
        "노트북",
        "운동화"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("apimy/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": [
        "노트북",
        "운동화",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("apimy/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": [
    "노트북",
    "운동화"
  ]
}' |
apify call apimy/naver-shopping-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,apimy/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/uGY5BRxNY0rpm57vI/builds/qtS8JLiEsBnOCKRIm/openapi.json
