Naver Reviews Scraper
Pricing
from $0.36 / 1,000 item extracteds
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
Maintained by CommunityActor 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
reviewIdvalues 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?
| Field | Meaning |
|---|---|
reviewId | Stable public Naver review identifier |
placeId, placeName, placeUrl | Place identity and canonical review URL |
placeVisitorReviewTotal | Total for the selected visitor-review collection |
placeRatingReviewTotal | Rating-review total reported in Place statistics |
placeAverageRating | Place average rating when visible |
rating | Rating attached to this review when visible |
body | Public visitor review text |
author | Public nickname, profile URL, image, and visible profile counts |
visitDate, postedDate | Naver's localized date labels |
representativeVisitDateTime | ISO timestamp when Naver exposes it |
visitCount, viewCount | Visible visit and review-view counts |
keywords | Visitor-voted Place keywords |
visitKeywords | Visit context such as occasion or wait time |
media | Public image thumbnails and video links |
ownerReply | Public owner reply text and metadata when present |
itemName | Ordered or booking item when visible |
originType, language, status | Review context and status |
sort, scrapedAt | Run order and extraction timestamp |
Fields can be absent when Naver does not display them for a review or Place.
How to scrape Naver reviews
- Open the Actor in Apify Console.
- Add at least one Naver Place URL or numeric Place ID.
- Keep Newest first for monitoring, or select Naver recommended for a representative sample.
- Optionally set Visited after to an ISO date such as
2026-07-01. - Choose the per-Place and total limits.
- Click Start.
- 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
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Public Naver Place or Naver Map URLs containing numeric Place IDs |
placeIds | string array | [] | Numeric Place IDs; duplicates across both inputs are removed |
sort | string | recent | recent for newest visits or recommended for Naver's order |
postedAfter | string | — | Optional ISO date/date-time filter applied to exposed visit timestamps |
maxReviewsPerPlace | integer | 10 | Maximum records per Place, from 1 to 10 |
maxItems | integer | 20 | Maximum 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
itemevent; - the BRONZE item rate is currently $0.0006 per review;
- higher-volume subscription tiers receive lower item rates automatically.
Example BRONZE Actor charges:
| Useful output | Estimated 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:
- Use
sort: "recent". - Supply all tracked Place IDs.
- Schedule the Actor hourly, daily, or weekly in Apify Console.
- Store the stable
reviewIdin your destination. - Ignore IDs already processed by the previous run.
- 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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.
postedAfteris 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
placeIdandreviewId. - 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.
Related automation-lab Actors
- Naver Map Local Business Scraper — discover Naver Place IDs and export public business listing details.
- Naver Blog Search Scraper — collect public Naver Blog search results for a separate content-research workflow.
- Naver DataLab Search Trends Scraper — analyze Naver search interest over time.
Use the local-business scraper to discover IDs, then pass those IDs to this Actor for review monitoring.