Naver Shopping Review Scraper (네이버쇼핑) - Ratings & Photos avatar

Naver Shopping Review Scraper (네이버쇼핑) - Ratings & Photos

Pricing

from $0.99 / 1,000 reviews

Go to Apify Store
Naver Shopping Review Scraper (네이버쇼핑) - Ratings & Photos

Naver Shopping Review Scraper (네이버쇼핑) - Ratings & Photos

Scrape customer reviews from Naver Shopping (네이버 쇼핑) by product link or ID. Get the full review text, star rating, date, purchased option and reviewer photos and videos, up to 50,000 per product. Filter by photos, videos or top-rated. Export to JSON, CSV or Excel.

Pricing

from $0.99 / 1,000 reviews

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

36

Total users

15

Monthly active users

5 days ago

Last modified

Categories

Share

Naver Shopping Review Scraper (네이버쇼핑 구매평) | Korean Product Reviews, Photos & Ratings (2026)

13,123 REVIEWS. UNDER 60 SECONDS. BUYER PHOTOS. PURCHASED OPTIONS.

From Zen Studio, creators of the Coupang scraper suite and the #1-ranked 1688 scraper on Apify, used by 1,800+ users. Built for Korean marketplace research, from product discovery to detailed seller comparisons.

Why choose this actor?

13,123 reviews in under 60 seconds.
Collect buyer feedback in bulk for product research, sentiment analysis and competitor monitoring. Export review text, ratings and dates in a structured dataset.

Buyer photos and the option they purchased.
Connect feedback to the colour, size or bundle the reviewer bought. Keep original photo and video URLs when attached, so you can analyse the evidence alongside the review.

Store reviews and price-comparison reviews.
Paste Naver store or price-comparison links. Choose newest or top-ranked reviews, or filter for photo, video and detailed reviews. Store links are the better route for very deep collections.

Get product reviews

Quick start

Start with 30 reviews from one product. Replace the example with a Naver Shopping price-comparison link or a store product link.

{
"productUrls": [
"https://search.shopping.naver.com/catalog/52631236642"
],
"maxReviewsPerProduct": 30,
"reviewSort": "RECENT",
"reviewType": "ALL"
}

Open actor input to paste your products and select review filters. Use reviewType PHOTO for buyer photos, or ALL to include every supported review type. JSON preserves media attachments and other nested details.

Price-comparison listings return up to 10,000 reviews per order. Running both orders can extend coverage; deduplicate when combining exports. Store listings support deeper collections. Set maxReviewsPerProduct to control volume and cost. Photos, videos and purchased-option details depend on what each review contains.

Zen Studio · Korean Commerce
  Naver Shopping
Product search
  Naver Detail
Products & sellers
  Naver Reviews
You are here
  Coupang Search
Korean products

Copy to your AI assistant

zen-studio/naver-review-scraper on Apify: customer reviews (구매평) of Naver Shopping products, from product links or bare IDs (a search ID as "id|name"). One row per review with text, rating, date, reviewer, purchased option, photos and videos; store reviews also name the reviewer's answers and profile in words (reviewEvaluations, reviewerProfile, reviewSummaryTags). maxReviewsPerProduct is 30 when omitted; send 0 for every review, up to 50,000 per product. reviewSort RANKING or RECENT; reviewType ALL, PHOTO, VIDEO or QUALITY. A second dataset, "products", holds one record per product: star breakdown, review insights and, with includeAiSummary, Naver's AI digest. reviewSource says which listing served each row. Billed per review; batch all products in one run (each run has a start charge). Spec: https://api.apify.com/v2/acts/zen-studio~naver-review-scraper/builds/default (inputSchema, readme); pricing: https://apify.com/zen-studio/naver-review-scraper/pricing. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.

