본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

Related sites

사이드 메뉴

Kakao Map

Search

Local

REST API

This document describes how to integrate the Local API into your service with a REST API.

You can test the features described in this document in [Tools] > [REST API Test].

Convert address to coordinates

Basic information
MethodURLAuthorization
GEThttps://dapi.kakao.com/v2/local/search/address.${FORMAT}REST API key

Provides the coordinates of the requested address with the land-lot number address, road name address, coordinates, zip code, building name, etc., to display the address precisely on the map.

Add your REST API key to the request header, and send a GET request. You can optionally add the parameters to set the result format to your request along with the search query. It supports both the land-lot number address and road name address systems, and the response supports both XML and JSON formats.

New parameter: analyze_type

As of January 25, 2021, new optional parameter, analyze_type, is added to improve search results. Refer to DevTalk for more details.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: KakaoAK ${REST_API_KEY}
REST API key as a type of user authentication.
O
Path variable
NameTypeDescriptionRequired
FORMATStringThe data type of the response.
Either json or xml.(Default: json)
X
Query parameter
NameTypeDescriptionRequired
queryStringSearch query you want to search.O
analyze_typeStringType of search results.
similar: provides the search results similar to the entered address pattern for a wide range of search results.
exact: provides the search results exactly matched with the entered address pattern when you enter the exact building name as a search query.
If you do not specify this parameter, similar is applied as a default.
X
pageIntegerResult page number.
A value between 1 and 45.
(Default: 1)
X
sizeIntegerNumber of documents to be displayed on a single page.
A value between 1 and 30.
(Default: 10)
X

Response

Header
NameDescriptionRequired
content-typeThe data type of the response.
content-type: application/json;charset=UTF-8
or content-type: text/xml;charset=UTF-8
O
Body
NameTypeDescription
metaMetaSearch results such as the number of documents found.
documentsDocument[]Detailed search results, including each document.
Meta
NameTypeDescription
total_countIntegerNumber of documents found by search query.
pageable_countIntegerNumber of documents to be displayed out of all documents (total_count).
is_endBooleanWhether the current page is the last page.
If false, you can request the next page by incrementing the value of page.
Document
NameTypeDescription
address_nameStringFull land-lot number address or full road name address.
Determined as you enter an address.
address_typeStringType of the address_name value.
One of REGION, ROAD, REGION_ADDR, ROAD_ADDR.
REGION: Location name.
ROAD: Road name.
REGION_ADDR: Land address.
ROAD_ADDR: Road name address.
xStringX coordinate (longitude).
yStringY coordinate (latitude).
addressAddressDetailed information of Land-lot address.
road_addressRoadAddressDetailed information of Road name address.
Address
NameTypeDescription
address_nameStringFull land-lot number address.
region_1depth_nameStringRegion 1 Depth. -si(city) unit.
region_2depth_nameStringRegion 2 Depth. -gu unit.
region_3depth_nameStringRegion 3 Depth. -dong unit.
region_3depth_h_nameStringRegion 3 Depth. Name of administrative area.
h_codeStringAdministration code.
b_codeStringCourt code.
mountain_ynStringWhether the area is a mountain.
Y or N.
main_address_noStringMain land-lot number.
sub_address_noStringAdditional land-lot number. If none, empty string ("") is returned.
zip_codeStringDeprecated 6-digit zip code.
Refer to Notice.
xStringX coordinate (longitude).
yStringY coordinate (latitude).
RoadAddress
NameTypeDescription
address_nameStringFull road name address.
region_1depth_nameStringRegion 1 Depth.
region_2depth_nameStringRegion 2 Depth.
region_3depth_nameStringRegion 3 Depth.
road_nameStringRoad name.
underground_ynStringWhether the area is underground.
Y or N.
main_building_noStringBuilding number.
sub_building_noStringAdditional building number.
If none, empty string ("") is returned.
building_nameStringBuilding name.
zone_noString5-digit zip code.
xStringX coordinate (longitude).
yStringY coordinate (latitude).

Sample

