Naver Shopping Scraper: Prices, Malls, Reviews
Pricing
from $2.69 / 1,000 products
Naver Shopping Scraper: Prices, Malls, Reviews
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.
Pricing
from $2.69 / 1,000 products
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Naver Shopping Scraper: Prices, Malls, Reviews (네이버쇼핑)
From The Mine Works, makers of Amazon Product Scraper and B2B Leads Finder, 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_adfor every paid placement.
Part of The Mine Works E-commerce and marketplaces family: Ozon.ru Scraper, ⭐ Amazon Reviews Scraper, Amazon Product Scraper, Etsy Listings Scraper, AliExpress Scraper, Kleinanzeigen.de Scraper.
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:
{"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
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.
relevancekeeps Naver's own ranking.price_ascandprice_descwalk 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.
minPriceandmaxPricein won are applied by Naver before it answers, to ads as well as listings. - Four card types, kept apart.
productis one seller's listing,catalogis a price comparison page withseller_countmalls and its options with their lowest price,adis a paid placement,super_pointis 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_pathis 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
{"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
{"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
{"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
{"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
{"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 |
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:
{"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:
{"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:
{"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
- Open the actor in Apify Console, set your input and click Save as a new task.
- In the task, open Schedules, click Add schedule and pick how often (every day, every Monday at 08:00 and so on).
- Compare runs on
product_idandpriceto see new listings, price drops and who bought ad placements this week. - 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 for what Korean bloggers write about a product, and Taobao Products Scraper 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
- ⭐ Amazon Reviews Scraper
- Amazon Product Scraper
- Etsy Listings Scraper
- AliExpress Scraper
- Kleinanzeigen.de Scraper
- Carsales.com.au Scraper
- eBay Product Listings Scraper
- Shopify Store Scraper
- 🛒 TikTok Shop Scraper
- Walmart Product & Price Scraper
- Vinted Scraper
Social media and video
Leads and business directories
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
Company and business data
Food and local services
Developer and AI tools
More tools
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.