Key Features

  • Fast enough for bulk work: around 1,000 reviews in under 30 seconds, so a shortlist of products is a coffee break rather than an afternoon.
  • Reviews at real depth. Korean marketplace listings are review-heavy in a way most sources are not: a median product carries around 500 reviews, one in ten carries more than 11,000, and the deepest we measured had 572,422. Clear the per-product limit and the Actor takes them all.
  • Both kinds of link. A price-comparison link returns the reviews gathered against that listing; a store link returns that seller's own. Whichever you paste is what you get, and reviewSource records it.
  • One table, whichever listing answered. reviewText, reviewRating, reviewDate and reviewerId read the same on every row, so a mixed dataset sorts and exports as one sheet. The source's own field names are kept alongside them, so nothing is lost.
  • Photos and videos, with hasImages and hasVideos flags and the full attachment URLs.
  • The purchased option, which is what makes a review usable for product analysis: which colour, size or variant the reviewer actually bought.
  • The reviewer's answers and body measurements, readable. Store reviews record fit, coverage or moisture answers and the reviewer's height, weight or skin type as codes; each row carries them decoded (사이즈: 약간 커요, 키: 168 cm), so "how does it fit someone my size" is a filter, not a research project.
  • Filter by kind: all reviews, photo reviews, video reviews, or detailed reviews: the store's own best-review picks on store links, the reviews Naver scores most useful on price-comparison links.

How to Scrape Naver Shopping Reviews

  1. Open the Actor and paste your product links into Product links or IDs.
  2. Adjust Max reviews per product. It starts at 30, one page. Set it to 0 to collect every review.
  3. Press Start.
  4. Download the results as JSON, CSV or Excel, or pull them from the API.

Basic: the top reviews for a product

{
"productUrls": ["https://search.shopping.naver.com/catalog/52631236642"],
"maxReviewsPerProduct": 100
}

Every review a product has

{
"productUrls": ["https://smartstore.naver.com/nestlestore/products/10503912668"],
"maxReviewsPerProduct": null
}

Photo reviews only, newest first

{
"productUrls": ["https://brand.naver.com/dunkin/products/10011140914"],
"reviewType": "PHOTO",
"reviewSort": "RECENT",
"maxReviewsPerProduct": 500
}

A shortlist of competing products

{
"productUrls": [
"https://search.shopping.naver.com/catalog/52631236642",
"https://search.shopping.naver.com/catalog/58509823828",
"https://smartstore.naver.com/nestlestore/products/10503912668"
],
"maxReviewsPerProduct": 300
}

An ID from a Naver Open API export

Naver's own product exports hand out a search ID (the productId field) rather than a link. Most of those IDs are matched on their own, so pasting the bare number is worth trying first. When a run reports that it could not match one, the export carries the product's name beside it, and the name is enough. Pair them with a |:

{
"productUrls": [
"91171893265|일렉트로룩스 얼티메이트 홈 800 EFR81223",
"82754294005|라네즈 립 슬리핑 마스크"
],
"maxReviewsPerProduct": 30
}

Callers working straight from an export can pass the pair as an object instead, which maps 1:1 onto what the export already holds:

{ "productUrls": [{ "id": "91171893265", "name": "라네즈 립 슬리핑 마스크" }] }

The product is matched on its ID, never on the name alone, so a pair either returns the right product or reports that it could not be found. Listings that are no longer on sale cannot be resolved by any means, and are reported as such.

When the ID belongs to a listing on an outside mall (11번가, G마켓, 올리브영 and the like), the price-comparison record for that product is returned instead, since that mall's own listing is not on Naver to collect.

The products dataset

Alongside one row per review, each run writes a second dataset, products, with one record per product collected. It answers what a per-review dataset cannot: how the ratings are distributed. This is a store product's record with includeAiSummary on. Where one item lacks a key that others of its kind carry, the value shown comes from another real item of the same kind, so every key appears.

