Naver Maps API
Our Naver Maps API allows you to scrape places from Naver Maps search results, with the details Naver Maps shows for each kind of place (see Local Results).
Search around any point in South Korea with center, and get up to 300 places, 70 per page, with page.
The API endpoint is https://serpapi.com/search?engine=naver_maps
Head to the playground for a live and interactive demo.
API Parameters
Advanced Filters
sort_by
Optional
Parameter defines the order of the results. By default, results come in the order of the Naver Maps list.
Options: distance - Distance
Lists of franchise branches, such as 스타벅스, are already sorted by distance, and mart lists keep their own order.
open_state
Optional
Parameter defines the open state of the places.
Options: now - Open now
It applies to restaurants and cafes, hospitals, pharmacies, animal hospitals, gyms and other leisure places, and attractions such as parks. The other lists ignore it.
bookable
Optional
Parameter defines whether to only show places that can be booked on Naver. It can be set to true or false (default).
Pharmacies, convenience stores, movie theaters, gas stations, franchise lists, and accommodations ignore it. Mart lists return no places with it.
Dates And Guests
check_in_date
Optional
Parameter defines the check-in date. The format is YYYY-MM-DD (e.g., 2026-11-20). It must be used together with check_out_date.
Dates apply to accommodation lists, such as 펜션, 캠핑장, and 글램핑. With dates, Naver Maps only returns the places available for the stay, and price is the average nightly price.
check_out_date
Optional
Parameter defines the check-out date. The format is YYYY-MM-DD (e.g., 2026-11-22). It must be used together with check_in_date, and be later than it.
adults
Optional
Parameter defines the number of adults. It's used together with check_in_date and check_out_date, and ignored without them.
adults and children can add up to 15 guests, the most Naver Maps allows.
children
Optional
Parameter defines the number of children. It's used together with check_in_date and check_out_date, and ignored without them. Naver Maps has a single guest count, so children are added to adults: adults=2 and children=1 search for 3 guests, like adults=3.
adults and children can add up to 15 guests, the most Naver Maps allows.
Serpapi Parameters
no_cache
Optional
Parameter will force SerpApi to fetch the Naver Maps results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.
async
Optional
Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.
zero_trace
Optional
Enterprise only. Parameter enables ZeroTrace mode. It can be set to false (default) or true. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.
output
Optional
Parameter defines the format of the result. It can be set to json (default) to get a structured JSON of the results, html to get the raw HTML retrieved, or md to get a markdown-formatted version optimized for LLMs and AI agents.
json_restrictor
Optional
Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details.
API Results
JSON Results
JSON output includes structured data for Local Results.
A search status is accessible through search_metadata.status.
It flows this way: Processing -> Success || Error.
If a search has failed, error will contain an error message.
search_metadata.id is the search ID inside SerpApi.
HTML Results
This API does not have a full HTML response, only text.
search_metadata.prettify_html_file contains a link to the prettified version of the result.
It is displayed in the playground.
Markdown Results
Markdown output is optimized for LLMs and AI agents. It provides most of the same informational content as JSON
in a token-efficient format using tables, markdown links, and YAML frontmatter.
To access, use the output=md parameter, the /search.md endpoint, or request header Accept: text/markdown.
API Examples
Example with query: Coffee
{
...
"search_information": {
"total_results": 80299,
"list_type": "place"
},
"local_results": [
{
"title": "카페이마",
"place_id": "11678597",
"link": "https://map.naver.com/p/entry/place/11678597",
"type": "카페",
"reviews": 5203,
"description": "함박 스테이크와 커피의 완벽한 조화",
"address": "서울 종로구 세종로",
"road_address": "세종대로 152 일민미술관 1층",
"lot_address": "세종로 139-8",
"distance": "370m",
"phone": "0507-1498-2165",
"open_state": "영업 전",
"hours": "11:00에 영업 시작",
"thumbnail": "https://ldb-phinf.pstatic.net/20220531_269/1653980732163MXlog_JPEG/waffle.jpg",
"image_count": 24,
"images": [
"https://ldb-phinf.pstatic.net/20220531_269/1653980732163MXlog_JPEG/waffle.jpg",
"https://ldb-phinf.pstatic.net/20220531_150/1653980728130dBeQe_JPEG/classic_hamburg.jpg",
...
],
"gps_coordinates": {
"latitude": 37.5698359,
"longitude": 126.9776958
}
},
...
],
...
}
Example with price for query: 호텔 and center: 35.1796,129.0756
Hotels, motels, and other lodging have the lowest price Naver Maps shows for a stay. price_comparison is true when Naver Maps compares the prices of the place on booking sites. The distance of each place is measured from center, while Naver Maps measures it from your own location.
{
...
"local_results": [
{
"title": "부산시티호텔",
"place_id": "1486674680",
"link": "https://map.naver.com/p/entry/place/1486674680",
"type": "호텔",
"reviews": 512,
"description": "편안한 침구와 깨끗한 룸 컨디션의 휴식처",
"address": "부산 연제구 연산동",
"road_address": "신촌로 19 부산시티호텔",
"lot_address": "연산동 1356-12",
"distance": "350m",
"phone": "051-851-1122",
"price": "72,340원",
"extracted_price": 72340,
"price_comparison": true,
"thumbnail": "https://ldb-phinf.pstatic.net/20220322_113/16479285088608NujX_JPEG/DSC_8164___________C.jpg",
"image_count": 1,
"images": [
"https://ldb-phinf.pstatic.net/20220322_113/16479285088608NujX_JPEG/DSC_8164___________C.jpg"
],
"gps_coordinates": {
"latitude": 35.1827122,
"longitude": 129.0761708
}
},
...
],
...
}
Example with page: 2
page gets the results of a specific page. Naver Maps returns up to 70 results per page, and up to 300 results, so page 5 is the last one. serpapi_pagination has the SerpApi links to get the other pages.
{
...
"local_results": [
{
"title": "투썸플레이스 파인애비뉴점",
...
},
...
],
"serpapi_pagination": {
"current": 2,
"previous": "https://serpapi.com/search.json?engine=naver_maps&page=1&query=Coffee",
"next": "https://serpapi.com/search.json?engine=naver_maps&page=3&query=Coffee",
"other_pages": {
"1": "https://serpapi.com/search.json?engine=naver_maps&page=1&query=Coffee",
"3": "https://serpapi.com/search.json?engine=naver_maps&page=3&query=Coffee",
"4": "https://serpapi.com/search.json?engine=naver_maps&page=4&query=Coffee",
"5": "https://serpapi.com/search.json?engine=naver_maps&page=5&query=Coffee"
}
}
}
JSON Structure Overview
{
...
"search_information": {
"total_results": "Integer - Number of places Naver Maps found for the query.",
"list_type": "String - Kind of list Naver Maps returned, which decides the details of each place. (Ex. place, restaurant, franchise, mart, hospital, hairshop, accommodation, gas)",
"local_results_state": "String - Fully empty when Naver Maps returns no places.",
"regions": "Array - Regions Naver Maps matched the query to when it's the name of a region, which Naver Maps lists no places for. (Ex. 부산광역시 for 부산)"
},
"local_results": [
{
"title": "String - Name of the place.",
"place_id": "String - Naver Maps ID of the place.",
"link": "String - Link to the place on Naver Maps.",
"type": "String - Category of the place. (Ex. 카페,디저트)",
"rating": "Float - Average rating of the place, out of 5.",
"reviews": "Integer - Number of visitor and blog reviews of the place.",
"description": "String - Short description of the place by Naver Maps. (Ex. 덕수궁이 한눈에 들어오는 뷰 맛집)",
"promotion": "String - Promotion of the place. (Ex. 첫 방문 20%할인)",
"coupon": "String - Coupon of the place. (Ex. 알림받기 하면 네이버 예약시 3% 할인 쿠폰)",
"membership_benefit": "String - Benefit for members of the place. (Ex. 결제금액의 2% 적립)",
"address": "String - Short address Naver Maps shows for the place, usually its city, district, and neighborhood. (Ex. 서울 종로구 세종로)",
"road_address": "String - Road name address of the place. (Ex. 세종대로 152 일민미술관 1층)",
"lot_address": "String - Lot number address of the place. (Ex. 세종로 139-8)",
"distance": "String - Distance of the place from center. (Ex. 370m)",
"phone": "String - Phone number of the place.",
"open_state": "String - Whether the place is open. (Ex. 영업 중)",
"hours": "String - When the place opens or closes next. (Ex. 23:00에 영업 종료)",
"day_off": "String - Next day off of the place. (Ex. 10/28(수))",
"day_off_description": "String - Regular days off of the place. (Ex. 2, 4번째 수요일 휴무)",
"new_opening": "Boolean - True when Naver Maps marks the place as newly opened.",
"frequently_revisited": "Boolean - True when Naver Maps marks the place as often revisited (재방문 많은).",
"tv_program": "String - TV program that featured the place. (Ex. 생방송투데이)",
"michelin_guide": {
"year": "String - Year of the Michelin Guide. (Ex. 2026)",
"region": "String - Region of the Michelin Guide. (Ex. 서울)",
"stars": "Integer - Michelin stars of the place, from 1 to 3.",
"bib_gourmand": "Boolean - True when the place has a Bib Gourmand.",
"description": "String - Distinction of the place in the Michelin Guide. (Ex. 빕구르망 - 합리적인 가격에 훌륭한 음식을 선사하는 친근한 분위기의 레스토랑)",
"link": "String - Link to the place in the Michelin Guide."
},
"wheelchair_accessible": "Boolean - True when the place has a wheelchair accessible entrance.",
"naver_pay": "Boolean - True when Naver Maps shows the Naver Pay badge for the place.",
"naver_order": "Boolean - True when the place takes table orders, pre-orders, or pickup orders on Naver (주문).",
"delivery": "Boolean - True when the place delivers through Naver (배달 or 지금배달).",
"parcel_service": "Boolean - True when the place takes parcel bookings on Naver (택배예약).",
"place_plus": "Boolean - True when Naver Maps shows the Place Plus badge for the place.",
"price": "String - Price Naver Maps shows for the place: the lowest price of a stay for lodging, or a representative price such as the price of a cut for hair salons. (Ex. 컷 40,000원)",
"extracted_price": "Integer - Price, in won.",
"price_comparison": "Boolean - True when Naver Maps compares the prices of the place on booking sites.",
"specialists": [
{
"name": "String - Medical field of the specialists. (Ex. 정신건강의학과)",
"count": "Integer - Number of specialists in that field."
}
],
"fuel_prices": [
{
"fuel": "String - Name of the fuel. (Ex. 휘발유)",
"price": "String - Price of the fuel per liter. (Ex. 1,914)",
"extracted_price": "Integer - Price of the fuel per liter, in won.",
"lowest": "Boolean - True when Naver Maps marks the price as the lowest."
}
],
"amenities": "Array - Amenities of the place. (Ex. 글램핑, 개별바비큐)",
"info_cards": [
{
"title": "String - Title of the card. (Ex. 주간 인기 많은 메뉴, 3개월 방문 많은 진료)",
"description": "String - Text of the card."
}
],
"thumbnail": "String - Link to the main photo of the place.",
"image_count": "Integer - Number of photos of the place.",
"images": "Array - Links to photos of the place.",
"popular_menu": [
{
"title": "String - Name of the menu item.",
"price": "String - Price of the menu item. (Ex. 5,700원)",
"extracted_price": "Integer - Price of the menu item, in won.",
"thumbnail": "String - Link to the photo of the menu item."
}
],
"rooms": [
{
"title": "String - Name of the room.",
"price": "String - Price range of the room. (Ex. 430,000~550,000원)",
"thumbnail": "String - Link to the photo of the room."
}
],
"styles": [
{
"title": "String - Name of the style Naver Maps shows on its photo. (Ex. 볼륨매직)",
"thumbnail": "String - Link to the photo of the style.",
"popular": "Boolean - True when Naver Maps marks the style as popular."
}
],
"user_photos": [
{
"thumbnail": "String - Link to the photo.",
"user": {
"name": "String - Name of the visitor who posted the photo.",
"thumbnail": "String - Link to the profile photo of the visitor."
}
}
],
"blog_photos": [
{
"thumbnail": "String - Link to the photo.",
"user": {
"name": "String - Name of the blog author.",
"thumbnail": "String - Link to the profile photo of the blog author."
}
}
],
"user_reviews": [
{
"snippet": "String - Text of a visitor review.",
"snippet_highlighted_words": "Array - Words of the review Naver Maps highlights."
}
],
"talktalk_link": "String - Link to chat with the place on Naver TalkTalk.",
"bookable": "Boolean - True when the place can be booked on Naver.",
"booking_link": "String - Link to book the place on Naver.",
"gps_coordinates": {
"latitude": "Float - Latitude of the place.",
"longitude": "Float - Longitude of the place."
}
}
],
"serpapi_pagination": {
"current": "Integer - Current page.",
"previous": "String - SerpApi link to the previous page.",
"next": "String - SerpApi link to the next page.",
"other_pages": {
"2": "String - SerpApi link to page 2."
}
}
}