NAVER Map Scraper
Pricing
from $2.29 / 1,000 results
NAVER Map Scraper
Scrape Naver Map places by keyword or URL: name, category, address, phone, business hours, menus, facilities, images, and reviews. Export JSON, CSV, Excel.
Pricing
from $2.29 / 1,000 results
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Naver Map Scraper — Places and Reviews from Naver Map
Scrape places from Naver Map — South Korea's leading map and local-search platform. Search by keyword or paste place URLs to extract business name, category, address, phone, business hours, menus, facilities, images, subway access, and full visitor and Naver Blog reviews. Export as JSON, CSV, or Excel.
| Search Naver Map by keyword or scrape specific places by URL — get structured business data, business hours, menus, review statistics, and both visitor and blog reviews, ready for analysis, monitoring, or integration. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/naver-map-scraper — scrapes map.naver.com places and reviews. $2.99/1000 places on the Free plan ($2.79/1000 Bronze, $2.59/1000 Silver, $2.29/1000 Gold), $0.99/1000 reviews on all plans. Call via ApifyClient: client.actor("parsebird/naver-map-scraper").call(run_input={"searchKeywords": ["강남 맛집"], "maxResultsPerKeyword": 50, "includeReviews": True}). Inputs: searchKeywords (array of strings, e.g. ["강남 맛집", "홍대 카페"]), urls (array of strings — full, short naver.me, or mobile place URLs), maxResultsPerKeyword (integer, default 100, max 10000 — Naver's own search stops after roughly 300 results per keyword), includeDetails (boolean, default true — fetches business hours, menus, facilities, images, description; has no effect on direct URLs, which always get full details), includeReviews (boolean, default false), maxReviewPages (integer, default 50 — visitor reviews return 50/page, blog reviews 10/page capped around 100/place), reviewCutoffDate (string, default "2024-01-01" — only reviews on or after this date), proxyConfiguration (object). Output: place records with place_id, name, category, categoryCode, address, roadAddress, phone, virtualPhone, homepage, siteUrl, x, y, businessHours, conveniences, facilities, hasMobilePhoneNumber, visitorReviewsTotal, visitorReviewsScore, reviewStats, reviewThemes, reviewMenus, menus, images, subwayStations, description, url; when includeReviews is on, also visitorReviews (review_id, rating, body, author_nickname, visited, created, tags, voted_keywords, media_count) and blogReviews (title, contents, author_name, url, date). API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations
What is Naver Map Scraper?
Naver Map Scraper is an Apify Actor that extracts structured business data and reviews from Naver Map (네이버 지도) — the dominant local-search and navigation platform in South Korea, covering millions of restaurants, cafes, salons, clinics, and other local businesses. It pulls data straight from Naver Map's own place API, including business hours, full menus with prices and photos, review statistics, and both visitor and Naver Blog reviews.
Think of it as a Naver Map API alternative — Naver has no public API for bulk place search or review export, but this scraper delivers the same structured data programmatically. It's built for local SEO agencies, franchise and multi-location analytics, competitive restaurant research, and review monitoring across the Korean market.
What can Naver Map Scraper do?
- 🔍 Keyword search — search any Naver Map term, such as "강남 맛집" (Gangnam restaurants) or "홍대 카페" (Hongdae cafes), across multiple keywords in one run
- 🔗 Direct place URLs — paste full place URLs, search-result URLs, short
naver.melinks, or mobilem.place.naver.comlinks; short links are resolved automatically - 🏢 Full business profiles — business hours (including separate schedules for dine-in, drive-thru, and delivery), menus with prices, descriptions, and photos, facilities and conveniences, subway station access, homepage and booking links
- ⭐ Review statistics — average rating, total review count, photo review count, and Naver's own review theme and popular-menu breakdowns per place
- 💬 Visitor and Blog reviews — collect both native Naver Place visitor reviews (rating, text, tags, visit date) and linked Naver Blog posts
- 📅 Review date filtering — set a cutoff date so only recent reviews are collected, saving time and cost on long-running places
- ⚡ Fast mode — skip the detail page fetch for search results and get search-level data (name, category, phone, address, coordinates, review counts) roughly twice as fast and cheap
- ⏱️ Scheduling & API access — run on autopilot with Apify Schedules and pull results via the Apify API or client libraries
- 📊 Multiple export formats — download as JSON, CSV, Excel, XML, HTML, or RSS
What data can you extract from Naver Map?
| Field | Description |
|---|---|
name | Business name |
category | Naver Map category label (e.g. 중식당, 카페) |
address / roadAddress | Jibun and road-name addresses |
phone / virtualPhone | Direct phone number and Naver's smart-call virtual number |
businessHours | Named schedules (e.g. store hours, delivery, drive-thru) with per-day open/close times |
menus | Menu items with name, price, description, images, and recommended flag |
conveniences / facilities | Amenity tags shown on the place page and its Information tab |
visitorReviewsTotal / visitorReviewsScore | Aggregate rating and review count |
reviewThemes / reviewMenus | Naver's review-derived theme breakdown (taste, service, mood…) and most-mentioned menu items |
images | Business photo URLs |
subwayStations | Nearest subway station and walking distance |
description | Owner-written business description |
visitorReviews | Individual visitor review text, rating, tags, and visit date (when reviews are included) |
blogReviews | Linked Naver Blog posts about the place (when reviews are included) |
How to scrape Naver Map
- Go to Naver Map Scraper on Apify Store and click Try for free
- Enter a search keyword — e.g. "강남 맛집", or paste Naver Map place URLs directly
- Set max results per keyword — start with 20–50 for a quick test
- Turn on Include reviews if you need visitor and blog reviews, and set a review cutoff date
- Run the Actor — click Start and wait for results
- Export your data — download as JSON, CSV, or Excel, or access via the Apify API
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchKeywords | array of strings | No* | — | Naver Map search terms, e.g. ["강남 맛집", "홍대 카페"] |
urls | array of strings | No* | — | Naver Map place URLs — full, short naver.me, or mobile links |
maxResultsPerKeyword | integer | No | 100 | Max places to collect per keyword (1–10,000; Naver search itself stops after ~300) |
includeDetails | boolean | No | true | Fetch each place's detail page for menus, hours, facilities, images, and description |
includeReviews | boolean | No | false | Collect visitor and Naver Blog reviews |
maxReviewPages | integer | No | 50 | Max review pages per place (visitor: 50/page; blog: 10/page, capped ~100/place) |
reviewCutoffDate | string | No | 2024-01-01 | Only collect reviews on or after this date (YYYY-MM-DD) |
proxyConfiguration | object | No | {"useApifyProxy": true} | Apify Proxy configuration, recommended for larger runs |
* At least one of searchKeywords or urls is required.
Output example
{"place_id": "38239053","name": "스타벅스 압구정점","category": "카페","categoryCode": "restaurant","address": "서울 강남구 신사동 609","roadAddress": "서울 강남구 압구정로30길 17 (신사동)","phone": "1522-3232","virtualPhone": null,"homepage": "http://www.starbucks.co.kr/","siteUrl": "https://m.booking.naver.com/booking/6/bizes/392658/search","x": "127.02956","y": "37.526283","businessHours": [{"name": "매장","status": "영업 중","description": "22:00에 영업 종료","schedule": [{ "day": "화", "start": "06:30", "end": "22:00" }]}],"conveniences": ["주차"],"facilities": [],"hasMobilePhoneNumber": false,"visitorReviewsTotal": 4149,"visitorReviewsScore": 4.44,"reviewStats": { "avgRating": 4.44, "totalCount": 4149, "imageReviewCount": 469, "authorCount": 1203 },"reviewThemes": [{ "code": "taste", "label": "맛", "count": 267 }],"reviewMenus": [{ "label": "커피", "count": 103 }],"menus": [{ "name": "카페 아메리카노", "price": "4700", "description": "강렬한 에스프레소 샷", "images": [], "recommend": false }],"images": ["https://ldb-phinf.pstatic.net/..."],"subwayStations": [{ "name": "압구정역", "typeDesc": "3번 출구에서 75m" }],"description": null,"url": "https://map.naver.com/p/entry/place/38239053"}
Download results in JSON, CSV, Excel, XML, HTML, or RSS, or access via the Apify API.
Use cases
- 📊 Local SEO and competitive research — pull structured data on every competitor within a category and neighborhood
- 🏪 Franchise and multi-location tracking — monitor business hours, menus, and ratings across every branch of a chain
- ⭐ Review monitoring — collect fresh visitor and blog reviews on a schedule to track sentiment and flag issues early
- 🍽️ Menu and pricing intelligence — track menu items, prices, and recommended dishes across a market segment
- 🎯 Lead generation — build prospect lists of local businesses with phone numbers, addresses, and category filters
- 🔌 Pipeline integration — feed place and review data into Google Sheets, Slack, Zapier, Make, or custom systems via Apify Integrations
How it works
- For each search keyword, the Actor queries Naver Map's own search API and collects matching place IDs; for each URL, it resolves short links and extracts the place ID directly
- When details are included, every place ID is used to fetch Naver Map's full place-detail data: business hours, menus, facilities, images, subway access, description, and review statistics
- When reviews are included, visitor reviews and Naver Blog reviews are paginated newest-first per place, stopping once a review predates
reviewCutoffDate - Every place and review is pushed to the dataset as it's collected, so partial results are available even if a run is stopped early
How to use via API — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("parsebird/naver-map-scraper").call(run_input={"searchKeywords": ["강남 맛집"],"maxResultsPerKeyword": 50,"includeReviews": True,"maxReviewPages": 10,"reviewCutoffDate": "2025-01-01",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if "place_id" in item and "name" in item:print(f"{item['name']} — {item['category']} — {item['visitorReviewsScore']}")
How to use via API — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('parsebird/naver-map-scraper').call({searchKeywords: ['강남 맛집'],maxResultsPerKeyword: 50,includeReviews: true,maxReviewPages: 10,reviewCutoffDate: '2025-01-01',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {if (item.place_id && item.name) {console.log(`${item.name} — ${item.category} — ${item.visitorReviewsScore}`);}});
How much does it cost to scrape Naver Map?
Naver Map Scraper uses pay-per-event pricing with two separate events — one for places, one for reviews — so you only pay for the data you actually collect.
How much does it cost to scrape 1,000 places without reviews?
$2.99 on the Free plan, down to $2.29 on the Gold plan.
How much does it cost to scrape 1,000 reviews?
$0.99 on any plan. New users get a free trial with platform credit to try the Actor before committing.
Pricing
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
result-scraped (per place) | $0.00299 | $0.00279 | $0.00259 | $0.00229 |
review-scraped (per review) | $0.00099 | $0.00099 | $0.00099 | $0.00099 |
A place counts as one result-scraped event whether it came from a search keyword or a direct URL. Each visitor review or Naver Blog review counts as one review-scraped event.
Is it legal to scrape Naver Map?
This Actor extracts publicly available data from Naver Map's public place and search pages — the same business and review data any visitor can see without logging in.
Web scraping of publicly available data is generally legal in the United States and the European Union, as established by the hiQ Labs v. LinkedIn ruling. For more information, see Apify's guide on the legality of web scraping.
Users are responsible for ensuring their use of extracted data complies with applicable laws and Naver's Terms of Service in their jurisdiction.
Related Actors
Looking for more Naver data extraction tools? Check out these ParseBird actors:
- Naver Place Review Scraper — Scrape visitor and blog reviews from a specific Naver Place
Browse all ParseBird actors on Apify Store.
FAQ
Why does maxResultsPerKeyword sometimes return fewer places than requested?
Naver Map's own search results stop after roughly 300 matches per keyword, regardless of how high maxResultsPerKeyword is set. Use more specific keywords (adding a neighborhood or category) to reach different result sets.
What's the difference between conveniences and facilities?
conveniences are the amenity icons shown at the top of the place page (e.g. parking, reservations). facilities come from Naver's separate Information tab and can include additional detail. The two lists often overlap but are sourced independently.
Does includeDetails: false affect places added via urls?
No. Places added through urls always get full details, since there's no search-level summary to fall back on for a directly requested place.
Why do some places have no businessHours or menus?
Not every Naver Place listing publishes structured hours or a menu — smaller or newly listed businesses often leave these fields empty on Naver itself, and the Actor reflects that.
How does the review cutoff date work?
Reviews are returned newest-first, so the Actor stops paging through a place's reviews as soon as it reaches one older than reviewCutoffDate. This keeps re-running a monitoring job cheap, since it won't re-fetch reviews you already have.
What's the difference between tags and voted_keywords on a visitor review?
tags are the human-readable keyword badges shown on the review (e.g. "음식이 맛있어요"). voted_keywords are the same keywords as Naver's internal codes (e.g. food_good), useful for programmatic matching across languages.
What happens if a search or URL returns no places? The Actor finishes successfully with an empty dataset and logs a warning — this isn't treated as an error.
Can I schedule recurring runs?
Yes. Use Apify Schedules to run daily, weekly, or at any interval, and combine with reviewCutoffDate to track only new reviews.
Can I access the data via API? Yes. Use the Apify API or the official Python and JavaScript client libraries to run the Actor and retrieve results programmatically.
What export formats are supported? JSON, CSV, Excel (XLSX), XML, HTML, and RSS. Download directly from the Apify Console or via the API.
Is there a free trial? Yes. New Apify users get free platform credit to try Naver Map Scraper before committing to a paid plan.
I found an issue or have a feature request. Open an issue on the Issues tab or contact ParseBird via the Apify Console.