{
"productId": "13435703575",
"catalogId": "51929210343",
"searchId": "90980213912",
"productName": "이니스프리 데일리 UV 톤업 노세범 선크림 SPF 50+ PA++++ 50mL",
"mallName": "이니스프리",
"productPageUrl": "https://smartstore.naver.com/main/products/13435703575",
"reviewSource": "store",
"reviewsCollected": 5,
"reviewCountTotal": 1010,
"sourceUrl": "https://smartstore.naver.com/main/products/13435703575",
"scrapedAt": "2026-10-16T09:05:03.159547+00:00",
"reviewCountByScore": {
"1": 14,
"2": 10,
"3": 48,
"4": 132,
"5": 806
},
"reviewAverageScore": 4.69,
"reviewsWithPhotos": 754,
"reviewsWithVideos": 2,
"reviewsWithText": 254,
"reviewsPlain": 593,
"reviewsAfterAMonth": 417,
"reviewsRatedBest": 0,
"reviewEvaluationStats": [
{
"id": 1000023,
"question": "백탁현상",
"prompt": "백탁현상은 없나요?",
"answeredBy": 3006,
"topAnswerId": 1000071,
"answers": [
{
"id": 1000069,
"answer": "백탁이 심해요",
"count": 6,
"percent": 0,
"followUpQuestion": null
},
{
"id": 1000070,
"answer": "적당해요",
"count": 629,
"percent": 21,
"followUpQuestion": null
}
],
"followUpId": null,
"followUpName": null,
"followUpParts": [],
"followUpPartIds": []
},
{
"question": "백탁현상",
"prompt": "백탁현상은 없나요?",
"answeredBy": 1009,
"answers": [
{
"answer": "백탁이 심해요",
"count": 52,
"percent": 5
},
{
"answer": "적당해요",
"count": 663,
"percent": 66
}
],
"followUpParts": []
}
],
"reviewTopTags": [
{
"tag": "톤업이 돼요",
"score": 1.5
},
{
"tag": "여름에 사용하기 좋아요",
"score": 1.031999945640564
}
],
"recentReviewCount": 1000,
"recentReviewAverageScore": 4.69,
"aiTitle": "🌞 이니스프리 데일리 UV 톤업 노세범 선크림 SPF50+",
"aiSummary": "자연스러운 톤업 효과와 뛰어난 지속력, 유분 조절 기능으로 여름철에 적합한 선크림이에요.",
"aiRecommendedFor": "여름철에도 가볍고 산뜻하게 사용할 수 있는 선크림을 찾으시는 분",
"aiHighlights": [
{
"name": "가격",
"description": "가격 부담 없이 저렴하게 구매할 수 있어 재구매 의사가 생겨요."
},
{
"name": "톤업 효과",
"description": "톤업 효과가 자연스럽고 과하지 않아 피부 톤을 화사하게 정돈해 줍니다."
}
],
"aiReviewSummary": [
"톤업 효과와 자연스러운 마무리감에 대한 긍정적인 평가가 많아요.",
"여름철 사용에 적합한 가벼운 발림성과 끈적임 없는 마무리가 큰 장점으로 꼽혔어요."
]
}

reviewsCollected is what this run pulled, reviewCountTotal is what the listing has, so the two together say whether you have all of them. productName, mallName and productPageUrl identify the product even when you pasted a bare number. searchId is the number Naver's search results and product exports carry for the listing: it is filled when you pasted one, and with includeAiSummary on it is found for a store link too, unless the listing does not appear in Naver Shopping search.

The star breakdown is reviewCountByScore, one count per star, with reviewAverageScore. The counts beside it split the same total two ways: reviewsWithPhotos, reviewsWithVideos and reviewsWithText (text only) by what a review carries, and reviewsPlain and reviewsAfterAMonth (한달사용, written after a month of use) by when it was written. reviewsRatedBest counts the reviews the seller picked as best.

A store product's record also says what its reviews add up to: reviewEvaluationStats, per question Naver asks reviewers of that kind of product (사이즈, 핏, 커버력, 촉촉함, ...), every answer with how many chose it and what share, how many answered, which answer most chose, and the follow-up question and parts an answer leads to, all with Naver's ids (the same ids the review rows carry); reviewTopTags, the 20 topics the reviews mention most, scored; and recentReviewCount / recentReviewAverageScore for the last six months. They come from the summary the review rows were named against, so they cost nothing extra.

Turn on includeAiSummary and the record also carries Naver's own AI digest of the product and what reviewers agree on: aiTitle, aiSummary, aiRecommendedFor, aiHighlights (a name and a description per feature) and aiReviewSummary. Naver writes that digest only for listings with enough reviews, so the ai* keys appear where it exists. The text is generated, so it can change between runs.

The star breakdown describes a seller's listing. A price-comparison pull carries the identity and the totals without it, rather than reporting a different seller's numbers beside the reviews it collected:

{
"productId": "13110066524",
"catalogId": "60550356601",
"searchId": null,
"productName": "이니스프리 데일리 유브이 톤업 노세범 선크림 핑크 보송 톤업 50ml(SPF50+) 2개",
"mallName": null,
"productPageUrl": "https://search.shopping.naver.com/catalog/60550356601",
"reviewSource": "catalog",
"reviewsCollected": 3,
"reviewCountTotal": 736,
"sourceUrl": "https://search.shopping.naver.com/catalog/60550356601",
"scrapedAt": "2026-10-07T17:13:39.715173+00:00"
}

