NAVER Place Review Scraper
Pricing
from $0.89 / 1,000 reviews
NAVER Place Review Scraper
Scrape Naver Place reviews: visitor review text, star ratings, visit dates, voted keywords, owner replies, photos, and Naver Blog reviews. Export JSON, CSV, Excel.
Pricing
from $0.89 / 1,000 reviews
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Naver Place Review Scraper
Naver Place Review Scraper extracts public visitor reviews and Naver Blog reviews from Naver Place (네이버 플레이스), Korea's dominant local business and maps platform. Give it a Place URL, a bare Place ID, or a search keyword, and it returns structured review text, star ratings, visit dates, voted keywords, owner replies, photos, and aggregated rating statistics.
| Scrape visitor reviews with star ratings and voted keywords, Naver Blog and Cafe posts linked to a place, and per-place rating statistics — from restaurants, cafes, hospitals, hotels, and any other Naver Place category. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use Apify Actor parsebird/naver-place-review-scraper to scrape public Naver Place (네이버 플레이스) visitor reviews and Naver Blog reviews. Example with ApifyClient: client.actor("parsebird/naver-place-review-scraper").call(run_input={"placeUrls":["https://map.naver.com/p/entry/place/11571707"],"maxReviewPages":3,"includeBlogReviews":True}), then read client.dataset(run["defaultDatasetId"]).iterate_items(). Key inputs: placeUrls array of Naver Place URLs or bare Place IDs, startUrls array alternative in [{"url":...}] format, searchKeywords array to find places by keyword, maxPlacesPerKeyword integer default 5, maxReviews integer optional cap that overrides maxReviewPages, maxReviewPages integer default 1 (50 reviews per page), reviewSort enum NEWEST/RANKING default NEWEST, includeBlogReviews boolean default true, maxBlogReviewPages integer default 10 (10 posts per page, Naver caps around 100), includeReviewPhotos boolean default false, includeReviewStats boolean default true, maxConcurrency integer default 5, proxyConfiguration object. Output fields include reviewType (visitor/blog/place_stats), placeId, placeName, placeCategory, placeAddress, placeRating, reviewText, reviewRating, reviewerName, reviewerProfileUrl, reviewDate, visitDate, visitCount, votedKeywords, visitCategories, reviewPhotos, reviewReplyText, blogTitle, blogContents, blogUrl, bloggerName, blogDate, averageRating, starDistribution, topVotedKeywords, searchKeyword, scrapedAt. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
What does Naver Place Review Scraper do?
Naver Place Review Scraper collects public review data from Naver Place, the review and local-business layer behind Naver Map that most Korean consumers check before visiting a restaurant, cafe, clinic, salon, or attraction. Use it to monitor review sentiment, benchmark competitors, feed review data into NLP or LLM pipelines, or build datasets for market research on any Korean local business.
- 📍 Accept three input modes: Place URLs, bare Place IDs, or search keywords — mix and match in the same run.
- ⭐ Extract visitor review text, star rating, visit date, visit count, and reviewer profile info.
- 🏷️ Capture Naver's voted keywords (e.g. "음식이 맛있어요") and visit-context tags attached to each review.
- 💬 Pull the business owner's public reply text and reply date when present.
- 📷 Optionally include review photo URLs.
- 📝 Scrape linked Naver Blog and Naver Cafe posts about the place, including title, excerpt, and blogger info.
- 📊 Generate a per-place statistics row: average rating, star distribution, and top voted keywords.
- 🔎 Search by Korean or English keyword (e.g.
강남 맛집orSeoul BBQ) to discover places before scraping their reviews. - ⚡ Run places concurrently, with adjustable concurrency and residential proxy support for reliable access at scale.
- 📤 Send results to Apify integrations, the Apify API, webhooks, databases, or spreadsheets, and download JSON, CSV, or Excel.
What data can you extract from Naver Place?
| Field | Description |
|---|---|
reviewText | Full visitor review body (Korean) |
reviewRating | Star rating, 1–5 |
reviewerName | Reviewer nickname, profile URL, and total review count |
reviewDate / visitDate | Review creation date and actual visit date (ISO YYYY-MM-DD) |
visitCount / visitCountLabel | Visit number, e.g. "3번째 방문" (3rd visit) |
votedKeywords | Naver's voted review tags, e.g. "음식이 맛있어요", "분위기가 좋아요" |
visitCategories | Visit-context tags such as wait time and reservation method |
reviewPhotos | Photo URLs attached to the review (optional) |
reviewReplyText | Business owner's public reply |
blogTitle / blogContents / blogUrl | Naver Blog or Cafe post title, excerpt, and link |
bloggerName | Blog or cafe author name |
averageRating / starDistribution | Aggregated place rating and 5★–1★ breakdown |
topVotedKeywords | Most common voted keywords across all reviews, with counts |
How to scrape Naver Place reviews
- Open Naver Place Review Scraper on Apify.
- Add one or more Place URLs (e.g.
https://map.naver.com/p/entry/place/11571707) or bare Place IDs inplaceUrls. Shortnaver.melinks are resolved automatically. - Or leave
placeUrlsempty and add search keywords tosearchKeywords, such as강남 맛집orSeoul BBQ; the actor finds matching places and scrapes their reviews. - Set
maxReviewPages(50 reviews per page) ormaxReviewsfor an exact cap. Keep the value low for a fast, cheap test run. - Toggle
includeBlogReviewsandincludeReviewStatsdepending on which review types you need. - Enable a proxy in
proxyConfigurationfor large or repeated runs to avoid Naver rate limiting. - Run the actor, open the dataset, and export results as JSON, CSV, or Excel, or connect them through the Apify API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
placeUrls | array | No | Prefilled with 1 place | Naver Place URLs or plain Place IDs |
startUrls | array | No | [] | Alternative [{"url": "..."}] input format for integrations |
searchKeywords | array | No | [] | Keywords to search for places, then scrape their reviews |
maxPlacesPerKeyword | integer | No | 5 | Max places to take from each keyword search (1–50) |
maxReviews | integer | No | — | Max visitor reviews per place; overrides maxReviewPages when set (1–50,000) |
maxReviewPages | integer | No | 1 | Visitor review pages per place, 50 reviews per page (1–1,000) |
reviewSort | string | No | NEWEST | NEWEST or RANKING (Naver's own recommendation order) |
includeReviewPhotos | boolean | No | false | Include photo URLs attached to each visitor review |
includeBlogReviews | boolean | No | true | Also collect linked Naver Blog / Cafe posts |
maxBlogReviewPages | integer | No | 10 | Blog review pages per place, 10 posts per page (1–100) |
includeReviewStats | boolean | No | true | Add one aggregated rating-statistics row per place |
maxConcurrency | integer | No | 5 | Places to scrape in parallel (1–10) |
proxyConfiguration | object | No | Apify proxy | Proxy settings; recommended for large runs |
Output example
Visitor review:
{"reviewType": "visitor","placeId": "11571707","placeName": "경복궁","placeCategory": "궁궐","placeAddress": "서울 종로구 사직로 161 경복궁","placeRating": 4.69,"placeTotalReviews": 12514,"placeUrl": "https://pcmap.place.naver.com/place/11571707","reviewId": "6a786af0d4bfe92dced69067","reviewText": "서울여행 가족들과 경복궁 나들이! 한복을 입고 가면 무료입장...","reviewRating": 5,"reviewerName": "Marge simpson 0410","reviewerProfileUrl": "https://m.place.naver.com/my/5fd063c7b421d3204bb3eb2a/review?v=2","reviewerReviewCount": 391,"reviewDate": "2026-08-09","visitDate": "2026-08-09","votedKeywords": ["사진이 잘 나와요", "볼거리가 많아요", "뷰가 좋아요"],"reviewReplyText": null,"searchKeyword": null,"language": "ko","scrapedAt": "2026-08-10T22:26:16.443959Z"}
Blog review:
{"reviewType": "blog","placeId": "1743025750","placeName": "포비 강남점","blogTitle": "고터 파미에스테이션 카페 포비 FOURB","blogContents": "카페명: 포비 강남 FOURB. 베이글 맛집으로 유명한, 호불호는 있을 듯!","blogUrl": "https://m.cafe.naver.com/cafeflex/22617","bloggerName": "아메리카노","blogDate": "2022-08-07","scrapedAt": "2026-08-10T22:26:16.443959Z"}
Download results in JSON, CSV, Excel, HTML, or XML directly from the Apify dataset, or read them through the API.
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("parsebird/naver-place-review-scraper").call(run_input={"placeUrls": ["https://map.naver.com/p/entry/place/11571707"],"maxReviewPages": 3,"includeBlogReviews": True,"includeReviewStats": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["reviewType"], item.get("reviewText") or item.get("blogTitle"))
See the official Apify Python client documentation for authentication and dataset options.
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('parsebird/naver-place-review-scraper').call({searchKeywords: ['강남 맛집'],maxPlacesPerKeyword: 5,maxReviewPages: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
See the official Apify JavaScript client documentation for more examples.
How much does it cost to scrape Naver Place reviews?
What is the price per Naver Place review?
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
review-scraped | $0.00099 ($0.99 / 1,000) | $0.00089 ($0.89 / 1,000) | $0.00089 ($0.89 / 1,000) | $0.00089 ($0.89 / 1,000) |
Each review-scraped event means one visitor review or blog review was pushed to the dataset. Place statistics rows are not charged. Scraping 500 visitor reviews (maxReviewPages: 10) from one place costs about $0.45–$0.50. Apify's free trial credits cover small test runs.
Use cases
- Monitor review sentiment and rating trends for a restaurant, cafe, salon, clinic, or hotel over time.
- Benchmark competitor ratings, voted keywords, and review volume across multiple Naver Place listings.
- Feed Korean review text into NLP or LLM pipelines for sentiment analysis or summarization.
- Build local-business or franchise datasets for market research and site-selection analysis.
- Track owner responsiveness by monitoring
reviewReplyTextandreviewReplyDateover scheduled runs. - Discover and evaluate places by keyword, such as sourcing candidates for a "best of" list.
How it works
- The actor resolves each input into a numeric Naver Place ID, following short
naver.melinks when needed, or runs keyword searches against Naver's public place-search API. - It fetches place details (name, category, address, rating totals) for context on every review.
- It pages through visitor reviews using Naver's cursor-based pagination until the requested count or page limit is reached.
- If enabled, it separately pages through linked Naver Blog and Naver Cafe posts using offset-based pagination.
- It normalizes Korean date formats, voted keywords, and reviewer info into a stable dataset schema.
- It pushes each review to the Apify dataset and applies PPE charging only on the Apify platform, stopping automatically if the user's spending limit is reached.
Is it legal to scrape Naver Place?
Is scraping Naver Place reviews legal?
Scraping publicly available web data is generally allowed in many jurisdictions, but you should review Naver's terms of service, avoid collecting private or sensitive information, and make sure your use case complies with applicable laws. For background, read Apify's guide: Is web scraping legal?.
Other scrapers / Related Actors
| Actor | Best for |
|---|---|
| Naver Place Review Scraper | Naver Place visitor reviews, blog reviews, and rating statistics |
| GetYourGuide Review Scraper | Tour and activity review data with ratings and text |
| Website Contact Finder | Finding public contact details for a business or lead list |
| Shopify Store Leads Scraper | Finding Shopify stores and ecommerce leads |
| Google Ads Transparency Center Scraper | Competitor ad research and monitoring |
FAQ
Can I use this as a Naver Place review API?
Yes. Start runs and fetch datasets through the Apify API, Python client, JavaScript client, webhooks, or integrations.
Can I scrape reviews for a place I only know by name?
Yes. Add the place name or a location-plus-category phrase to searchKeywords (e.g. 강남 맛집), and the actor finds matching places before scraping their reviews.
Does this actor accept short naver.me links?
Yes. placeUrls resolves naver.me short links to a Place ID automatically.
How many reviews can I collect per place?
Set maxReviews for an exact cap (up to 50,000) or maxReviewPages for page-based control (50 reviews per page, up to 1,000 pages). Naver's blog review feed is capped at roughly 100 posts per place regardless of maxBlogReviewPages.
Why is reviewReplyText empty for most reviews?
Only a minority of Naver Place reviews receive a public owner reply. The field is null when no reply exists.
Does this actor require a proxy?
A proxy is recommended for large or repeated runs to avoid Naver rate limiting. The input schema defaults to Apify proxy settings.
Can I schedule recurring review monitoring?
Yes. Use Apify schedules to run this Naver Place scraper daily, weekly, or at any interval and track rating changes over time.
Where can I report issues or request fields?
Open the Issues tab on the actor page and include your input example, run ID, and the Naver Place URL or ID.