This document provides the Utility API information for Kakao API platform users.
Method | URL | Authorization |
---|---|---|
GET |
https://kapi.kakao.com/v1/system/ips |
Native app key REST API key JavaScript key Admin key |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | - | - | - |
Retrieve Kakao IP list to use Kakao APIs. If access to the service server is restricted by the firewall or ACL (Access Control List), you must set the Kakao service server's IP on the firewall rules or ACL.
Send a GET
request with one of service app keys in the header. To retrieve only one of either inbound or outbound, use rule_type
.
The response includes the inbound and outbound Kakao IP list. If failed, refer to Error code to figure out the reason.
유형 | 설명 |
---|---|
Inbound | Required IPs to get the request from Kakao. One of the request types below. callback : Callbackscrap : A request to scrape a service page |
Outbound | Required IPs to use Kakao APIs. One of the Kakao service domains below. https://kauth.kakao.com : Kakao Login APIhttps://kapi.kakao.com : Kakao APIhttps://accounts.kakao.com : Kakao Accounthttps://auth.kakao.com : Kakao Account(Mobile)https://dapi.kakao.com : Daum search, local APIhttps://apps.kakao.com : Kakao Talk Message APIhttps://talk-apps.kakao.com : Kakao Talk universal link |
Name | Description | Required |
---|---|---|
Authorization | Authorization: KakaoAK ${SERVICE_APP_KEY} Service app key as a type of user authentication. One of: Native app key REST API key JavaScript key Admin key |
O |
Name | Type | Description | Required |
---|---|---|---|
rule_type | String |
IP type to retrieve. One of inbound and outbound . |
X |
Name | Type | Description | Required |
---|---|---|---|
inbound | IP[] |
Inbound IP list of each Kakao service. | X |
outbound | IP[] |
Outbound IP list of each Kakao service. | X |
updatedDate | String |
The last updated date in YYYY-MM-DD (ISO 8601) Format. |
O |
Name | Type | Description | Required |
---|---|---|---|
service | String |
The service names or the service domain. Refer to Kakao service information. |
O |
ips | String[] |
The IP list of each Kakao service. RFC1519 CIDR format. |
O |
ports | Int[] |
The port list of each Kakao service. | O |
addition | IpChange |
The IP information to be added. | X |
exclusion | IpChange |
The IP information to be excluded. | X |
updatedDate | String |
The last updated date in YYYY-MM-DD (ISO 8601) Format. |
O |
Name | Type | Description | Required |
---|---|---|---|
ips | String[] |
The IP list to be added or excluded. RFC1519 CIDR format. |
O |
date | String |
The addition or exclusion schedule. | O |
curl -v -G GET "https://kapi.kakao.com/v1/system/ips" \
-H "Authorization: KakaoAK ${REST_API_KEY}"
curl -v -G GET "https://kapi.kakao.com/v1/system/ips" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
-d "rule_type=inbound"
HTTP/1.1 200 OK
{
"inbound": [
{
"service": "callback",
"ips": [
"211.249.203.104/24",
"220.64.110.190/25",
"220.64.111.158/25",
"220.64.109.84/31",
"203.217.230.3/26"
],
"ports": [
443
],
"updatedDate": "2023-06-28"
},
...
],
"outbound": [
{
"service": "https://kauth.kakao.com", // If there is no list of IPs to be added
"ips": [
"203.133.166.32/32",
"27.0.237.15/32"
],
"ports": [
443
],
"updatedDate": "2023-06-28"
},
{
"service": "https://kapi.kakao.com", // If there is a list of IPs to be added or excluded
"ips": [
"203.133.166.33/32",
"211.249.200.134/32"
],
"ports": [
443
],
"updatedDate": "2023-06-28",
"addition": {
"ips": [
"111.111.111.0/32",
"111.111.111.1/32"
],
"date": "2023-06-30"
},
"exclusion": {
"ips": [
"203.133.166.33/32",
"211.249.200.134/32"
],
"date": "2023-07-01"
}
},
{
"service": "https://accounts.kakao.com", // If there is a list of IPs to be added
"ips": [
"211.231.99.67/32",
"110.76.142.110/32"
],
"ports": [
443
],
"updatedDate": "2023-06-28",
"addition": {
"ips": [
"111.111.111.2/32",
"111.111.111.3/32"
],
"date": "2023-06-30"
}
},
{
"service": "https://auth.kakao.com", // If there is a list of IPs to be excluded
"ips": [
"219.249.227.143/32",
"210.103.240.15/32",
"110.76.141.64/32"
],
"ports": [
443
],
"updatedDate": "2023-06-28",
"exclusion": {
"ips": [
"219.249.227.143/32",
"210.103.240.15/32"
],
"date": "2023-07-01"
}
},
...
],
"updatedDate": "2023-06-28"
}
HTTP/1.1 200 OK
{
"inbound": [
{
"service": "callback",
"ips": [
"211.249.203.104/24", "220.64.110.190/25", "220.64.111.158/25", "220.64.109.84/31", "203.217.230.3/26"
],
"ports": [443],
"updatedDate": "2023-06-28"
}, {
"service": "scrap",
"ips": [
"211.231.96.0/20", "27.0.236.0/22"
],
"ports": [
80, 443
],
"updatedDate": "2023-06-28"
}
],
"updatedDate": "2023-06-28"
}
Use these APIs to retrieve [Kakao Open API Status].
Method | URL | Authorization |
---|---|---|
GET |
https://api-status.kakao.com/api/health/current |
- |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | - | - | - |
Check the current status of Kakao APIs. The status is updated every 5 minutes.
Send a GET
request. Use product
and api
parameters to specify products and APIs. If the request is successful, the response includes the current status information for each product and API. The status of each product is always included in the response regardless of the status, and the status of each API is included in the response only if there is an abnormality.
Name | Type | Description | Required |
---|---|---|---|
product | String |
Products to check status, a comma separated string If not specified, check all products (Example: login,message ) |
X |
api | String |
APIs to check status, a comma separated string If not specified, check all APIs (Example: user_me,user_shipping_address )Note: If products are specified, APIs only for the same products are available |
X |
lang | String |
Language for the response, one of:ko : Koreanen : English(Default: ko ) |
X |
Name | Type | Description | Required |
---|---|---|---|
updatedAt | String |
Last updated time, in 5-minute increments, yyyy-MM-dd HH:mm:ssZ format |
O |
statuses | Status[] |
List of the status information | O |
warning | Warning |
If the request was invalid, detailed reasons | X |
Name | Type | Description | Required |
---|---|---|---|
productId | String |
ID of the product | O |
productName | String |
Name of the product | O |
status | String |
Current product status, one of the following:GREEN : NormalYELLOW : WarningRED : OutageMAINTENANCE : MaintenanceUNKNOWN : Unknown |
O |
issuses | Issue[] |
Detailed information on abnormal status Not provided when the status is GREEN or UNKNOWN |
X |
Name | Type | Description | Required |
---|---|---|---|
apiId | String |
ID of the API | O |
apiName | String |
Name of the API | O |
status | String |
Current API status, one of:GREEN : NormalYELLOW : WarningRED : OutageMAINTENANCE : MaintenanceUNKNOWN : Unknown |
O |
Name | Type | Description | Required |
---|---|---|---|
invalidProduct | String[] |
List of the invaild product values |
X |
invalidUri | String[] |
List of the invalid api values |
X |
curl -v -G GET "https://api-status.kakao.com/api/health/current"
curl -v -G GET "https://api-status.kakao.com/api/health/current" \
-d "product=login"
curl -v -G GET "https://api-status.kakao.com/api/health/current" \
-d "product=login" \
-d "api=user_me"
HTTP/2 200
content-type: application/json; charset=utf-8
{
"updatedAt": "2023-12-05T07:10:01.823Z",
"statuses": [
{
"productId": "login",
"productName": "카카오 로그인",
"status": "GREEN"
},
{
"productId": "social",
"productName": "카카오톡 소셜",
"status": "GREEN"
},
{
"productId": "message",
"productName": "메시지",
"status": "GREEN"
},
...
]
}
HTTP/2 200
content-type: application/json; charset=utf-8
{
"updatedAt": "2023-12-05T07:00:01.986Z",
"statuses": [
{
"productId": "login",
"productName": "카카오 로그인",
"status": "GREEN"
}
]
}
HTTP/2 200
content-type: application/json; charset=utf-8
{
"updatedAt":"2023-11-27T09:30:01.807Z",
"statuses":[
{
"productId":"login",
"productName":"카카오 로그인",
"status":"RED",
"issues": [
{
"apiId": "oauth_authorize",
"apiName": "인가 코드 받기",
"status": "YELLOW"
},
{
"apiId": "oauth_token",
"apiName": "토큰 받기",
"status": "RED"
}
]
}
]
}
HTTP/2 200
content-type: application/json; charset=utf-8
{
"updatedAt": "2023-12-05T07:12:43.961Z",
"statuses": []
}
HTTP/2 200
content-type: application/json; charset=utf-8
{
"updatedAt": "2023-12-05T07:49:57.811Z",
"statuses": [],
"warning": {
"invalidProduct": "test",
"invalidUris": "test"
}
}
Method | URL | Authorization |
---|---|---|
GET |
https://api-status.kakao.com/api/health/history |
- |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | - | - | - |
Check the history of the status for Kakao Open API. Status history is provided on a daily basis and is provided up to 30 days prior to the request date.
Send a GET
request. Use start
and end
parameters to specify the period. If the request is successful, the response includes the history of the status on a daily basis.
Name | Type | Description | Required |
---|---|---|---|
start | String |
Start date, yyyy-MM-dd format |
X |
end | String |
End date, yyyy-MM-dd format |
X |
product | String |
Products to check status, a comma separated string If not specified, check all products (Example: login,message ) |
X |
api | String |
APIs to check status, a comma separated string If not specified, check all APIs (Example: user_me,user_shipping_address )Note: If products are specified, APIs only for the same products are available |
X |
lang | String |
Language for the response, one of:ko : Koreanen : English(Default: ko ) |
X |
Name | Type | Description | Required |
---|---|---|---|
- | StatusHistory[] |
Daily status history | O |
Name | Type | Description | Required |
---|---|---|---|
date | String |
Date | O |
statuses | Status[] |
List of the status information | O |
curl -v -G GET "https://api-status.kakao.com/api/health/history"
curl -v -G GET "https://api-status.kakao.com/api/health/history" \
-d "start=2023-12-01" \
-d "end=2023-12-31"
curl -v -G GET "https://api-status.kakao.com/api/health/history" \
-d "product=login"
curl -v -G GET "https://api-status.kakao.com/api/health/history" \
-d "product=user_me"
HTTP/2 200
content-type: application/json; charset=utf-8
[
{
"date": "2023-12-04T15:00:00.000Z",
"statuses": [
{
"productId": "login",
"productName": "카카오 로그인",
"status": "GREEN"
},
{
"productId": "social",
"productName": "카카오톡 소셜",
"status": "GREEN"
},
{
"productId": "message",
"productName": "메시지",
"status": "GREEN"
},
...
]
},
...
]
HTTP/2 200
content-type: application/json; charset=utf-8
[
{
"date": "2023-12-04T15:00:00.000Z",
"statuses": [
{
"productId": "login",
"productName": "카카오 로그인",
"status": "GREEN"
}
]
},
...
]
Name | ID |
---|---|
Kakao Login | login |
Kakao Talk Social | social |
Message | message |
Map/Local | local |
Kakao Navi | navi |
Kakao Talk Channel | channel |
Search | search |
Name | ID |
---|---|
Get authorization code | oauth_authorize |
Get tokens | oauth_token |
OIDC: Retrieve Discovery document | oidc_meta |
OIDC: Get public key | oidc_public_key |
Logout | user_logout |
Manual signup | user_signup |
Unlink | user_unlink |
Retrieve token information | user_access_token_info |
Retrieve user information | user_me |
Store user information | user_update_profile |
Retrieve shipping address | user_shipping_address |
Retrieve user list | user_ids |
Retrieve multiple user information | app_users |
Retrieve consent details | user_scopes |
Revoke consent | user_revoke_scopes |
Retrieve consent details for service terms | user_service_terms |
Revoke consent for service terms | user_revoke_service_terms |
OIDC: Retrieve user information | oidc_userinfo |
Retrieve Kakao Talk profile | talk_profile |
Retrieve list of friends | talk_friends |
Picker: Retrieve friends(Native SDK) | picker_friends_native |
Picker: Retrieve friends(JS SDK) | picker_friends_js |
Kakao Talk Sharing: Configure message with default template | talk_sharing_default_template |
Kakao Talk Sharing: Configure message with custom template | talk_sharing_custom_template |
Kakao Talk Sharing: Configure scrap message | talk_sharing_scrap_template |
Kakao Talk Sharing: Send message | talk_sharing_send_message |
Kakao Talk Sharing: Send web sharing message | talk_sharing_web_send_message |
Kakao Talk Sharing: Upload images | talk_sharing_upload_images |
Kakao Talk Sharing: Scrap images | talk_sharing_scrap_images |
Kakao Talk Sharing: Delete images | talk_sharing_delete_images |
Send me message with default template | talk_memo_default_send |
Send me message with custom template | talk_memo_send |
Send me scrap message | talk_memo_scrap_send |
Send friends message with default template | talk_friends_message_default_send |
Send friends message with custom template | talk_friends_message_send |
Send friends scrap message | talk_friends_message_scrap_send |
Map API for JavaScript | map_js |
Map API for native app | map_native |
Vector map API for native app | vector_map_native |
Map style | map_style |
POI(Point Of Interest) | map_poi |
Address search | local_search_address |
Convert coordinates to administrative information | local_geo_coord2regioncode |
Convert coordinates to address | local_geo_coord2address |
Convert coordinate system | local_geo_transcoord |
Place search by keyword | local_search_keyword |
Place search by category | local_search_category |
Find driving directions | navi_directions |
Find directions via multiple waypoints | navi_waypoints_directions |
Find directions from multiple origins | navi_origins_directions |
Find directions to multiple destinations | navi_destinations_directions |
Estimate future driving | navi_future_directions |
Check Kakao Talk Channel relationship | talk_channels |
Check multiple users' Kakao Talk Channel relationship | talk_channels_multi |
Customer management: Register customer file | talkchannel_create_target_user_file |
Customer management: View customer file | talkchannel_target_user_file |
Customer management: Add user | talkchannel_update_target_users |
Customer management: Delete user | talkchannel_delete_target_users |
Web document search | search_web |
Video search | search_vclip |
Image search | search_image |
Blog search | search_blog |
Book search | search_book |
Cafe search | search_cafe |