Naver Shopping Scraper: Korea Prices, Sellers, Review Counts avatar

Naver Shopping Scraper: Korea Prices, Sellers, Review Counts

Pricing

from $2.72 / 1,000 products

Go to Apify Store
Naver Shopping Scraper: Korea Prices, Sellers, Review Counts

Naver Shopping Scraper: Korea Prices, Sellers, Review Counts

Get Naver Shopping (네이버쇼핑) products for any keyword: prices, sellers, ratings, review counts and ad flags for laptops, coffee or skincare. About $0.0034 per product: 1,000 cost $3.40. No login. Public search snapshots; full mall offers and review text are unavailable.

Pricing

from $2.72 / 1,000 products

Rating

0.0

(0)

Developer

fortbrand

fortbrand

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Security

Limited permissions

Share

For pricing teams, Korean marketplace researchers and brands that need repeatable product-search snapshots from Naver Shopping (네이버쇼핑). Search in Korean or English and export displayed prices, seller names, catalog references, ratings, review counts, ad flags and product links.

About $0.0034 per unique product before plan discounts. A 20-product check costs about $0.07, and 1,000 delivered products cost $3.40, plus the small Actor start fee. No Naver login or developer key is required.

Coverage: this Actor reads the shopping cards embedded in public mobile Naver search, including the standard list and Explore shopping layouts. It does not deliver full catalog detail pages, every mall's offer table or review text. Snapshot size depends on the keyword and shopping layout, typically up to 150 cards per keyword and sometimes fewer. Prices and review counts are live observations of those cards.

What you get

Products can be comparison catalogs or single-store listings. catalogId and lowestPrice distinguish their prices. Every row retains its source and observation time.

FieldMeaning
verdictA short description of the displayed price and seller or comparison
recordTypePRODUCT, a free NOTE, or the free SUMMARY
productIdNaver shopping-search product identifier, stored as text
catalogIdPrice-comparison catalog identifier, when the card supplies one
titleProduct name with search highlighting removed
brand, maker, categoryNames only when supplied; otherwise null
priceDisplayed discounted product price, before shipping
lowestPriceDisplayed catalog comparison price; null for a single-store listing
currencyCurrency supplied by Naver, normally KRW
regularPricePositive price before the displayed discount, when supplied
onSale, discountPercentComparison with regular price and the source's discount percentage
mallNamePublic store name; a catalog comparison can have no single mall
mallCountCatalog's source-reported listing count; not a verified count of unique retailers
offersWith includeOffers, the one displayed offer of a single-store card
offersCompletefalse when offers were requested; this is not an all-mall table
shippingFeeCard's stated shipping fee; catalog shipping can vary across sellers
rating, reviewCountPublic average score and review count; no reviewer identities
purchaseCountPositive purchase count when shown; absent or zero placeholders become null
isAdWhether Naver identifies the card as an advertisement
promotionTypesPromotion identifiers supplied on the card
unitPrice, unitOfMeasureUnit-price information when present
categoryId, categoryIdsLeaf category and category-ID chain
channelProductIdStore product identifier, when present; a different namespace from productId
imageUrl, urlMain image and product or catalog page
keyword, sourceUrl, sourceRankSearch term, public source page and original card position
cardType, sortAppliedSource card kind and whether sorting was source order or within the snapshot
scrapedAt, coverageUTC observation time and a concise coverage explanation

Missing fields remain null. The Actor does not guess a brand from the title, turn a category ID into an invented category name or treat every zero purchase count as a reported sale count.

Use with AI agents (MCP)

An assistant connected to the Apify MCP server can call vant47/naver-shopping-scraper with searchTerms and maxItems. Ask for 20 Korean wireless-earphone listings with prices, sellers, ratings, review counts and ad flags.

Filter results to recordType == "PRODUCT" and read SUMMARY. Price ordering applies within the public snapshot. Empty or restricted responses produce free notes, never invented products.

Start in three steps

  1. Enter one or more searchTerms, preferably specific product words in Korean. English model and brand searches also work.
  2. Set maxItems. Start with 20. Choose an optional price band or sort order.
  3. Run the Actor and open the Products and prices dataset view. Export JSON, CSV or Excel, or retrieve the dataset through the API.

The prefilled input is:

{
"searchTerms": ["무선 이어폰"],
"maxItems": 20
}

A live cloud check on 29 October 2026 delivered 20 unique products in 11.7 seconds. It recorded 20 product charges. Runtime varies with source response time and retries.

Inputs

InputDefaultHow it works
searchTermsPrefill: 무선 이어폰Array of Korean or English product searches; up to 100 terms
startUrlsEmptyOptional Naver search links containing query=; strings or objects with url
sortrelevancerelevance, priceAsc, priceDesc, reviews or newest; see the sort limits below
priceMin, priceMaxUnsetInclusive KRW band applied to the returned snapshot
maxItems20Global unique-product limit, from 1 to 10,000, across all inputs
includeOffersfalseAdds the one displayed offer on a single-store card; no extra charge
includeReviewsfalseReview text is unavailable; requesting it adds a free coverage note
maxReviews20Reserved for review-text collection, currently unavailable
proxyConfigurationApify proxy onDatacenter first; fresh sessions, then direct cloud and Korean residential recovery when needed

relevance keeps Naver's card order. Price sorts and reviews reorder only the cards in the returned snapshot. They do not issue a marketplace-wide lowest-price or most-reviewed query. The source does not provide listing dates, so newest returns a note and preserves source relevance order. sortApplied makes the behavior explicit on each row.

