Naver Reviews Scraper avatar

Naver Reviews Scraper

Pricing

from $0.36 / 1,000 item extracteds

Go to Apify Store
Naver Reviews Scraper

Naver Reviews Scraper

Extract public Naver Place visitor reviews from supplied URLs or IDs for recurring Korean business reputation monitoring.

Pricing

from $0.36 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Extract public Naver reviews from supplied Naver Place URLs or numeric Place IDs. The Actor returns one typed dataset row per visitor review with review text, rating, reviewer context, visit and post dates, visitor-selected keywords, media links, owner replies, and Place-level reputation totals when Naver exposes them.

Use it for recurring Korean business reputation monitoring, customer-feedback analysis, branch comparisons, and spreadsheet or data-pipeline exports. No Naver login is required.

What does Naver Reviews Scraper do?

The Actor reads Naver's public server-rendered Place review data and converts it into integration-ready JSON records.

It supports:

  • one or many Naver Place URLs;
  • one or many numeric Naver Place IDs;
  • newest-first or Naver-recommended review order;
  • an optional visit-date cutoff;
  • stable reviewId values for downstream deduplication;
  • global and per-Place result limits;
  • JSON, CSV, Excel, XML, RSS, and API dataset exports provided by Apify.

The current public page exposes up to 10 visitor reviews per Place in one run. Schedule recent-sort runs frequently when you need ongoing monitoring.

Who is it for?

Reputation and customer-experience teams

Track recent public feedback for restaurants, cafés, stores, clinics, attractions, and other Korean business locations.

Multi-location operators

Run the same input for several Place IDs and compare ratings, recurring keywords, review text, and visible owner responses.

Market researchers

Create a structured sample of public visitor feedback without manually copying Korean review cards.

Data and automation teams

Send stable review records to a warehouse, spreadsheet, webhook workflow, sentiment model, or monitoring dashboard.

What Naver Place fields are extracted?

FieldMeaning
reviewIdStable public Naver review identifier
placeId, placeName, placeUrlPlace identity and canonical review URL
placeVisitorReviewTotalTotal for the selected visitor-review collection
placeRatingReviewTotalRating-review total reported in Place statistics
placeAverageRatingPlace average rating when visible
ratingRating attached to this review when visible
bodyPublic visitor review text
authorPublic nickname, profile URL, image, and visible profile counts
visitDate, postedDateNaver's localized date labels
representativeVisitDateTimeISO timestamp when Naver exposes it
visitCount, viewCountVisible visit and review-view counts
keywordsVisitor-voted Place keywords
visitKeywordsVisit context such as occasion or wait time
mediaPublic image thumbnails and video links
ownerReplyPublic owner reply text and metadata when present
itemNameOrdered or booking item when visible
originType, language, statusReview context and status
sort, scrapedAtRun order and extraction timestamp

Fields can be absent when Naver does not display them for a review or Place.

How to scrape Naver reviews

  1. Open the Actor in Apify Console.
  2. Add at least one Naver Place URL or numeric Place ID.
  3. Keep Newest first for monitoring, or select Naver recommended for a representative sample.
  4. Optionally set Visited after to an ISO date such as 2026-07-01.
  5. Choose the per-Place and total limits.
  6. Click Start.
  7. Open the Dataset tab and export the results in your preferred format.

A working URL example is:

https://m.place.naver.com/restaurant/36639957/review/visitor

The equivalent numeric input is 36639957.

Input parameters

ParameterTypeDefaultDescription
startUrlsarrayPublic Naver Place or Naver Map URLs containing numeric Place IDs
placeIdsstring array[]Numeric Place IDs; duplicates across both inputs are removed
sortstringrecentrecent for newest visits or recommended for Naver's order
postedAfterstringOptional ISO date/date-time filter applied to exposed visit timestamps
maxReviewsPerPlaceinteger10Maximum records per Place, from 1 to 10
maxItemsinteger20Maximum records across all supplied Places

At least one URL or Place ID is required. Unsupported hosts, malformed IDs, and invalid date values fail closed with a clear error.

Example input

{
"placeIds": ["36639957", "31806828"],
"sort": "recent",
"postedAfter": "2026-07-01",
"maxReviewsPerPlace": 10,
"maxItems": 20
}

You can combine placeIds with startUrls in the same run.

Example Naver review output

This shortened example reflects the current typed output shape:

{
"reviewId": "6a7eddb8e781abd6ab8651ad",
"placeId": "36639957",
"placeName": "스타벅스 명동중앙로점",
"placeUrl": "https://m.place.naver.com/place/36639957/review/visitor",
"placeVisitorReviewTotal": 2617,
"placeAverageRating": 4.45,
"rating": 5,
"body": "금요일 저녁 6시쯤 방문했어요\n직원분들 너무 친절하세요",
"author": {
"nickname": "Sample Reviewer",
"totalReviewCount": 63
},
"representativeVisitDateTime": "2026-08-14T09:11:53.000Z",
"keywords": ["커피가 맛있어요", "친절해요"],
"sort": "recent",
"scrapedAt": "2026-08-19T20:40:00.000Z"
}

Reviewer names in this documentation are anonymized. Dataset rows contain only the public values Naver returned at run time.

How much does it cost to extract Naver reviews?

The Actor uses pay-per-event pricing:

  • a one-time Start event currently costs $0.00005 per run;
  • each saved review uses the item event;
  • the BRONZE item rate is currently $0.0006 per review;
  • higher-volume subscription tiers receive lower item rates automatically.

Example BRONZE Actor charges:

Useful outputEstimated Actor charge
10 reviews from one Place$0.00605
50 reviews from five Places$0.03005
100 reviews from ten Places$0.06005

These examples describe Actor event charges. Your Apify plan can also account for platform compute, storage, and transfer according to Apify's terms. Check the live pricing panel before a large run because rates can change.

Monitor new Naver reviews on a schedule

For recurring reputation monitoring:

  1. Use sort: "recent".
  2. Supply all tracked Place IDs.
  3. Schedule the Actor hourly, daily, or weekly in Apify Console.
  4. Store the stable reviewId in your destination.
  5. Ignore IDs already processed by the previous run.
  6. Alert on new low ratings, selected keywords, or review text patterns.

Because Naver exposes ten server-rendered reviews per Place, choose a schedule frequent enough for each location's review volume.

Export Naver reviews to spreadsheets

After a run, open the default Dataset and select CSV or Excel. Useful spreadsheet columns include:

  • Place name and ID;
  • review ID;
  • rating;
  • body;
  • representative visit timestamp;
  • reviewer nickname;
  • keywords;
  • owner reply body;
  • Place totals;
  • scrape timestamp.

For repeated exports, use the dataset API rather than manually downloading each run.

Send results to data pipelines

Common integrations include:

  • Google Sheets through an Apify integration or automation platform;
  • webhooks that trigger after successful runs;
  • Make, Zapier, or n8n workflows;
  • BigQuery, Snowflake, PostgreSQL, or object storage;
  • Korean-language sentiment and topic models;
  • branch-level customer-experience dashboards.

Use reviewId plus placeId as a durable downstream deduplication key.

Run through the Apify API with cURL

Replace YOUR_TOKEN with an Apify API token:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~naver-place-business-reviews-scraper/runs?token=YOUR_TOKEN&waitForFinish=120" \
-H "Content-Type: application/json" \
-d '{
"placeIds": ["36639957"],
"sort": "recent",
"maxReviewsPerPlace": 10,
"maxItems": 10
}'

Fetch dataset items from the defaultDatasetId returned by the run.

Run with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/naver-place-business-reviews-scraper').call({
placeIds: ['36639957'],
sort: 'recent',
maxReviewsPerPlace: 10,
maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/naver-place-business-reviews-scraper').call(
run_input={
'placeIds': ['36639957'],
'sort': 'recent',
'maxReviewsPerPlace': 10,
'maxItems': 10,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use Naver Reviews Scraper with MCP

Add this Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/naver-place-business-reviews-scraper"

Claude Desktop

Add this server to the Claude Desktop MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/naver-place-business-reviews-scraper"
}
}
}

Cursor

Use the same Apify MCP URL in Cursor's MCP server settings and name the server apify.

VS Code

Add the same HTTP server URL to your VS Code MCP configuration, then enable the automation-lab/naver-place-business-reviews-scraper tool.

Example prompts:

  • "Extract the newest public reviews for Naver Place 36639957."
  • "Compare the latest review keywords across these five Naver Place IDs."
  • "Collect reviews visited after 2026-07-01 and return low-rating records."

Limits and expected behavior

  • The Actor extracts public visitor reviews, not Naver Blog or Café posts.
  • Naver's server-rendered page currently exposes at most 10 reviews per Place per run.
  • Ratings, text, dates, reviewer details, keywords, media, and replies are nullable.
  • postedAfter is applied only when a representative ISO visit timestamp is exposed.
  • Naver can change its public page shape or temporarily throttle requests.
  • A failed Place is logged while other valid Places continue. The run fails when no supplied Place can be processed.
  • No proxy mode is exposed because direct structured HTTP is the measured implementation route.

Reliability tips

  • Prefer numeric Place IDs when storing long-lived task inputs.
  • Keep batches moderate and schedule them instead of repeatedly launching identical runs.
  • Use newest-first order for monitoring.
  • Deduplicate with placeId and reviewId.
  • Treat missing fields as normal source behavior rather than empty strings.
  • Retry temporary upstream 429 or 5xx failures after a delay.

Responsible use and legality

This Actor accesses information publicly displayed by Naver Place. You are responsible for ensuring that your use complies with applicable laws, Naver's terms, privacy obligations, and your organization's policies.

Do not use the data to harass reviewers, infer sensitive traits, build invasive profiles, or make solely automated decisions about people. Collect only what you need, protect exported datasets, respect deletion and retention requirements, and avoid republishing personal profile details without a lawful purpose.

This documentation is not legal advice.

FAQ

Does the Actor require a Naver account?

No. It reads the public Place review surface without login credentials.

Can I enter a normal Naver Map URL?

Yes, if the URL contains a numeric Place ID. Mobile Place, PC Place, and Naver Map hosts are accepted.

Why are there only ten reviews per Place?

Naver's current public server-rendered review page exposes ten records. The Actor uses that stable, low-cost surface and states the limit explicitly rather than relying on a challenged private pagination call.

Why is review text or rating missing?

Some visitor reviews contain only keywords, media, or visit verification. Naver also hides ratings for some review types. The corresponding fields remain absent.

How do I detect only new reviews?

Run newest-first on a schedule and deduplicate with the stable reviewId. Use postedAfter as an additional filter when Naver exposes an ISO visit timestamp.

What happens when one Place ID is invalid?

The Actor logs that Place failure and continues with the remaining inputs. It returns a failed run only when none of the supplied Places can be processed.

Does this extract Naver Blog reviews?

No. The output is intentionally limited to public Naver Place visitor reviews.

Use the local-business scraper to discover IDs, then pass those IDs to this Actor for review monitoring.