Input Parameters

FieldTypeDefaultDescription
productUrlsarrayrequiredNaver Shopping product links or bare ID numbers. Price-comparison and store links both work. Max 1,000 per run; duplicates are removed. A search ID from an export needs the product name with it, as `91171893265
maxReviewsPerProductinteger30How many reviews per product, one page by default. Set 0 for every review available, up to 50,000 per product.
reviewSortstringRANKINGRANKING (top ranked) or RECENT (newest first). On price-comparison listings the two orders reach different reviews.
reviewTypestringALLALL, PHOTO, VIDEO or QUALITY.
includeAiSummarybooleanfalseAdds Naver's own AI digest of the product and its reviews to the products dataset. Generated text, so it can change between runs.

What Data Can You Extract from a Naver Shopping Review?

Every review row includes:

  • The same four columns whichever listing answered: reviewText, reviewRating, reviewDate, reviewerId.
  • Identity and joins: reviewId, productId, catalogId, reviewSource, and sourceUrl, the exact link you supplied, so a multi-product dataset groups without a lookup. productId is the product's channelProductId, the same key its record in the products dataset carries. On a price-comparison review it is the Naver listing search shows for that product, and the seller the review was written for is mallName / mallProductId; it is null only when a price-comparison product has no such listing.
  • The purchased option: buyOption on price-comparison rows, productOptionContent on store rows.
  • What the reviewer chose, in words (store rows): reviewEvaluations answers Naver's questions for the product's kind (사이즈 → 잘 맞아요, with the part that ran large or small), reviewerProfile what the reviewer said about themselves with units (키 168 cm, 피부 타입 지성), and reviewSummaryTags the sentences Naver's analysis tagged, each with its topic (소재가 좋아요). The source's numeric codes stay beside them.
  • Media: hasImages, hasVideos, and the attachment URLs: images and videos on price-comparison rows, reviewAttaches on store rows.
  • Signals: qualityScore and topic tags with sentiment on price-comparison rows, helpCount, the reviewer's badge, bestReview and the store's review event (eventTitle) on store rows.
  • Everything else the source publishes, under its own field names.

reviewSource is catalog for reviews served by a price-comparison listing and store for a seller's own. The two surfaces publish different extras, so a row from one carries fields the other does not; the four unified columns above are always present on both.

Output Example: a price-comparison review

This is a complete row: every key and every value a real result carries, at every level of nesting. Only two things are shortened. Arrays are cut to their first item or two, since a 181-point price history or a 97-field seller teaches nothing after the first. And single values longer than 200 characters are middle-ellipsised, which in practice only affects click-tracking URLs. No key is omitted anywhere. Where one item lacks a key that others of its kind carry, the value shown comes from another real item of the same kind, so every key appears.

{
"id": "4985586730-innisfreea-8424431121",
"buyOption": "모델 선택: 실버+SSD256더블업",
"content": "평소에 선크림 끈적이는 느낌을 싫어해서 이것저것 많이 바꿔봤는데, 이 제품은 데일리로 쓰기 꽤 편해서 만족하고 있어요. 처음 발랐을 때는 촉촉하게 올라가는데 시간 지나면 너무 번들거리지 않고 적당히 보송하게 마무리되 … 의 선크림입니다. 선크림은 결국 꾸준히 바르게 되는 제품이 제일 중요한데, 이건 그런 면에서 만족도가 높네요",
"imageCount": 1,
"isImage": true,
"images": [
"https://phinf.pstatic.net/checkout/20260527_226/1779885874268nFqWf_JPEG/1000006322.jpg"
],
"mallName": "이니스프리",
"mallId": "innisfreea",
"mallProductId": "8424431121",
"mallReviewId": "4985586730",
"mallSequence": "162527",
"mallLogoUrl": "https://shopping-phinf.pstatic.net/20240618_12/f89289cf-54d0-4ec3-affa-e78b32210dd7.jpg",
"matchNvMid": "51929123019",
"modifyDate": "2026-05-27",
"nvMid": "85968931444",
"pageUrl": "https://smartstore.naver.com/main/products/8424431121",
"qualityScore": 0.851893,
"registerDate": "2026-05-27",
"starScore": 5,
"title": "평소에 선크림 끈적이는 느낌을 싫어해서 이것저것 많이 바꿔봤는데, 이 제품은 데일리로 쓰기 꽤 편해서 만족하고 있어요. 처음 발랐을 때는 촉촉하게 올라가는데 시간 지나면 너무 번들",
"topicCount": 5,
"isTopic": true,
"topics": [
{
"topicName": "만족도",
"topicCode": "total",
"reputationScore": 560,
"startPosition": 141,
"endPosition": 162,
"isPositive": true
},
{
"topicName": "만족도",
"topicCode": "total",
"reputationScore": 515,
"startPosition": 592,
"endPosition": 614,
"isPositive": true
}
],
"userId": "flai****",
"videoCount": 0,
"isVideo": false,
"videos": [
{
"videoId": "B43F2D1B59016C0190EF1ACB85409E055D8A",
"videoThumbnailUrl": "https://phinf.pstatic.net/image.nmv/shopnbuyer_2025_04_16_917/qfzVQbj1ae_03.jpg"
}
],
"catalogId": "51929123019",
"productId": "8424431121",
"reviewSource": "catalog",
"reviewId": "4985586730-innisfreea-8424431121",
"reviewText": "평소에 선크림 끈적이는 느낌을 싫어해서 이것저것 많이 바꿔봤는데, 이 제품은 데일리로 쓰기 꽤 편해서 만족하고 있어요. 처음 발랐을 때는 촉촉하게 올라가는데 시간 지나면 너무 번들거리지 않고 적당히 보송하게 마무리되 … 의 선크림입니다. 선크림은 결국 꾸준히 바르게 되는 제품이 제일 중요한데, 이건 그런 면에서 만족도가 높네요",
"reviewRating": 5,
"reviewDate": "2026-05-27",
"reviewerId": "flai****",
"hasImages": true,
"hasVideos": false,
"scrapedAt": "2026-10-03T08:40:59.198066+00:00",
"sourceUrl": "https://search.shopping.naver.com/catalog/51929123019"
}

Output Example: a store review

This is a complete row: every key and every value a real result carries, at every level of nesting. Only two things are shortened. Arrays are cut to their first item or two, since a 181-point price history or a 97-field seller teaches nothing after the first. And single values longer than 200 characters are middle-ellipsised, which in practice only affects click-tracking URLs. No key is omitted anywhere. Where one item lacks a key that others of its kind carry, the value shown comes from another real item of the same kind, so every key appears.

{
"id": 5063642524,
"reviewType": "NORMAL",
"reviewServiceType": "SELLBLOG",
"reviewContentClassType": "PHOTO",
"reviewScore": 5,
"reviewContent": "아내가 매우 만족합니다~♡",
"contentsStatusType": "NORMAL",
"createDate": "2026-09-13T02:53:57.132+00:00",
"freeTrial": false,
"repurchase": false,
"helpCount": 2,
"writerId": "geon*******",
"maskedWriterId": "geon*******",
"writerIdNo": "",
"writerMemberNo": 0,
"writerProfileImageUrl": "https://phinf.pstatic.net/contact/20210503_137/1620000393892xO1B2_PNG/%A9%A79.png",
"storeType": "STOREFARM",
"checkoutMerchantId": "",
"checkoutMerchantNo": 0,
"orderNo": "",
"productOrderNo": "20260909",
"productNo": "11142822259",
"productName": "[제작/ 3size] 레이어드 하객 원피스 / 77 88 빅 사이즈 봄 여름 가을 겨울 하객룩",
"largeCategorizeCategoryId": "50000000",
"middleCategorizeCategoryId": "50000167",
"smallCategorizeCategoryId": "50000807",
"productOptionContent": "컬러: 블랙 2 (77-88 / ~105) / 바배",
"originProductNo": 11090307005,
"reviewAttaches": [
{
"id": 3689502726,
"reviewAttachmentType": "M",
"attachUrl": "https://phinf.pstatic.net/image.nmv/shopnbuyer_2026_09_06_2065/Kyxp70yzHY_03.jpg",
"attachWidth": 1920,
"attachHeight": 1080,
"attachPath": "https://phinf.pstatic.net/image.nmv/shopnbuyer_2026_09_06_2065/Kyxp70yzHY_03.jpg",
"attachSize": 13549440,
"attachServiceId": 22,
"attachVid": "1795740BC7F8B8854CFD71833890D51BDFC0",
"attachDescription": "",
"sortOrder": 0,
"attachName": "Kyxp70yzHY_03.jpg",
"attachDirectoryName": "/shopnbuyer_2026_09_06_2065",
"mimeTypeName": "video/mp4",
"videoStamp": "MTc5NTc0MEJDN0Y4Qjg4NTRDRkQ3MTgzMzg5MEQ1MUJERkMw:1792138293759:94f6c25ca6a4ba7105a34c2d38bd39447a82510c67d60a9",
"reviewTagId": 60,
"reviewTagName": "배송/포장상태"
},
{
"id": 3706163496,
"reviewAttachmentType": "I",
"attachUrl": "https://phinf.pstatic.net/checkout.phinf/20261011_233/1791705028145Ilvqa_JPEG/37016.jpg",
"attachWidth": 2252,
"attachHeight": 4000,
"attachPath": "https://phinf.pstatic.net/checkout.phinf/20261011_233/1791705028145Ilvqa_JPEG/37016.jpg",
"attachSize": 2494545,
"attachDescription": "",
"sortOrder": 0,
"attachName": "37016.jpg",
"attachDirectoryName": "/20261011_233/1791705028145Ilvqa_JPEG"
}
],
"reviewComments": [
{
"reviewId": 5069060362,
"commentId": 3181826943,
"commentContent": "&hearts; 소중한 후기 감사해요~~ &hearts;\n앞으로도 편하고 / 예쁜핏 / 체형커버 되는\n옷들로 소개해드릴게요~^^\n\n&hearts; 첫 후기 이벤트! 5% 쿠폰 증정 \n저희 스토어 구매 후 '첫번째 후 … 폰요청 / 네이버 아이디 ]\n보내주시면 쿠폰을 보내드려요~~^^\n( * 할인기간 중복 할인 가능하세요~~ )",
"createDate": "2026-09-20T15:55:08.126+00:00",
"writerMerchantId": "",
"writerMerchantNo": 0,
"contentsStatusType": "NORMAL",
"unescapeCommentContent": "♥ 소중한 후기 감사해요~~ ♥\n앞으로도 편하고 / 예쁜핏 / 체형커버 되는\n옷들로 소개해드릴게요~^^\n\n♥ 첫 후기 이벤트! 5% 쿠폰 증정 \n저희 스토어 구매 후 '첫번째 후기'를 남겨주셨다면,\n톡톡으로 [ 첫후기 쿠폰요청 / 네이버 아이디 ]\n보내주시면 쿠폰을 보내드려요~~^^\n( * 할인기간 중복 할인 가능하세요~~ )"
},
{
"reviewId": 5082421805,
"commentId": 3184084252,
"commentContent": "&hearts; 소중한 후기 감사해요~~ &hearts;\n앞으로도 편하고 / 예쁜핏 / 체형커버 되는\n옷들로 소개해드릴게요~^^\n\n&hearts; 첫 후기 이벤트! 5% 쿠폰 증정 \n저희 스토어 구매 후 '첫번째 후 … 폰요청 / 네이버 아이디 ]\n보내주시면 쿠폰을 보내드려요~~^^\n( * 할인기간 중복 할인 가능하세요~~ )",
"createDate": "2026-10-13T02:14:44.681+00:00",
"writerMerchantId": "",
"writerMerchantNo": 0,
"contentsStatusType": "NORMAL",
"unescapeCommentContent": "♥ 소중한 후기 감사해요~~ ♥\n앞으로도 편하고 / 예쁜핏 / 체형커버 되는\n옷들로 소개해드릴게요~^^\n\n♥ 첫 후기 이벤트! 5% 쿠폰 증정 \n저희 스토어 구매 후 '첫번째 후기'를 남겨주셨다면,\n톡톡으로 [ 첫후기 쿠폰요청 / 네이버 아이디 ]\n보내주시면 쿠폰을 보내드려요~~^^\n( * 할인기간 중복 할인 가능하세요~~ )"
}
],
"reviewEvaluationValueIds": [
1000007,
1000022
],
"subReviewEvaluationValueIds": [
3000090
],
"reviewUserInfoValues": [
{
"itemId": 14,
"itemOptionId": 1,
"itemValue": "지성"
},
{
"itemId": 17,
"itemOptionId": 7,
"itemValue": "피지"
}
],
"reviewContentAnalysisSummaryTags": [
{
"tagGroupNo": 110497,
"representTagNo": 109394,
"tagPatternStartNo": 137,
"tagPatternEndNo": 170
},
{
"tagGroupNo": 100636,
"representTagNo": 105834,
"tagPatternStartNo": 174,
"tagPatternEndNo": 228
}
],
"eventTitle": "9월 볼티움 리뷰이벤트",
"profileImageSourceType": "NAVER_PROFILE",
"repThumbnailAttach": {
"id": 3693169208,
"reviewAttachmentType": "I",
"attachUrl": "https://phinf.pstatic.net/checkout.phinf/20260913_259/1789268018183bkrB0_JPEG/17465.jpg",
"attachWidth": 1400,
"attachHeight": 1050,
"attachPath": "https://phinf.pstatic.net/checkout.phinf/20260913_259/1789268018183bkrB0_JPEG/17465.jpg",
"attachSize": 600119,
"attachDescription": "",
"sortOrder": 0,
"attachName": "17465.jpg",
"attachDirectoryName": "/20260913_259/1789268018183bkrB0_JPEG"
},
"repThumbnailTagNameDescription": {
"id": 3689778752,
"reviewAttachmentType": "I",
"attachUrl": "https://phinf.pstatic.net/checkout.phinf/20260906_213/1788702585719PjA0s_JPEG/image.jpg",
"attachWidth": 3024,
"attachHeight": 4032,
"attachPath": "https://phinf.pstatic.net/checkout.phinf/20260906_213/1788702585719PjA0s_JPEG/image.jpg",
"attachSize": 3128892,
"attachDescription": "질감은 요런 느낌..",
"sortOrder": 0,
"attachName": "image.jpg",
"attachDirectoryName": "/20260906_213/1788702585719PjA0s_JPEG"
},
"isMyReview": false,
"catalogId": null,
"productId": "11142822259",
"reviewSource": "store",
"reviewId": 5063642524,
"reviewText": "아내가 매우 만족합니다~♡",
"reviewRating": 5,
"reviewDate": "2026-09-13T02:53:57.132+00:00",
"reviewerId": "geon*******",
"hasImages": true,
"hasVideos": false,
"reviewEvaluations": [
{
"question": "사이즈",
"answer": "많이 커요",
"followUpQuestion": "어느 부분이 큰가요?",
"followUpAnswers": [
"가슴"
]
},
{
"question": "발림성",
"answer": "뻑뻑해요",
"followUpQuestion": null,
"followUpAnswers": []
}
],
"reviewerProfile": [
{
"field": "키",
"value": "168",
"unit": "cm"
},
{
"field": "피부 타입",
"value": "지성",
"unit": null
}
],
"reviewTopics": [
{
"topic": "건조하지 않아요",
"text": "다른 선크림처럼 바르자마자 기름지는 느낌은 아니어서 괜찮습니",
"topicCode": "total",
"topicCodeName": "만족도",
"patternStartNo": 24,
"patternEndNo": 29
},
{
"topic": null,
"text": "살짝 각질관리가 안된 부분이 있으면 그걸 약간 부각시키는 경우가 있어서 유의해야하는 거 빼곤 좋아"
}
],
"scrapedAt": "2026-10-16T08:19:44.973322+00:00",
"sourceUrl": "https://smartstore.naver.com/like_meee/products/11142822259",
"reviewSummaryTags": [
{
"tag": "보습력이 좋아요",
"text": "겨울이라 촉촉한 점은 좋은"
},
{
"tag": "백탁이 있어요",
"text": "백탁이 있는"
}
],
"parentReviewId": 5003161137,
"storeNo": 500005528,
"productUrl": "https://smartstore.naver.com/main/products/13592241058",
"knowledgeShoppingMallProductId": "13592241058",
"detailCategorizeCategoryId": "50009600",
"reviewCommentIds": [
3177665108
],
"bestReview": true,
"bestReviewSelectDate": "2026-09-23T04:02:05.043+00:00",
"benefitPaymentDate": "2026-09-23T04:02:04.000+00:00",
"modifyDate": "2026-09-19T04:21:40.069+00:00"
}

Advanced Usage

Get past 10,000 reviews on a price-comparison product

A price-comparison listing serves at most 10,000 reviews in any one order, however many it says it has. The two orders reach genuinely different reviews. Measured overlap between Top ranked and Newest first was zero out of 60, so running the same product twice, once in each order, roughly doubles what you can reach. Store listings have no such limit, so a store link is the better route to a very deep pull.

Rating distribution over time

reviewRating and reviewDate are on every row whichever listing answered, so a pivot on month and rating works across a mixed dataset without any cleaning. reviewDate is a calendar date on price-comparison rows and a full timestamp on store rows, as each listing publishes it; both start with the year, so they still sort together.

Which variant disappoints

buyOption and productOptionContent carry the exact variant the reviewer bought. Grouping ratings by option is the fastest way to find the colour, size or bundle that is dragging a product's average down.

Photo and video reviews for creative work

reviewType: "PHOTO" returns reviews with reviewer photos; "VIDEO" returns the ones with video, which are genuinely rare: on a product with 323,490 reviews, only 969 had video. Expect far fewer rows from that filter than from the others.

Feed it from the search Actor

Run the Naver Shopping Scraper on a keyword or category, take the productPageUrl column, and paste it here to collect reviews for a whole shortlist.

How Much Does It Cost to Scrape Naver Shopping Reviews?

Pay per event, so you pay for reviews rather than for run time.

EventPrice per 1,000
Review$0.99
Actor start$0.005 per run, per GB
Result (each row stored)$0.01

You pay for the reviews you get back, so a product with twelve of them costs twelve reviews' worth.

Scheduling and Integrations

Run on a schedule from the Apify Console, or trigger it from the API, the Apify MCP server, Zapier, Make, n8n, Airbyte or a webhook. Results export to JSON, CSV, Excel, XML or RSS, and can be pushed straight into Google Sheets or a database.

FAQ

Which links work? Price-comparison links (search.shopping.naver.com/catalog/…), SmartStore links (smartstore.naver.com/…), brand store links (brand.naver.com/…), mobile versions of any of those, and bare ID numbers.

A price-comparison link and a store link for the same product give different reviews. Which is right? Both. A price-comparison listing has its own review collection; a store listing has the seller's. They are not subsets of one another, and neither is a superset: measured across 32 products that have both, the counts track each other closely and the store side is often the larger. Paste whichever listing you care about.

How many reviews can I get from one product? Store listings: no limit we have found, bounded only by the per-product cap you set, which goes to 50,000. Price-comparison listings: 10,000 per review order, so up to about 20,000 by running both orders.

Why did I get fewer reviews than I asked for? Either the product has fewer, or you used a filter. VIDEO in particular is very selective. The run log reports what was actually collected.

Are the reviews in a separate dataset? No. Reviews are this Actor's output, so they go in the default dataset, one row per review. The Naver Shopping Scraper and Naver Shopping Product Detail Scraper put reviews in a separate reviews dataset instead, because products own their default one.

Does it include reviewer personal data? Reviewer IDs are published by Naver already masked (rmld****). Review text and photos are user-generated content and may contain personal data, so handle them under GDPR, CCPA and Korea's PIPA as applicable.

Is there a free tier? There is no separate free tier. Runs draw on your Apify platform credit like any other Actor, including the free credit every account gets each month.

Can I also get Coupang reviews? Yes, from the Coupang Review Scraper. Naver Shopping and Coupang together cover most of Korean online retail.

Is it legal to scrape Naver Shopping reviews? This Actor collects only publicly visible data, nothing behind a login. You are responsible for complying with Naver's terms of service and with applicable data protection law: GDPR, CCPA, and Korea's Personal Information Protection Act (PIPA). Review content includes personal data such as reviewer names and photos, so treat it accordingly.

More Zen Studio scrapers for Asian platforms

🛒 E-commerce

🎬 Short-video & social

🏠 Real estate & autos

Support

Found a bug, or need a field that is not here yet? Open an issue on the Actor's Issues tab. Questions about a specific run are answered fastest with the run ID.

This Actor accesses only publicly available product pages. It does not log in, does not bypass access controls, and does not collect private data. You remain responsible for how you use the data, including compliance with Naver's terms of service, GDPR, CCPA and Korea's PIPA. Personal data appearing in reviews should be handled under the applicable regime.


Naver Shopping customer reviews by product link or ID: full text, star ratings, purchased options, reviewer photos and videos, from price-comparison and store listings alike.