maxItems limits unique products across inputs. Filters, snapshot size and the spending limit can reduce output. Searches run in input order; an early search can fill the limit. Use separate tasks for independent allocations.

Compare a price band

{
"searchTerms": ["캠핑 의자"],
"sort": "priceAsc",
"priceMin": 20000,
"priceMax": 100000,
"maxItems": 30,
"includeOffers": true
}

This sorts qualifying camping-chair cards from low to high. Store cards can include one offer; catalog cards keep offers empty because the full table is unavailable.

{
"startUrls": [
"https://search.shopping.naver.com/search/all?query=커피"
],
"maxItems": 20
}

Desktop shopping-search links are translated to their query on the supported mobile surface. The Actor also accepts msearch.shopping.naver.com, search.naver.com and m.search.naver.com search links. A catId on a search URL filters the returned category-ID chains. Use the top-level price and sort inputs to control those options; other parameters on a pasted URL do not reproduce the desktop page's filters.

A standalone /catalog/123... URL or a category URL without a search term produces a free note explaining the limitation. It does not return a search substitute for an unrelated product. Links outside the supported Naver hosts are skipped.

Reading the results correctly

Products and prices emphasizes prices, sellers, ratings and ads. Displayed discounts shows discount fields and promotions; export onSale == true for discounted products only. All product fields includes identifiers and coverage notes.

A dataset ends with one free SUMMARY row. A matching SUMMARY record is also saved in the default key-value store. It lists delivered products, catalog products, malls represented, ads, discounts, requested searches, available cards, source failures and whether the spending limit stopped collection. Notes and summary rows have no product charge.

Repeated identifiers are delivered once per run, including overlap across keywords and placements. The first observation wins. Later scheduled runs deliberately create fresh observations for price monitoring.

Monitor prices every day

Save a working input as an Apify task and attach a daily schedule. Keep terms, filters, sort and limits consistent. The Actor does not create schedules itself.

Join dated runs on productId; use catalogId for comparison catalogs. Keep price, mallName, isAd and scrapedAt. A changed rank can reflect ads or snapshot composition rather than market share.

Thirty daily 20-product runs cost about $2.04 at list product prices, plus start fees. Export to Sheets, n8n, Make, Zapier, webhooks or a database. Keep timestamps so yesterday's price stays identified as yesterday's observation.

Price and spending controls

Delivered productsList product chargeBronze product charge
20$0.068$0.0646
100$0.34$0.323
1,000$3.40$3.23

List price is $0.0034 per Product. Bronze receives 5% off, Silver 10% and Gold and higher tiers 20%. Apify's start event is $0.00005 per GB, with at least one start unit. Platform usage is included in the product pricing. There is no extra dataset-item fee and no offer or review event.

Set a maximum charge in Apify's run options to cap a job. The Actor checks remaining capacity before fetching another search and before delivering another product. It saves the row before charging it and stops cleanly when the limit cannot cover another product. Duplicates, failed searches, unavailable catalog detail, coverage notes and empty results do not incur product charges. A start fee can still apply to an empty run.

If Apify reboots or migrates a run, saved snapshots, dataset identifiers and acknowledged event counts are reused. Already delivered products are skipped and already accepted charges are reconciled. This keeps a resumed run from billing the same product a second time.

API examples

Keep your Apify token in an application secret. A synchronous request returns dataset rows:

curl -X POST \
'https://api.apify.com/v2/acts/vant47~naver-shopping-scraper/run-sync-get-dataset-items' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"searchTerms":["노트북"],"maxItems":20}'

Python with the official Apify client:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("vant47/naver-shopping-scraper").call(
run_input={"searchTerms": ["텀블러"], "maxItems": 20}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row.get("recordType") == "PRODUCT":
print(row["productId"], row["title"], row["price"])

JavaScript with the official client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vant47/naver-shopping-scraper').call({
searchTerms: ['선크림'], maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const products = items.filter(row => row.recordType === 'PRODUCT');
console.log(products.map(({ productId, title, price }) => ({ productId, title, price })));

For larger jobs, start asynchronously and paginate the completed dataset. Retrieve SUMMARY from the default key-value store. After a synchronous timeout, check the existing run before starting another.

Limits and FAQ

Does it read all Naver Shopping results?

No. It reads public mobile shopping snapshots, typically up to 150 cards per term, sometimes fewer. It does not paginate the full shopping catalog.

Can it fetch every seller's price or written reviews?

No. Full mall-offer tables and review text are unavailable. A single-store card can provide one displayed offer. Unavailable extras incur no extra event charge.

Why are brand, maker or category names empty?

The cards do not consistently supply those names. Category IDs are retained. Missing names stay null and are never inferred from titles.

Is price the checkout total?

No. It is the card's product price before shipping. Coupons, membership, payment method and selected options can change the total. Check the linked page.

Why fewer products than requested?

Snapshot size, filters, duplicate removal and the spending limit can reduce output. SUMMARY explains source counts and failures. maxItems is an upper limit.

Does newest sorting work?

Listing dates are unavailable. newest reports that limit and retains relevance order. Other sorts operate within the snapshot.

What happens on a refusal?

The search receives a free note and partial summary; other inputs continue. Retries honor Retry-After. No challenge is solved and no account session is used.

What is purchaseCount?

Naver's positive displayed count, not an independently verified sales or revenue estimate. Missing or non-positive placeholders become null.

Can I paste catalog links?

Standalone catalog URLs return a free note. Use keywords or saved search links for collection. Output product links support manual checks.

Can I schedule and export?

Yes. Use Apify tasks, schedules, dataset exports, integrations and the API. Match product IDs across runs and retain observation times.