다크 모드
Reverse Geocoding
Reverse Geocoding converts latitude and longitude coordinates into actual addresses or place names.
This API processes multiple coordinates in a single request and returns the detailed address along with administrative area and legal-status area information for each location. You can query up to 5 coordinates per request.
DANGER
A REST API key is required to use this API. Please refer to Getting Started for instructions on how to register an app and obtain a REST API key.
Request
This section describes the request method and the required request headers. If the request fails, see Troubleshooting for detailed error information.
Request Method
| Method | URL |
|---|---|
GET | https://apis-navi.kakaomobility.com/affiliate/address/v1/reverse_geocode |
Request Headers
| Parameter | Description |
|---|---|
| Authorization | KakaoAK $ |
| Content-Type | application/json |
Sample request
bash
curl --location --request GET 'http://apis-navi.kakaomobility/affiliate/address/v1/reverse_geocode?locations=35.85425241569661%2C128.54793746293046%7C37.566535%2C126.9779692%7C35.1795543%2C129.0756416%7C129.0756416%2C35.1795543%7C35.85425241569661%2C128.54793746293046&locale=ko&hbinfo=true' \
-H "Authorization: KakaoAK ${REST_API_KEY}"The request parameters are as follows:
Parameters
| Name | Type | Description | Required |
|---|---|---|---|
locations | String | Latitude/longitude coordinate input (up to 5 sets allowed) Enter ${Y coordinate},${X coordinate} for each point, separated by | (or its URL-encoded form %7C).(Example: " 37.5665,126.9780|35.1796,129.0756") | O |
locale | String | Response language • ko: Korean• en: English(Default: ko) | X |
shape | Boolean | Whether to provide address (old/new) shape information - old: Address based on land-lot number - new: Address based on road name and building number • true: Provides shape information.• false: Does not provide shape information.(Default: false) | X |
hbinfo | Boolean | Whether to provide administrative area and legal-status area information • true: Provides administrative area and legal-status area information.• false: Does provide administrative area and legal-status area information.(Default: false) | X |
Response
Upon successful response, the success status is delivered via HTTP status code, and the request body is delivered in JSON format.
Sample response
json
{
"trans_id": "0198ea1406797b3487f4e32431b06d9c",
"addresses": [
{
"result_code": "SUCCESS",
"result_msg": "성공",
"old": {
"name": "대구광역시 달서구 감삼동 305",
"main_no": "305",
"slave_no": "",
"san": "N"
},
"new": {
"name": "대구광역시 달서구 달구벌대로 지하 1665",
"road_name": "달구벌대로",
"building": "대구지하철2호선 감삼역",
"zone_no": "42641",
"jiha": "Y",
"main_no": "1665",
"slave_no": "",
"ent_x": 128.54734888026798,
"ent_y": 35.85421275027106
},
"hinfo": {
"type": "H",
"code": "2729056300",
"name": "죽전동",
"full_name": "대구광역시 달서구 죽전동",
"name0": "대한민국",
"code1": "2700000000",
"name1": "대구광역시",
"short_name1": "대구",
"code2": "2729000000",
"name2": "달서구",
"code3": "2729056300",
"name3": "죽전동",
"childcount": 0,
"x": 128.5407744311022,
"y": 35.85418300183227
},
"binfo": {
"type": "B",
"code": "2729011300",
"name": "감삼동",
"full_name": "대구광역시 달서구 감삼동",
"name0": "대한민국",
"code1": "2700000000",
"name1": "대구광역시",
"short_name1": "대구",
"code2": "2729000000",
"name2": "달서구",
"code3": "2729011300",
"name3": "감삼동",
"x": 128.54208999017484,
"y": 35.85001662863011
}
},
{
"result_code": "SUCCESS",
"result_msg": "성공",
"old": {
"name": "서울특별시 중구 태평로1가 31",
"main_no": "31",
"slave_no": "",
"san": "N"
},
"new": {
"name": "서울특별시 중구 세종대로 110",
"road_name": "세종대로",
"building": "서울특별시청",
"zone_no": "04524",
"jiha": "N",
"main_no": "110",
"slave_no": "",
"ent_x": 126.9777062790784,
"ent_y": 37.56620502187806
},
"hinfo": {
"type": "H",
"code": "1114055000",
"name": "명동",
"full_name": "서울특별시 중구 명동",
"name0": "대한민국",
"code1": "1100000000",
"name1": "서울특별시",
"short_name1": "서울",
"code2": "1114000000",
"name2": "중구",
"code3": "1114055000",
"name3": "명동",
"childcount": 0,
"x": 126.98607733575658,
"y": 37.56131225045804
},
"binfo": {
"type": "B",
"code": "1114010300",
"name": "태평로1가",
"full_name": "서울특별시 중구 태평로1가",
"name0": "대한민국",
"code1": "1100000000",
"name1": "서울특별시",
"short_name1": "서울",
"code2": "1114000000",
"name2": "중구",
"code3": "1114010300",
"name3": "태평로1가",
"x": 126.97728421482302,
"y": 37.56756438574504
}
},
{
"result_code": "SUCCESS",
"result_msg": "성공",
"old": {
"name": "부산광역시 연제구 연산동 1000",
"main_no": "1000",
"slave_no": "",
"san": "N"
},
"new": {
"name": "부산광역시 연제구 중앙대로 1001",
"road_name": "중앙대로",
"building": "부산광역시청, 부산광역시의회",
"zone_no": "47545",
"jiha": "N",
"main_no": "1001",
"slave_no": "",
"ent_x": 129.0756227110175,
"ent_y": 35.179099267935605
},
"hinfo": {
"type": "H",
"code": "2647069000",
"name": "연산제5동",
"full_name": "부산광역시 연제구 연산제5동",
"name0": "대한민국",
"code1": "2600000000",
"name1": "부산광역시",
"short_name1": "부산",
"code2": "2647000000",
"name2": "연제구",
"code3": "2647069000",
"name3": "연산제5동",
"childcount": 0,
"x": 129.07877257737533,
"y": 35.184613522809194
},
"binfo": {
"type": "B",
"code": "2647010200",
"name": "연산동",
"full_name": "부산광역시 연제구 연산동",
"name0": "대한민국",
"code1": "2600000000",
"name1": "부산광역시",
"short_name1": "부산",
"code2": "2647000000",
"name2": "연제구",
"code3": "2647010200",
"name3": "연산동",
"x": 129.08672826060786,
"y": 35.17572167323599
}
},
{
"result_code": "INVALID_LAT_LNG",
"result_msg": "입력한 위도/경도 값이 올바르지 않습니다."
},
{
"result_code": "SUCCESS",
"result_msg": "성공",
"old": {
"name": "대구광역시 달서구 감삼동 305",
"main_no": "305",
"slave_no": "",
"san": "N"
},
"new": {
"name": "대구광역시 달서구 달구벌대로 지하 1665",
"road_name": "달구벌대로",
"building": "대구지하철2호선 감삼역",
"zone_no": "42641",
"jiha": "Y",
"main_no": "1665",
"slave_no": "",
"ent_x": 128.54734888026798,
"ent_y": 35.85421275027106
},
"hinfo": {
"type": "H",
"code": "2729056300",
"name": "죽전동",
"full_name": "대구광역시 달서구 죽전동",
"name0": "대한민국",
"code1": "2700000000",
"name1": "대구광역시",
"short_name1": "대구",
"code2": "2729000000",
"name2": "달서구",
"code3": "2729056300",
"name3": "죽전동",
"childcount": 0,
"x": 128.5407744311022,
"y": 35.85418300183227
},
"binfo": {
"type": "B",
"code": "2729011300",
"name": "감삼동",
"full_name": "대구광역시 달서구 감삼동",
"name0": "대한민국",
"code1": "2700000000",
"name1": "대구광역시",
"short_name1": "대구",
"code2": "2729000000",
"name2": "달서구",
"code3": "2729011300",
"name3": "감삼동",
"x": 128.54208999017484,
"y": 35.85001662863011
}
}
]
}The response object information is as follows:
Response object
| Name | Type | Description |
|---|---|---|
trans_id | String | Address conversion request ID |
addresses | Object[] | Address information Results are returned in the same order as the input coordinates. |
result_code | String | Result code |
result_msg | String | Result message |
old | Object | Land-lot number address information |
name | String | Full land-lot number address |
main_no | String | Main land-lot number |
slave_no | String | Additional land-lot number. If none, empty string ("") is returned. |
san | String | Whether the area is a mountain. Y or N |
shape | Object[] | Land-lot number shape information |
exterior | Object[] | Coordinate list forming the shape exterior |
x | Double | Longitude |
y | Double | Latitude |
interior | Object[] | Array of coordinate lists representing interior holes of the shape |
x | Double | Longitude |
y | Double | Latitude |
new | Object | Road name address information |
name | String | Full road name address |
road_name | String | Road name |
building | String | Building name |
zone_no | String | 5-digit zip code |
jiha | String | Whether the area is underground. Y or N |
main_no | String | Main building number |
slave_no | String | Additional building number. If none, empty string ("") is returned. |
ent_x | Double | Main entrance longitude (x) coordinate of building/building complex |
ent_y | Double | Main entrance latitude (y) coordinate of building/building complex |
shape | Object[] | Building shape information |
exterior | Object[] | Coordinate list forming the shape exterior |
x | Double | Longitude |
y | Double | Latitude |
interior | Object[] | Array of coordinate lists representing interior holes of the shape |
x | Double | Longitude |
y | Double | Latitude |
hinfo | Object | Administrative area information |
type | String | "H" fixed (Administrative area identifier) |
code | String | Administrative area code |
name | String | Administrative area name |
full_name | String | Full administrative area name |
name0 | String | Country name |
code1 | String | City (-si)/Province (-do) code |
name1 | String | City (-si)/Province (-do) name |
short_name1 | String | Abbreviated name of city (-si) or province (-do) |
code2 | String | City (-si)/County (-gun)/District (-gu) code |
name2 | String | City (-si)/County (-gun)/District (-gu) name |
code3 | String | Administrative area (eup/myeon/dong) code |
name3 | String | Administrative area (eup/myeon/dong) name |
childcount | Integer | Number of sub-administrative areas |
x | Double | Longitude (x) of center point within administrative area polygon |
y | Double | Latitude (y) of center point within administrative area polygon |
binfo | Object | Legal-status area information |
type | String | "B" fixed (Legal-status area identifier) |
code | String | Legal-status area code |
name | String | Legal-status areat name |
full_name | String | Full legal-status area name |
name0 | String | Country level name |
code1 | String | City (-si)/Province (-do) code |
name1 | String | City (-si)/Province (-do) name |
short_name1 | String | Abbreviated name of city (-si) or province (-do) |
code2 | String | City (-si)/County (-gun)/District (-gu) code |
name2 | String | City (-si)/County (-gun)/District (-gu) name |
code3 | String | Legal-status area (eup/myeon/dong) code |
name3 | String | Legal-status area (eup/myeon/dong) name |
code4 | String | Village (-ri) code |
name4 | String | Village (-ri) name |
x | Double | Longitude (x) of center point within legal-status area polygon |
y | Double | Latitude (y) of center point within legal-status area polygon |