Request
curl -v -G GET "https://dapi.kakao.com/v2/local/search/address.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "query=전북 삼성동 100"
Response
HTTP/2 200
content-type: application/json;charset=UTF-8
{
"meta": {
"total_count": 4,
"pageable_count": 4,
"is_end": true
},
"documents": [
{
"address_name": "전북 익산시 부송동 100",
"y": "35.97664845766847",
"x": "126.99597295767953",
"address_type": "REGION_ADDR",
"address": {
"address_name": "전북 익산시 부송동 100",
"region_1depth_name": "전북",
"region_2depth_name": "익산시",
"region_3depth_name": "부송동",
"region_3depth_h_name": "삼성동",
"h_code": "4514069000",
"b_code": "4514013400",
"mountain_yn": "N",
"main_address_no": "100",
"sub_address_no": "",
"x": "126.99597295767953",
"y": "35.97664845766847"
},
"road_address": {
"address_name": "전북 익산시 망산길 11-17",
"region_1depth_name": "전북",
"region_2depth_name": "익산시",
"region_3depth_name": "부송동",
"road_name": "망산길",
"underground_yn": "N",
"main_building_no": "11",
"sub_building_no": "17",
"building_name": "",
"zone_no": "54547",
"y": "35.976749396987046",
"x": "126.99599512792346"
}
},
...
]
}

Convert coordinates to region code

Basic information
MethodURLAuthorization
GEThttps://dapi.kakao.com/v2/local/geo/coord2regioncode.${FORMAT}REST API key

Converts the coordinates in the selected coordinate system into the administrative and legal-status area information.

You can leverage this API that offers approximate location information to introduce additional information such as restaurants or weather in that location by linking other services.

Add your REST API key to the request header, and send a GET request. You can optionally add the parameters to set the desired coordinate system to your request along with the X and Y coordinates.

The response supports both XML and JSON formats.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: KakaoAK ${REST_API_KEY}
REST API key as a type of user authentication.
O
Path variable
NameTypeDescriptionRequired
FORMATStringThe data type of the response.
Either json or xml.(Default: json)
X
Query parameter
NameTypeDescriptionRequired
xStringX coordinate (longitude).O
yStringY coordinate (latitude).O
input_coordStringCoordinate system of the requested x and y.
Supported coordinate systems: WGS84, WCONGNAMUL, CONGNAMUL, WTM, TM.
(Default: WGS84)
X
output_coordStringUsed to designate the type of coordinate system to be displayed in the response.
Supported coordinate systems: WGS84, WCONGNAMUL, CONGNAMUL, WTM, TM.
(Default: WGS84)
X

Response

Header
NameDescriptionRequired
content-typeThe data type of the response.
content-type: application/json;charset=UTF-8
or content-type: text/xml;charset=UTF-8
O
Body
NameTypeDescription
metaMetaSearch results such as the number of documents found.
documentsDocument[]Detailed search results, including each document.
Meta
NameTypeDescription
total_countIntegerNumber of documents found by search query.
Document
NameTypeDescription
region_typeStringH (administrative) or B (legal-status).
address_nameStringAll region names in address.
region_1depth_nameStringRegion 1 Depth. -si(city) unit (Sea areas are not included).
region_2depth_nameStringRegion 2 Depth. -gu unit (Sea areas are not included).
region_3depth_nameStringRegion 3 Depth. -dong unit (Sea areas are not included).
region_4depth_nameStringRegion 4 Depth.
Only returned if region_type is set to B (legal-status area) and the area is included as -ri unit.
codeStringRegion code.
xDoubleX coordinate (longitude).
yDoubleY coordinate (latitude).

Sample

