All scrapers

Maps

Naver Place Scraper

map.naver.com

99.9% Success rate
3.7s Avg response
Bot detection + rate limiting Protection
1,120 calls Measured over

Naver Place, the place data behind Naver Map, is served through a dedicated plugin endpoint rather than the generic page fetch. In Korea most people look up restaurants, cafes, clinics and shops on Naver rather than on Google Maps, so this is where Korean local data lives. Give search mode a query such as 강남 맛집 (restaurants in Gangnam), 홍대 카페 or Gangnam cafe, and it returns up to 50 places already parsed: id, name, category, business type, road and lot addresses, phone, coordinates, visitor rating, visitor and blog review counts, opening status, Naver's one-line micro review, popular menus, options such as reservations or group seating, images, booking and Naver Pay flags, the lowest price for stays and the Naver Map link. longitude and latitude move the search centre, which is what Naver ranks a near-me query against, and each place then carries its distance. Details mode takes a place id or a Naver Map or Naver Place link and returns the full place: addresses, phone, coordinates, opening hours for each day, description, directions, conveniences, facilities, payment methods, keywords, parking, menus with prices, photos, homepage and social links, booking link, nearby subway stations and the visitor-review statistics with the average rating, star distribution and themes, plus its first 10 visitor reviews (text, rating, dates, verification, keywords, media, reactions, the reviewer's stats and the owner's reply) and its first 3 blog and cafe reviews; sort=recent returns the newest visitor reviews. Korean text comes back as is, and no Naver account or API key is involved.

What you can extract

  • Place id, name, category, business type and Naver Map link
  • Road and lot (jibun) addresses, phone and coordinates
  • Visitor rating, visitor and blog review counts and opening status
  • Micro review, popular menus, options, images, booking and Naver Pay flags and the lowest price for stays
  • Distance from a search centre set with longitude and latitude
  • Details: opening hours per day, description, directions, conveniences, facilities, payment methods, keywords, parking, menus with prices, photos, homepage and links, nearby subway stations
  • Review statistics: average rating, star distribution and review themes
  • First 10 visitor reviews with text, rating, dates, verification, keywords, media, reactions, reviewer stats and owner's reply, by relevance or newest first
  • First 3 blog and cafe reviews with title, excerpt, author, source and date

Dedicated endpoints

/maps/naver-place

Naver Map place search and place details

mode=search with query (Korean or English): results with id, name, category, businessType, address, roadAddress, jibunAddress, phone, latitude, longitude, distance, rating, visitorReviewCount, blogReviewCount, status, microReview, popularMenus, options, images, hasBooking, hasNaverPay, hotelMinPrice, representativePrice and url, plus totalResults; up to 50 places per search (max_results), with longitude and latitude setting the search centre. mode=details with place (an id or a Naver Map or Naver Place link): place with addresses, phone, coordinates, businessHours per day, description, directions, conveniences, facilities, keywords, menus with prices, photos, homepage and links, bookingUrl, subwayStations and reviewStats (average rating, star distribution, themes), the first 10 visitor reviews (body, rating, created, visitedAt, verifiedBy, keywords, media, reactions, author stats, ownerReply), sorted by relevance or recent, and the first blogReviews.

How to scrape it

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/maps/naver-place?mode=search&query=%EA%B0%95%EB%82%A8%20%EB%A7%9B%EC%A7%91&max_results=20"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/maps/naver-place",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"mode": "search", "query": "강남 맛집", "max_results": "20"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const places = await su.naverPlaceSearch('강남 맛집', { maxResults: 20 });
const place = await su.naverPlaceDetails('2097258400');
console.log(places);
console.log(place);

Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.

Example response

