Naver Map Scraper (Naver Place Search) avatar

Naver Map Scraper (Naver Place Search)

Pricing

from $1.00 / 1,000 places

Go to Apify Store
Naver Map Scraper (Naver Place Search)

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

SUNGHWAN CHO

Maintained by Community

Actor 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

FieldDescription
queriesSearch keywords, one per line. Korean keywords work best: 강남 맛집 (Gangnam restaurants), 성수 카페 (Seongsu cafes), 홍대 미용실 (Hongdae hair salons). Combine an area with a category.
maxPlacesPerQueryMaximum places per query (1–300). Default 50.
proxyConfigurationProxy 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.
  • reportedTotal is the total Naver reports for the query; returnedCount is 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 the id field to remove duplicates.
  • Sponsored listings are excluded; rank reflects 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.

  1. Run this Actor with {"queries": ["성수 카페"], "maxPlacesPerQuery": 20}.
  2. Take the id values from the dataset, e.g. https://api.apify.com/v2/datasets/{datasetId}/items?fields=id,name&format=json.
  3. 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 + id as 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.