Request
curl -v -G GET "https://dapi.kakao.com/v2/local/geo/coord2regioncode.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "x=127.1086228" \
--data-urlencode "y=37.4012191"
Response
HTTP/2 200
content-type: application/json;charset=UTF-8
{
"meta": {
"total_count": 2
},
"documents": [
{
"region_type": "B",
"address_name": "경기도 성남시 분당구 삼평동",
"region_1depth_name": "경기도",
"region_2depth_name": "성남시 분당구",
"region_3depth_name": "삼평동",
"region_4depth_name": "",
"code": "4113510900",
"x": 127.10459896729914,
"y": 37.40269721785548
},
{
"region_type": "H",
"address_name": "경기도 성남시 분당구 삼평동",
"region_1depth_name": "경기도",
"region_2depth_name": "성남시 분당구",
"region_3depth_name": "삼평동",
"region_4depth_name": "",
"code": "4113565500",
"x": 127.1163593869371,
"y": 37.40612091848614
}
]
}

Convert coordinates to address

Basic information
MethodURLAuthorization
GEThttps://dapi.kakao.com/v2/local/geo/coord2address.${FORMAT}REST API key

Converts the X and Y coordinates of a location to the land-lot number address and road name address.

Some coordinates may not be converted to a road name address.

Add your REST API key to the request header, and send a GET request. You can optionally add the parameter to set the type of the coordinate system to your request along with the X and Y coordinates.

The response supports both XML and JSON formats. If the request is successful, address (land-lot number address) or road_address (road name address) is returned inside documents.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: KakaoAK ${REST_API_KEY}
REST API key as a type of user authentication.
O
Path variable
NameTypeDescriptionRequired
FORMATStringThe data type of the response.
Either json or xml.(Default: json)
X
Query parameter
NameTypeDescriptionRequired
xStringX coordinate (longitude).O
yStringY coordinate (latitude).O
input_coordStringCoordinate system of the requested x and y.
Supported coordinate systems: WGS84, WCONGNAMUL, CONGNAMUL, WTM, TM.
(Default: WGS84)
X

Response

Header
NameDescriptionRequired
content-typeThe data type of the response.
content-type: application/json;charset=UTF-8
or content-type: text/xml;charset=UTF-8
O
Body
NameTypeDescription
metaMetaSearch results such as the number of documents found.
documentsDocument[]Detailed search results, including each document.
Meta
NameTypeDescription
total_countIntegerNumber of converted land-lot number addresses and road name addresses.
0 or 1.
Document
NameTypeDescription
addressAddressDetailed information of land-lot number address.
road_addressRoadAddressDetailed information of road name address.
Address
NameTypeDescription
address_nameStringFull land-lot number address.
region_1depth_nameStringRegion 1 Depth. -si(city) unit.
region_2depth_nameStringRegion 2 Depth. -gu unit.
region_3depth_nameStringRegion 3 Depth. -dong unit.
mountain_ynStringWhether the area is a mountain.
Y or N.
main_address_noStringMain land-lot number.
sub_address_noStringAdditional land-lot number.
If none, empty string ("") is returned.
zip_codeStringDeprecated 6-digit zip code.
Refer to Notice.
RoadAddress
NameTypeDescription
address_nameStringFull road name address.
region_1depth_nameStringRegion 1 Depth. -si(city) unit.
region_2depth_nameStringRegion 2 Depth. -gu unit.
region_3depth_nameStringRegion 3 Depth. -myeon unit.
road_nameStringRoad name.
underground_ynStringWhether the area is underground.
Y or N.
main_building_noStringBuilding number.
sub_building_noStringAdditional building number.
If none, empty string("") is returned.
building_nameStringBuilding name.
zone_noString5-digit zip code.

Sample

Request
curl -v -G GET "https://dapi.kakao.com/v2/local/geo/coord2address.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
-d "x=127.423084873712" \
-d "y=37.0789561558879" \
-d "input_coord=WGS84"
Response
HTTP/2 200
content-type: application/json;charset=UTF-8
{
"meta": {
"total_count": 1
},
"documents": [
{
"road_address": {
"address_name": "경기도 안성시 죽산면 죽산초교길 69-4",
"region_1depth_name": "경기",
"region_2depth_name": "안성시",
"region_3depth_name": "죽산면",
"road_name": "죽산초교길",
"underground_yn": "N",
"main_building_no": "69",
"sub_building_no": "4",
"building_name": "무지개아파트",
"zone_no": "17519"
},
"address": {
"address_name": "경기 안성시 죽산면 죽산리 343-1",
"region_1depth_name": "경기",
"region_2depth_name": "안성시",
"region_3depth_name": "죽산면 죽산리",
"mountain_yn": "N",
"main_address_no": "343",
"sub_address_no": "1",
}
}
]
}

