Naver Map Scraper (Naver Place Search)
Pricing
from $1.00 / 1,000 places
Naver Map Scraper (Naver Place Search)
Search Naver Map (Naver Place) by keyword and get Korean business listings: restaurants, cafes, clinics, salons and shops in Seoul and all of South Korea. Returns name, category, address, phone, coordinates, rating and review counts as flat JSON.
Pricing
from $1.00 / 1,000 places
Rating
0.0
(0)
Developer
SUNGHWAN CHO
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Naver Place Search Scraper
Search Naver Map (Naver Place) by keyword and get structured Korean business listings — restaurants, cafes, clinics, salons, shops and any other local business in South Korea.
Naver Map is the dominant map and local search service in Korea, with far better coverage of Korean businesses than Google Maps. This Actor gives you its search results as clean JSON with English field names.
What you get
For each search query, up to about 300 places in Naver's own ranking order:
- Name, category and business type
- Road address, lot-number address and district
- Phone number
- Latitude and longitude
- Visitor rating, visitor review count, blog review count
- Booking and Naver Pay availability, TalkTalk chat link
- Amenities (parking, takeout, Wi-Fi, group seating, …)
- Image URLs
- Direct Naver Map URL
No login, no API key and no browser needed, so runs are fast.
Use cases
- Lead generation — build lists of Korean businesses by area and category, with phone numbers and addresses
- Market research — count and compare competitors in a neighborhood before entering the Korean market
- Local SEO — check where a business ranks on Naver Map for a keyword
- Location data for AI agents and apps — feed Korean place data into your own pipeline
Input
| Field | Description |
|---|---|
queries | Search keywords, one per line. Korean keywords work best: 강남 맛집 (Gangnam restaurants), 성수 카페 (Seongsu cafes), 홍대 미용실 (Hongdae hair salons). Combine an area with a category. |
maxPlacesPerQuery | Maximum places per query (1–300). Default 50. |
proxyConfiguration | Proxy settings. Keep the Apify Proxy enabled; Naver rate-limits repeated requests from one IP. |
{"queries": ["강남 맛집", "성수 카페"],"maxPlacesPerQuery": 100}
Output
One dataset item per place:
{"source": "naver","query": "성수 카페","rank": 1,"id": "1922651675","name": "노틀던","category": "카페,디저트","businessType": "cafe","roadAddress": "서울숲2길 11 1층","address": "서울특별시 성동구 성수동1가 685-501 1층","district": "서울 성동구 성수동1가","phone": null,"latitude": 37.5473614,"longitude": 127.0400154,"visitorReviewScore": 4.97,"visitorReviewCount": 1157,"blogCafeReviewCount": 1461,"bookingReviewCount": 0,"hasBooking": true,"hasNaverPay": true,"talktalkUrl": "http://talk.naver.com/wya8yhi?frm=pnmb","amenities": ["포장", "예약", "단체 이용 가능", "간편결제", "제로페이"],"promotion": null,"isNewOpening": false,"imageUrl": "https://naverbooking-phinf.pstatic.net/20260824_127/1787572619818421QO_JPEG/image.jpg","imageUrls": ["https://naverbooking-phinf.pstatic.net/20260824_127/1787572619818421QO_JPEG/image.jpg"],"imageCount": 9,"url": "https://map.naver.com/p/entry/place/1922651675","scrapedAt": "2026-10-01T06:24:41.088Z","schemaVersion": 2}
Every row has every field, always in this order. A value Naver did not provide is null, never a missing key. For the review counts, 0 means Naver reports zero reviews and null means Naver did not provide the count. schemaVersion changes when fields are added or their meaning changes (version 2, 2026-10-01: added source and schemaVersion; missing counts are now null instead of 0).
Export the dataset as JSON, CSV or Excel, or read it through the Apify API.
Run summary: did every query finish?
Each run saves a free summary in the key-value store as RUN_SUMMARY (the Run summary link on the Output tab, or GET https://api.apify.com/v2/key-value-stores/{defaultKeyValueStoreId}/records/RUN_SUMMARY). It is not a dataset row, so it is not billed. One entry per query:
{"query": "성수 카페","status": "completed","stopReason": "maxPlacesReached","reportedTotal": 1843,"returnedCount": 100,"coverageLimit": 100,"errorMessage": null}
status:completed,partial(some places saved, then Naver kept rejecting requests),failed(nothing saved for this query),budgetLimited(your "Maximum cost per run" was reached).stopReason:maxPlacesReached,endOfResults,noResults,coverageLimitReached(Naver's limit of about 300 places per query),requestFailed,chargeLimitReached,notStartedChargeLimit.reportedTotalis the total Naver reports for the query;returnedCountis the number of places actually saved.
The run fails only when every query failed. If some queries fail, the other results are kept and the run succeeds; check RUN_SUMMARY to re-run just the failed ones.
Tips
- Go beyond 300 places by splitting an area into smaller ones: instead of
서울 카페, search성수 카페,연남 카페,한남 카페, and so on. Use theidfield to remove duplicates. - Sponsored listings are excluded;
rankreflects the organic order. - Text fields such as names, categories and amenities are returned in Korean, as shown on Naver.
- Some businesses do not publish a phone number or a rating; those fields are
null.
Next step: get reviews
Pass the id of each place to Naver Place Reviews Scraper to get its visitor reviews: rating, text, visit date, keywords and owner replies.
Example: search, then send the IDs of the places you want to the reviews Actor.
- Run this Actor with
{"queries": ["성수 카페"], "maxPlacesPerQuery": 20}. - Take the
idvalues from the dataset, e.g.https://api.apify.com/v2/datasets/{datasetId}/items?fields=id,name&format=json. - Run Naver Place Reviews Scraper with those IDs:
{"places": ["1922651675", "1234567890"],"maxReviewsPerPlace": 100}
The reviews Actor is billed per review, so pick the places you need instead of sending every search result.
Also search Kakao Map
Kakao Map Place Search Scraper takes the same input and returns the same field names in the same order, up to 500 places per query. Run both with the same keywords and append the datasets into one table; source (naver or kakao) tells the rows apart.
When merging:
- Use
source+idas the row key. Naver and Kakao IDs are separate systems, so the same number can mean different places. - Decide that two rows are the same business by phone number, address and coordinates, not by name. Many different businesses share a name (chains, common names like
스타벅스or김밥천국). If phone, address and coordinates do not agree, keep the rows separate. - Ratings and review counts come from each service and are not comparable one-to-one.
Notes
This Actor collects only publicly visible business listing data. It does not collect personal data of reviewers or log in to any account.