Naver Shopping Scraper at a glance
Naver Shopping Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes product, price, disc. price, original price and discount %, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.70 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Ecommerce, Automation, Developer Tools
- Pricing
- $2.70 per 1,000 results (Free plan), from $1.50 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 18 options
Scrape Naver Shopping products by Korean or English keyword, or by URL. Returns 190+ fields per product, including prices, discounts, seller, ratings, reviews, category path, brand, shipping, and cross-mall price comparison.
What Naver Shopping Scraper can do
- 36+ structured fields per product, plus the full raw object so nothing is dropped.
- Whole-catalog coverage. Paginates each store and pulls every listed product, up to your cap.
- Real discount prices, not just the list price: the actual discounted price a shopper would pay, matched to the store's own discount badge.
- Specials fields: isOnSpecial flags a genuine markdown; originalPrice, discountPercent, and savingsAmount are filled in only when it is true, and left empty otherwise.
- Rich detail: rating and review counts, stock, brand and maker, seller, full category path, delivery type, arrival guarantee, and same day delivery flags.
- Multiple stores per run, sorted by popularity, newest, price, review count, or best selling.
Choose what to collect
These inputs let you configure Naver Shopping Scraper - Products, Prices & Reviews. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring | How you provide the stores. "Search" = enter brand store names (slugs). "URL" = paste full brand.naver.com store links. |
brandStoresarray | Naver brand store names (slugs), e.g. "marschoco". A full brand.naver.com URL works here too. Multiple supported. Entries that are not a valid slug or URL are skipped with a warning. |
startUrlsarray | Naver brand store links. Supported: store catalog (/category/ALL, with optional st= sort, page= start page, size=), sub-category (/category/), /best, in-store search (/search?q=), and a single product (/products/). The bare store root is accepted as a whole-catalog alias. Unsupported hosts or pages are skipped with a warning. Multiple supported. |
sortstring | Catalog ordering. |
maxItemsinteger | The single result cap (split across stores). Hard ceiling 100000 products per run; 0 means that ceiling. |
fetchReviewsboolean | Also fetch per-product review detail: the review summary plus individual reviews (reviewer, rating, date, text, option, photos, seller reply, helpful votes). Billed as one review-detail unit per product that returns review data. |
maxReviewsPerProductinteger | Individual reviews nested on each product when review detail is on. Set 0 for summary stats only. Capped at 200. |
Show 11 more inputs
| Input | What it controls |
|---|---|
reviewSortstring | Order of the individual reviews. |
reviewTypestring | Which reviews to collect. |
resumeFromRunIdstring | Skip products already collected by this previous run or dataset. |
incrementalModeboolean | Track NEW, UPDATED, UNCHANGED, REAPPEARED, and EXPIRED products across scheduled runs of the same catalog. A product is UPDATED when a reported field such as price, discount, stock, status, name, category or delivery changes (changedFields lists them). Run position (rank), crawledAt, review and rating counters (averageRating, totalReviews, premiumReviews, reviewDetail) and image URL parameters never count as a change; they stay in the output. EXPIRED is only emitted after a complete, uncapped scan of every selected store. |
stateKeystring | Optional name for an incremental monitoring campaign. Leave empty to derive it from the selected stores and options. |
emitUnchangedboolean | Incremental mode only: include products with no detected change. |
emitExpiredboolean | Incremental mode only: include products no longer found after a complete catalog scan. |
ignoreFieldsForChangesarray | Incremental mode only: extra output field names (e.g. stockQuantity) that never count as a change. Matches the name at any depth. Ignored fields stay in the output. Built-in: rank, crawledAt, averageRating, totalReviews, premiumReviews, reviewDetail. |
mcpConnectorsarray | Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify → Settings → Integrations, then select it here. Notion gets a page-per-product; other connectors get a best-effort write. Leave empty to skip; never changes the dataset. |
notionParentPageUrlstring | URL or id of the Notion page under which product pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
productNameProduct (text)salePricePrice (number)discountedPriceDisc. Price (number)originalPriceOriginal price (number)discountPercentDiscount % (number)isOnSpecialOn special (boolean)savingsAmountSavings (number)stockQuantityStock (number)averageRatingRating (number)totalReviewsReviews (number)brandBrand (text)makerMaker (text)Show 29 more fields
sellerNameSeller (text)categoryNameCategory (text)freeDeliveryFree Delivery (boolean)productUrlURL (link)imageUrlImage (image)productNoProduct No (text)brandSlugStore (text)crawledAtCrawled (text)changeTypeChange (text)categoryPathCategory path (text)sellerIdSeller ID (text)specsSpecs (object)imagesImages (array)productDeliveryInfoDelivery (object)productStatusStatus (text)displayStatusDisplay status (text)saleTypeSale type (text)reviewIdReview ID (text)reviewerReviewer (text)ratingRating (number)dateDate (date)textText (text)optionOption (text)photosPhotos (array)sellerReplySeller reply (text)helpfulVotesHelpful (number)changedFieldsChanged fields (array)firstSeenAtFirst seen (text)lastSeenAtLast seen (text)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"productNo": "00000000000",
"channelProductId": "00000000000",
"productName": "오가닉 코튼 티셔츠",
"productUrl": "https://brand.naver.com/samplestore/products/00000000000",
"imageUrl": "https://shop-phinf.pstatic.net/00000000/000000000.jpg",
"salePrice": 23800,
"discountedPrice": 21420,
"mobileDiscountedPrice": 21420,
"immediateDiscount": 2380,
"originalPrice": 23800,
"discountPercent": 10,
"isOnSpecial": true,
"savingsAmount": 2380,
"stockQuantity": 1900,
"productStatus": "SALE",
"displayStatus": "ON",
"saleType": "NEW",
"authenticationType": "NORMAL",
"averageRating": 4.9,
"totalReviews": 1144,
"premiumReviews": 88,
"brand": "샘플브랜드",
"maker": "샘플메이커",
"sellerName": "샘플공식스토어",
"sellerId": "samplestore",
"channelNo": 1000001,
"channelUid": "sampleuid",
"categoryId": "50000000",
"categoryName": "티셔츠",
"categoryPath": [
"패션의류",
"남성의류",
"티셔츠"
],
"wholeCategoryId": "50000000_50000001_50000002",
"freeDelivery": true,
"deliveryFeeType": "FREE",
"deliveryBaseFee": 0,
"arrivalGuarantee": true,
"todayDelivery": false,
"brandSlug": "samplestore",
"rank": 1,
"crawledAt": "2026-01-01T00:00:00.000Z",
"raw": {
"...": "complete upstream item"
}
}Ways to use this data
- Brand and e-commerce teams: watch your own or a partner brand's Naver storefront for price, stock, and catalog changes.
- Price monitoring and repricing tools: track discount prices and specials across multiple brand stores at once.
- Market research: compare ratings, review volume, and category coverage across Korean brands selling on Naver.
- Inventory and merchandising checks: monitor stock levels and product availability across a seller's full catalog.
- Product feeds: build a feed of prices, images, and categories for a comparison site, marketplace, or app.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Naver Shopping Scraper return?
The documented output for Naver Shopping Scraper includes product, price, disc. price, original price, discount %, on special, savings and stock. Availability of each field depends on the source page and the selected mode.
How much does Naver Shopping Scraper cost?
It costs $2.70 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Does this scrape general Naver Shopping search results?
No. It scrapes brand.naver.com Brand Store catalogs, the storefronts brands run directly on Naver. Give it a brand store slug (for example marschoco) or its brand.naver.com URL; it does not take a keyword search across all of Naver Shopping.
Can I monitor a store on a schedule and only get what changed?
Yes. Turn on Incremental mode and schedule the actor from the Schedules tab. Each run then compares every product against the last completed scan and returns only what is new, updated, reappeared, or (once a full scan confirms it, and only with emitExpired on) expired. Unchanged products are skipped and not billed unless emitUnchanged is on.
Why did my run fail instead of returning an empty dataset?
The run fails only in three cases: every store request was rejected so nothing could be read at all, the resumeFromRunId could not be read, or Resume and Incremental mode were both turned on in the same run (they cannot be combined). If a store genuinely has no matching products, or an incremental scan found no changes, the run still succeeds and reports that clearly instead of stopping with an error.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear, or Airtable.