Transform coordinates

Basic information
MethodURLAuthorization
GEThttps://dapi.kakao.com/v2/local/geo/transcoord.${FORMAT}REST API key

Converts the specified X and Y coordinates ​​in a coordinate system to another X and Y coordinates in the designated coordinate system, which allows compatibility with other coordinate systems.

Add your REST API key to the request header, and send a GET request. You can designate the desired coordinate system to convert to along with the X and Y coordinates.

The response supports both XML and JSON formats.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: KakaoAK ${REST_API_KEY}
REST API key as a type of user authentication.
O
Path variable
NameTypeDescriptionRequired
FORMATStringThe data type of the response.
Either json or xml.(Default: json)
X
Query parameter
NameTypeDescriptionRequired
xDoubleX coordinate (longitude).O
yDoubleY coordinate (latitude).O
input_coordStringCoordinate system of the requested x and y.
Supported coordinate systems: WGS84, WCONGNAMUL, CONGNAMUL, WTM, TM, KTM, UTM, BESSEL, WKTM, WUTM.
(Default: WGS84)
X
output_coordStringType of coordinate system to be converted from the input coordinate system.
Supported coordinate systems: WGS84, WCONGNAMUL, CONGNAMUL, WTM, TM, KTM, UTM, BESSEL, WKTM, WUTM.
(Default: WGS84)
O

Response

Header
NameDescriptionRequired
content-typeThe data type of the response.
content-type: application/json;charset=UTF-8
or content-type: text/xml;charset=UTF-8
O
Body
NameTypeDescription
metaMetaSearch results such as the number of documents found.
documentsDocument[]Detailed search results, including each document.
Meta
NameTypeDescription
total_countIntegerNumber of matched documents.
Document
NameTypeDescription
xStringX coordinate (longitude).
yStringY coordinate (latitude).

Sample

Request
curl -v -G GET "https://dapi.kakao.com/v2/local/geo/transcoord.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "x=160710.37729270622" \
--data-urlencode "y=-4388.879299157299" \
--data-urlencode "input_coord=WTM" \
--data-urlencode "output_coord=WGS84"
Response
HTTP/2 200
content-type: application/json;charset=UTF-8
{
"meta": {
"total_count": 1
},
"documents": [
{
"x": 126.57740680000002,
"y": 33.453357700000005
}
]
}

Search place by keyword

Basic information
MethodURLAuthorization
GEThttps://dapi.kakao.com/v2/local/search/keyword.${FORMAT}REST API key

Provides the search results for places that match the search query in the specified sorting order.

You can request the desired result with extended features such as current position coordinates, radius limit, sort options, paging, and more.

Add your REST API key to the request header, and send a GET request. You can optionally add the parameters to set the result format to your request along with the search query.

The response supports both XML and JSON formats. If the request is successful, it returns place information such as name, address, coordinates, category, and a URL redirecting to the detail page of the place on the Kakao Map.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: KakaoAK ${REST_API_KEY}
REST API key as a type of user authentication.
O
Path variable
NameTypeDescriptionRequired
FORMATStringThe data type of the response.
Either json or xml.(Default: json)
X
Query parameter
NameTypeDescriptionRequired
queryStringSearch query you want to search.O
category_group_codeStringCategory group code of the places to search for.
Major places are classified as a category group.
Used when you want to filter the results by category.
X
xStringX coordinate (longitude) of the center.
Used to search places around a specific area along with radius.
X
yStringY coordinate (latitude) of the center.
Used to search places around a specific area along with radius.
X
radiusIntegerThe distance from the center coordinates to an axis of rotation in meters.
Used to search places around a specific area along with x and y (center coordinates).
A value between 0 and 20000.
X
rectStringCoordinates of a rectangle that is used to limit search area, such as when searching places within the map screen.
In the coordinates of left X, left Y, right X, and right Y format.
X
pageIntegerResult page number.
A value between 1 and 45.
(Default: 1)
X
sizeIntegerNumber of documents to be displayed on a single page.
A value between 1 and 15.
(Default: 15)
X
sortStringSorting method of the document results.
accuracy or distance (Default: accuracy).
In the case of distance, x and y values are required as a reference coordinates.
X
Category group code
NameDescription
MT1Supermarket
CS2Convenience store
PS3Daycare center, kindergarten
SC4School
AC5Hagwon such as cram school, private learning institute
PK6Parking lot
OL7Gas station, LPG station
SW8Subway station
BK9Bank
CT1Cultural facility
AG2Real estate agency
PO3Public institutions
AT4Attractions
AD5Accommodation
FD6Restaurant
CE7Cafe
HP8Hospital
PM9Pharmacy

