Naver Place Scraper - Korea Business & Reviews API
Pricing
from $2.00 / 1,000 results
Naver Place Scraper - Korea Business & Reviews API
Extract Korean local business listings, phone, address, hours, ratings & reviews from Naver Place as clean English JSON. The Korean Google Maps for lead generation, local SEO & Korea market-entry research.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Seok June Park
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Naver Place Scraper — Korean Business Listings & Reviews
Scrape business listings and reviews from Naver Place / Naver Maps — Korea's dominant local-search and maps platform — by keyword. Give it a Korean search query like 강남역 카페 ("Gangnam Station cafe") and get back clean, structured JSON for every business: name, category, address, phone, rating, review count, plus the review text, rating, date and keywords.
Naver is where Korean consumers actually find and review local businesses (Google Maps has minimal coverage in Korea). If you need Korean local-business data, this is the source.
Privacy-first. This actor never collects reviewer names, IDs, or profile links. Reviews contain only
text,rating,date, andkeywords. Business phone numbers and addresses are public business-registration information and are included.
Try it free. Apify's free plan includes $5 of monthly platform credit — roughly 2,500 results from this actor, no credit card required. Set your input, click Start, and export JSON/CSV/Excel.
What it does
- Takes a Naver Maps search query (location + category works best).
- Pages through Naver's public, server-rendered search results.
- Extracts each business and its attached visitor reviews.
- Emits one record per business, with a nested
reviewsarray, matching a stable schema.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | string | — (required) | Naver Maps query, e.g. 강남역 카페, 홍대 맛집, 제주 흑돼지. |
maxPlaces | integer | 20 | Max businesses to scrape. |
includeReviews | boolean | true | Attach visitor reviews to each business. |
maxReviewsPerPlace | integer | 20 | Max reviews per business. |
proxyConfiguration | object | RESIDENTIAL / KR | Proxy settings (see Proxy & rate limits). |
Input example
{"searchQuery": "강남역 카페","maxPlaces": 20,"includeReviews": true,"maxReviewsPerPlace": 20,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "KR"}}
Output
One dataset item per business. Reviews are nested under reviews. This is real output from a live run for 강남역 카페 (see samples/sample-output.json for 27 full records):
{"source": "naver_place","place_id": "1668757640","name": "퍼스트커피랩 강남점","category": "카페,디저트","address": "서울 강남구 역삼동","road_address": "봉은사로6길 39 1층","phone": "0507-1315-7680","rating": null,"review_count": 2792,"url": "https://m.place.naver.com/place/1668757640/home","scraped_at": "2026-07-07T12:00:00+09:00","reviews": [{"place_id": "1668757640","rating": null,"text": "디저트들이 다양하고 커피가 맛있어요 :) 베이커리부터 구움과자 마들렌하고 휘낭시에까지 라인업 완벽!","date": null,"keywords": ["디저트", "커피", "베이커리", "구움과자", "마들렌", "휘낭시에"]}]}
Field notes
place_id— Naver's stable business identifier; use it to build the URL or re-fetch.phone— the business's public number (Naver's public safe-number is used when a raw landline is not exposed). Public business info.rating— Naver has deprecated the visible 1–5 star average for many businesses, so this is frequentlynull.review_countis the reliable popularity signal.keywords— salient tokens Naver highlights in each review snippet; a ready-made signal for sentiment/topic analysis.date— populated when the review source exposes a visit date;nullfor search-embedded snippets.
Use cases
- Local SEO monitoring — track how your (or a client's) business ranks for target queries on Naver, and monitor review volume/velocity over time.
- Review sentiment analysis for Korean market entry — pull thousands of real Korean-language reviews and keywords for a category or district before launching, and feed them straight into an LLM or NLP pipeline. No PII to scrub — reviewer identity is never collected.
- Competitor research — snapshot every competitor in a district (address, phone, category, review counts) in one run.
- AI agents & lead lists — structured Korean local-business data for RAG, enrichment, or outreach.
Proxy & rate limits
Naver aggressively rate-limits and CAPTCHA-gates datacenter IPs. This actor uses two paths:
- Search-page path (primary). Reads Naver's public server-rendered search results. This works from many IPs and returns the businesses plus a few embedded reviews each — this is what produced the samples in this repo, with no proxy.
- Per-place GraphQL path (deep reviews).
pcmap-api.place.naver.com/graphql, used when you request more reviews than the search page embeds. This endpoint returns a CAPTCHA challenge for datacenter IPs (HTTP 405+title="captcha"; evidence insamples/graphql-block-evidence.html). The actor detects this and gracefully falls back to the search-embedded reviews.
For reliable, high-volume runs and deep per-place review pagination, use Apify Proxy with the RESIDENTIAL group and country KR (the default in the input schema). The actor honours proxyConfiguration throughout. Without a residential IP you will still get businesses and a handful of reviews each, but review depth and total place coverage are limited by Naver's anti-bot.
The actor runs politely: effectively concurrency 1 with ≥600 ms between requests.
Legality & data ethics
- Only public data is collected — no login, no private endpoints.
- No personal data. Reviewer names, IDs, and profiles are never read or stored. Reviews carry only text, rating, date, and keywords. Business phone/address are public business-registration details.
- You are responsible for using the output in compliance with Naver's terms and applicable law (e.g. PIPA, GDPR). Because no personal data is emitted, output is safe to feed directly into analytics and LLM pipelines.
❓ FAQ
Is it legal to scrape this data? This actor collects only public business-listing data — the same listings and reviews any visitor sees on Naver Maps without logging in. Reviewer names, IDs, and profiles are never collected. You are responsible for how you use the data; see the legality note above.
What does it cost in practice? $2.00 per 1,000 results (launch pricing) + a few cents of platform usage. Example: a 500-result daily pull costs about $1.00/day. Apify's free $5 monthly credit covers ~2,500 results.
Do I need to configure proxies?
No — the default settings work out of the box. For deep per-place review pagination and high-volume runs, Apify Proxy with the RESIDENTIAL group and country KR (the input default) is recommended, since Naver CAPTCHA-gates datacenter IPs on its per-place API.
How fresh is the data? Every run scrapes the live site at run time. Schedule the actor for recurring snapshots.
What is NOT included?
Reviewer identity (names, IDs, profile links) is never collected — by design. The star rating is frequently null because Naver has deprecated the visible average for many businesses (use review_count instead), and review date is null for search-embedded snippets.
🤖 Use with AI agents (MCP)
Call this Actor as a tool from Claude or any MCP-compatible AI agent — no glue code. Point your MCP client at Apify's server, scoped to this Actor:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=kdatafactory/naver-place-scraper","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Your agent can then pull Korean business listings from Naver Place on demand — no scraping code in your app. Grab a free token from Apify → Integrations.
🇰🇷 More Korean data actors
This actor is part of a suite of Korean-platform scrapers by the same maintainer:
- popply-scraper — Korean pop-up store events and locations
- bunjang-scraper — Bunjang secondhand-marketplace listings and prices
- kurly-scraper — Market Kurly grocery products, prices, and reviews
Browse all: apify.com/kdatafactory
Local development
npm install# put input in ./storage/key_value_stores/default/INPUT.json, then:npm start # results land in ./storage/datasets/default
If this actor saves you time, a rating on the Store page helps a solo maintainer a lot. Found an issue? Open it in the Issues tab — I respond fast.