{
  "query": "강남 맛집",
  "searchCentre": null,
  "businessType": "restaurant",
  "totalResults": 34374,
  "resultsCollected": 20,
  "results": [
    {
      "position": 1,
      "id": "2097258400",
      "name": "오몬자",
      "category": "일식당",
      "businessType": "restaurant",
      "address": "서울특별시 강남구 역삼동 810-4 1층",
      "roadAddress": "봉은사로2길 19 1층",
      "jibunAddress": "역삼동 810-4",
      "area": "서울 강남구 역삼동",
      "phone": "0507-1312-1321",
      "latitude": 37.5035726,
      "longitude": 127.0261977,
      "distance": null,
      "rating": 4.88,
      "visitorReviewCount": 6859,
      "blogReviewCount": 671,
      "bookingReviewCount": 0,
      "status": "영업 전",
      "statusDescription": "11:30에 영업 시작",
      "microReview": "넓은 매장에서 즐기는 철판 요리 파티",
      "popularMenus": "명란모찌몬자, (2인)오!몬자세트, 아사히생맥주, 한맥생맥주, 야끼소바",
      "options": [
        "예약",
        "남/녀 화장실 구분",
        "단체 이용 가능",
        "간편결제"
      ],
      "imageUrl": "https://ldb-phinf.pstatic.net/20251117_3/1763339289891sVASH_JPEG/9577A393-DF75-47F6-B7A2-B171A154FB9E.jpeg",
      "imageUrls": [
        "https://ldb-phinf.pstatic.net/20251117_3/1763339289891sVASH_JPEG/9577A393-DF75-47F6-B7A2-B171A154FB9E.jpeg"
      ],
      "imageCount": 11,
      "hasBooking": true,
      "bookingUrl": null,
      "hasNaverPay": false,
      "talktalkUrl": null,
      "isNewOpening": false,
      "representativePrice": null,
      "hotelMinPrice": null,
      "saveCount": "~100",
      "url": "https://map.naver.com/p/entry/place/2097258400"
    },
    {
      "position": 2,
      "id": "38562941",
      "name": "고수닭갈비",
      "category": "닭갈비",
      "businessType": "restaurant",
      "address": "서울특별시 강남구 역삼동 818-1 지천빌딩 지하1층",
      "roadAddress": "강남대로96길 12 지천빌딩 지하1층",
      "jibunAddress": "역삼동 818-1",
      "area": "서울 강남구 역삼동",
      "phone": "02-501-4325",
      "latitude": 37.4997744,
      "longitude": 127.0281716,
      "distance": null,
      "rating": 4.81,
      "visitorReviewCount": 33321,
      "blogReviewCount": 2020,
      "bookingReviewCount": 0,
      "status": "영업 전",
      "statusDescription": "10:00에 영업 시작",
      "microReview": "눈꽃처럼 내리는 치즈 닭갈비의 유혹",
      "popularMenus": null,
      "options": [
        "단체 이용 가능",
        "무선 인터넷",
        "남/녀 화장실 구분"
      ],
      "imageUrl": "https://ldb-phinf.pstatic.net/20221128_87/1669611283538JIx7U_JPEG/5_%B4%AB%B2%C9%C4%A1%C1%EE_%B4%DF%B0%A5%BA%F1.jpg",
      "imageUrls": [
        "https://ldb-phinf.pstatic.net/20221128_87/1669611283538JIx7U_JPEG/5_%B4%AB%B2%C9%C4%A1%C1%EE_%B4%DF%B0%A5%BA%F1.jpg"
      ],
      "imageCount": 9,
      "hasBooking": false,
      "bookingUrl": null,
      "hasNaverPay": false,
      "talktalkUrl": null,
      "isNewOpening": false,
      "representativePrice": null,
      "hotelMinPrice": null,
      "saveCount": "22,000+",
      "url": "https://map.naver.com/p/entry/place/38562941"
    }
  ],
  "pagesFetched": 1
}

Read the API docs

Frequently asked questions

Is it legal to scrape Naver Map places?

Collecting publicly visible Naver Place data such as names, addresses, ratings and reviews is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Reviews carry reviewer nicknames and their own text and photos, which can be personal data, so follow the privacy rules that apply to you, including Korea's where they apply. ScrapeUnblocker returns the public pages; what you collect and how you use it is your responsibility.

How do I scrape Naver Map without getting blocked?

Naver uses bot detection and rate limiting. Naver's place pages are server-rendered, so the plugin asks for each page on ScrapeUnblocker's browser-free legs first and only when those miss lets the chain render it in a real browser; it reads the place data from the cache the page is built from. In ScrapeUnblocker's benchmark it returned data on 99.9% of 1,120 calls, each a different input (560 searches, mostly in Korean and some around a search centre, and 560 place details, some sorted by newest reviews), about 3.7s per call; the one miss was a search that came back with no places.

How many places does a Naver Place search return?

At most 50 per query: Naver answers one page of up to 50 places for a search (max_results 1-50), and totalResults shows how many it knows about. To reach more, move the search centre with longitude and latitude, since Naver ranks places around it and each place then carries its distance, or make the query more specific, such as a neighbourhood plus a category. A query Naver has no places for answers 200 with an empty results list.

Should I search Naver Place in Korean or English?

Korean queries are the most reliable, since Naver's place index is Korean: a category and an area such as 강남 맛집 (restaurants in Gangnam), 홍대 카페 (cafes in Hongdae) or 부산 호텔 (hotels in Busan). English queries such as Gangnam cafe work too. Names, addresses, menus and reviews come back in Korean as Naver shows them; the plugin does not translate them.

How many Naver Place reviews can I get?

Details return the first 10 visitor reviews, in Naver's relevance order or newest first with sort=recent, and the first 3 blog and cafe reviews. The totals come with them: visitorReviewCount, blogReviewsTotal and the review statistics with the average rating, star distribution and themes. Deeper review pages are not included.

How much does it cost to scrape Naver Place?

Each call fetches one Naver page and is billed as one request, a search of up to 50 places or one place's details alike. 1 request = 1 credit, EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed, and the free trial includes 500 requests with no card.

Related scrapers

Naver Place and other names and marks of map.naver.com belong to their owner and are used here only to identify the website this API works with. ScrapeUnblocker is an independent service, not affiliated with, endorsed by or sponsored by the owner of map.naver.com.

Start scraping this site today

Free tier included. No credit card required to test it.