Response

Header
NameDescriptionRequired
content-typeThe data type of the response.
content-type: application/json;charset=UTF-8
or content-type: text/xml;charset=UTF-8
O
Body
NameTypeDescription
metaMetaSearch results such as the number of documents found.
documentsDocument[]Detailed search results, including each document.
Meta
NameTypeDescription
total_countIntegerNumber of documents found by search query.
pageable_countIntegerNumber of documents to be displayed out of all documents (total_count).
(Maximum: 45)
is_endBooleanWhether the current page is the last page.
If false, you can request the next page by incrementing the value of page.
same_nameRegionInfoLocation and keyword analyzed out of the search query.
RegionInfo
NameTypeDescription
regionString[]List of places found according to the region in a search query.
Example: List of places in 'Jungang-ro' (region name) out of 'Jungang-ro Restaurants'
keywordStringKeyword excluding region information in the search query.
Example: 'Restaurant' in'Jungang-ro Restaurant'
selected_regionStringThe region information used to search for places in the list of found places.
Document
NameTypeDescription
idStringPlace ID.
place_nameStringPlace name, company name.
category_nameStringCategory name.
category_group_codeStringCode of the requested category group.
category_group_nameStringName of category groups that are grouped for only major categories.
phoneStringPhone number.
address_nameStringFull land-lot number address.
road_address_nameStringFull road name address.
xStringX coordinate (longitude).
yStringY coordinate (latitude).
place_urlStringURL of the detailed page on the place.
distanceStringDistance to the coordinates of the center in meters.
Only returned if x and y are specified.

Sample

Request: Search for Kakao Friends store within a radius of 20 KM from Samsung-dong, Gangnam-gu in Seoul
curl -v -G GET "https://dapi.kakao.com/v2/local/search/keyword.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "query=카카오프렌즈" \
--data-urlencode "x=127.06283102249932" \
--data-urlencode "y=37.514322572335935" \
--data-urlencode "radius=20000"
Response
HTTP/2 200
content-type: application/json;charset=UTF-8
{
"meta": {
"same_name": {
"region": [],
"keyword": "카카오프렌즈",
"selected_region": ""
},
"pageable_count": 14,
"total_count": 14,
"is_end": true
},
"documents": [
{
"place_name": "카카오프렌즈 코엑스점",
"distance": "418",
"place_url": "http://place.map.kakao.com/26338954",
"category_name": "가정,생활 > 문구,사무용품 > 디자인문구 > 카카오프렌즈",
"address_name": "서울 강남구 삼성동 159",
"road_address_name": "서울 강남구 영동대로 513",
"id": "26338954",
"phone": "02-6002-1880",
"category_group_code": "",
"category_group_name": "",
"x": "127.05902969025047",
"y": "37.51207412593136"
},
...
]
}

Search place by category

Basic information
MethodURLAuthorization
GEThttps://dapi.kakao.com/v2/local/search/category.${FORMAT}REST API key

Provides the search results for places by predefined group code in the specified order.

You can request the desired result with extended features such as current position coordinates, radius limit, sort options, paging, and more.

Add your REST API key to the request header, and send a GET request. You can optionally add the parameters to set the result format to your request along with the search query.

The response supports both XML and JSON formats. If the request is successful, it returns place information such as name, address, coordinates, category, and a URL redirecting to the detail page of the place on the Kakao Map.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: KakaoAK ${REST_API_KEY}
REST API key as a type of user authentication.
O
Path variable
NameTypeDescriptionRequired
FORMATStringThe data type of the response.
Either json or xml.(Default: json)
X
Query parameter
NameTypeDescriptionRequired
category_group_codeStringCategory group code of the places to search for.
Major places are classified as a category group.
O
xStringX coordinate (longitude) of the center.
Used to search places around a specific area along with radius.
Either (x,y, radius) or rect is required.
yStringY coordinate (latitude) of the center.
Used to search places around a specific area along with radius.
Either (x,y, radius) or rect is required.
radiusIntegerThe distance from the center coordinates to an axis of rotation in meters.
Used to search places around a specific area along with x and y (center coordinates).
A value between 0 and 20000.
Either (x,y, radius) or rect is required.
rectStringCoordinates of a rectangle that is used to limit search area, such as when searching places within the map screen.
In the coordinates of left X, left Y, right X, and right Y format.
Either (x,y, radius) or rect is required.
X
pageIntegerResult page number.
A value between 1 and 45.
(Default: 1)
X
sizeIntegerNumber of documents to be displayed on a single page.
A value between 1 and 15.
(Default: 15)
X
sortStringSorting method of the document results.
accuracy or distance (Default: accuracy).
In the case of distance, x and y values are required as a reference coordinates.
X

Response

Header
NameDescriptionRequired
content-typeThe data type of the response.
content-type: application/json;charset=UTF-8
or content-type: text/xml;charset=UTF-8
O
Body
NameTypeDescription
metaMetaSearch results such as the number of documents found.
documentsDocument[]Detailed search results, including each document.
Meta
NameTypeDescription
total_countIntegerNumber of documents found by search query.
pageable_countIntegerNumber of documents to be displayed out of all documents (total_count).
(Maximum: 45)
is_endBooleanWhether the current page is the last page.
If false, you can request the next page by incrementing the value of page.
same_nameRegionInfoLocation and keyword analyzed out of the search query.
RegionInfo
NameTypeDescription
regionString[]List of places found according to the region in a search query.
Example: List of places in Jungang-ro(region name) out of 'Jungang-ro Restaurants'
keywordStringKeyword excluding region information in the search query.
Example: 'Restaurant' in'Jungang-ro Restaurant'
selected_regionStringThe region information used to search for places in the list of the found places.
Document
NameTypeDescription
idStringPlace ID.
place_nameStringPlace name, company name.
category_nameStringCategory name.
category_group_codeStringCode of the requested category group.
Only returned if category_group_code is specified.
category_group_nameStringName of the requested category group.
Only returned if category_group_code is specified.
phoneStringPhone number.
address_nameStringFull land-lot number address.
road_address_nameStringFull road name address.
xStringX coordinate (longitude).
yStringY coordinate (latitude).
place_urlStringURL of the detailed page on the place.
distanceStringDistance to the coordinates of the center in meters.
Only returned if x and y are specified.

Sample

Request: Search for pharmacies within a radius of 20 KM from Samsung-dong, Gangnam-gu in Seoul
curl -v -G GET "https://dapi.kakao.com/v2/local/search/category.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "category_group_code=PM9" \
--data-urlencode "radius=20000"
Response
HTTP/2 200
content-type: application/json;charset=UTF-8
{
"meta": {
"same_name": null,
"pageable_count": 11,
"total_count": 11,
"is_end": true
},
"documents": [
{
"place_name": "장생당약국",
"distance": "",
"place_url": "http://place.map.kakao.com/16618597",
"category_name": "의료,건강 > 약국",
"address_name": "서울 강남구 대치동 943-16",
"road_address_name": "서울 강남구 테헤란로84길 17",
"id": "16618597",
"phone": "02-558-5476",
"category_group_code": "PM9",
"category_group_name": "약국",
"x": "127.05897078335246",
"y": "37.506051888130386"
},
...
]
}

See more

Was this helpful?