사이드 메뉴
시작하기
로그인
커뮤니케이션
광고
광고 생성: 키워드
이 문서는 광고 생성: 키워드 API 사용 방법을 안내합니다.
키워드란 사용자가 검색 시 입력한 검색어를 지칭합니다. 광고그룹 내 다양한 키워드를 생성할 수 있으며, 생성한 소재를 노출하기 위한 단어입니다. 광고 집행을 결정하는 중요한 단위로 생성한 소재와 관련성 높은 키워드를 설정하면 효과적인 광고 성과를 볼 수 있습니다.
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://api.keywordad.kakao.com/openapi/v1/keywords | 비즈니스 토큰 |
키워드 목록을 조회합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 본문에 JSON 객체로 키워드의 목록을 받습니다. 실패 시 에러 코드로 원인을 확인합니다
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| adGroupId | Long | 광고그룹 ID | O |
| config | String | 키워드 상태(미입력시 ON,OFF값 출력) | X |
| 이름 | 타입 | 설명 |
|---|---|---|
| adGroupId | Long | 광고그룹 ID |
| id | Long | 키워드 ID |
| text | String | 키워드 이름 |
| config | String | 키워드 상태 |
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보 |
| bidStrategy | BidStrategy | 키워드 입찰전략 |
| status | String[] | 운영 상태 정보 |
| reviewStatus | String[] | 심사 상태 정보 |
요청
curl -v -G GET "https://api.keywordad.kakao.com/openapi/v1/keywords" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-d "adGroupId=4444444441" \-d "config=ON"
응답
[{"adGroupId": "4444444441","id": "55555555551","text": "키워드1","config": "ON","landingInfo": {"rspvLandingUrl": "https://www.daum.net","pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "MANUAL","bidAmount": 1000},"status": ["WAITING","OFF_BY_BIZ_CHANNEL_WAITING","OFF"],"reviewStatus": "WAITING"},{"adGroupId": "4444444441","id": "55555555552","text": "키워드2","config": "ON","landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": "https://www.daum.net","mobileLandingUrl": "https://www.daum.net"},"bidStrategy": {"type": "AD_GROUP","bidAmount": null},"status": ["WAITING","OFF_BY_BIZ_CHANNEL_WAITING","OFF"],"reviewStatus": "WAITING"}]
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID} | 비즈니스 토큰 |
키워드의 상세 정보를 조회합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 본문에 JSON 객체로 키워드의 상세 정보를 받습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| adGroupId | Long | 광고그룹 ID |
| id | Long | 키워드 ID |
| text | String | 키워드 이름 |
| config | String | 키워드 상태 |
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보 |
| bidStrategy | BidStrategy | 키워드 입찰전략 |
| status | String[] | 운영 상태 정보 |
| reviewStatus | String[] | 심사 상태 정보 |
요청
curl -v -G GET "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}"
응답
{"adGroupId": "4444444441","id": "55555555551","text": "키워드1","config": "OFF","landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "AD_GROUP","bidAmount": null},"status": ["WAITING","OFF_BY_BIZ_CHANNEL_WAITING","OFF"],"reviewStatus": "WAITING"}
| 메서드 | URL | 인증 방식 |
|---|---|---|
POST | https://api.keywordad.kakao.com/openapi/v1/keywords | 비즈니스 토큰 |
새로운 키워드를 생성합니다.
이미 등록된 키워드 재추가 시 해당 키워드는 나타나지 않습니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 요청합니다. 성공 시 응답 본문에 JSON 객체로 키워드 상세 정보를 받습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| adGroupId | Long | 광고그룹 ID | O |
| texts | String[] | 키워드 리스트 | O |
| bidStrategy | BidStrategy | 키워드 입찰전략 | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| adGroupId | Long | 광고그룹 ID |
| id | Long | 키워드 ID |
| text | String | 키워드 |
| config | String | 키워드 상태, 아래 중 하나
|
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보 |
| bidStrategy | BidStrategy | 키워드 입찰전략 |
| status | String[] | 운영 상태 정보 |
| reviewStatus | String[] | 심사 상태 정보 |
요청
curl -v -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"adGroupId": "4444444441","texts": ["키워드1","키워드2"],"bidStrategy": {"type": "AD_GROUP","bidAmount": null}}'
응답
[{"adGroupId": "4444444441","id": "55555555551","text": "키워드1","config": "ON","landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "AD_GROUP","bidAmount": null},"status": ["OFF_BY_BIZ_CHANNEL_WAITING","WAITING"],"reviewStatus": "WAITING"},{"adGroupId": "4444444441","id": "55555555552","text": "키워드2","config": "ON","landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "AD_GROUP","bidAmount": null},"status": ["OFF_BY_BIZ_CHANNEL_WAITING","WAITING"],"reviewStatus": "WAITING"}]
| 메서드 | URL | 인증 방식 |
|---|---|---|
POST | https://api.keywordad.kakao.com/openapi/v1/keywords/individual | 비즈니스 토큰 |
새로운 키워드마다 옵션을 설정하여 생성합니다.
이미 등록된 키워드 재추가 시 해당 키워드는 나타나지 않습니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 요청합니다. 성공 시 응답 본문에 JSON 객체로 키워드 상세 정보를 받습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| adGroupId | Long | 광고그룹 ID | O |
| individualKeywords | Object | 생성할 키워드 정보를 담은 객체 자세한 내용은 individualKeywords 확인 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| text | String | 키워드 | O |
| bidStrategy | BidStrategy | 키워드 입찰전략 | O |
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보 | X |
| 이름 | 타입 | 설명 |
|---|---|---|
| adGroupId | Long | 광고그룹 ID |
| id | Long | 키워드 ID |
| text | String | 키워드 |
| config | String | 키워드 상태, 아래 중 하나
|
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보 |
| bidStrategy | BidStrategy | 키워드 입찰전략 |
| status | String[] | 운영 상태 정보 |
| reviewStatus | String[] | 심사 상태 정보 |
요청
curl -v -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords/individual" \-H "adAccountId: ${AD_ACCOUNT_ID}"\-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"adGroupId": "4444444441","individualKeywords": [{"text": "키워드1","bidStrategy": {"type": "AD_GROUP","bidAmount": null},"landingInfo":{"rspvLandingUrl": "https://www.daum.net"}},{"text": "키워드2","bidStrategy": {"type": "MANUAL","bidAmount": 1000},"landingInfo":{"pcLandingUrl": "https://www.daum.net","mobileLandingUrl": "https://www.daum.net"}}]}'
응답
[{"adGroupId": "4444444441","id": "55555555551","text": "키워드1","config": "ON","landingInfo": {"rspvLandingUrl": "https://www.daum.net","pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "AD_GROUP","bidAmount": null},"status": ["OFF_BY_BIZ_CHANNEL_WAITING","WAITING"],"reviewStatus": "WAITING"},{"adGroupId": "4444444441","id": "55555555552","text": "키워드2","config": "ON","landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": "https://www.daum.net","mobileLandingUrl": "https://www.daum.net"},"bidStrategy": {"type": "MANUAL","bidAmount": 1000},"status": ["OFF_BY_BIZ_CHANNEL_WAITING","WAITING"],"reviewStatus": "WAITING"}]
| 메서드 | URL | 인증 방식 |
|---|---|---|
PUT | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID} | 비즈니스 토큰 |
키워드 정보를 수정합니다.
기존 키워드 정보를 조회한 후에 수정하고자 하는 필드와 수정을 원치 않는 필드를 조합하여 요청해야 합니다. 수정을 원치 않는 필드도 기존 값으로 요청되어야 키워드 정보를 유지할 수 있습니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 PUT으로 요청합니다. 성공 시 JSON 객체로 수정된 키워드 정보를 받습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보(미입력시 '랜딩 URL 미설정'으로 입력) | X |
| bidStrategy | BidStrategy | 키워드 입찰전략 | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| adGroupId | Long | 광고그룹 ID |
| id | Long | 키워드 ID |
| text | String | 키워드 |
| config | String | 키워드 상태, 아래 중 하나
|
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보 |
| bidStrategy | BidStrategy | 키워드 입찰전략 |
| status | String[] | 운영 상태 정보 |
| reviewStatus | String[] | 심사 상태 정보 |
요청
curl -v -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}" \-H "adAccountId: ${AD_ACCOUNT_ID}"\-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "AD_GROUP","bidAmount": null}}'
응답
{"adGroupId": "4444444441","id": "5555555551","text": "키워드1","config": "ON","landingInfo": {"rspvLandingUrl": null,"pcLandingUrl": null,"mobileLandingUrl": null},"bidStrategy": {"type": "AD_GROUP","bidAmount": null},"status": ["OFF_BY_BIZ_CHANNEL_WAITING","WAITING"],"reviewStatus": "WAITING"}
| 메서드 | URL | 인증 방식 |
|---|---|---|
PATCH | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/onOff | 비즈니스 토큰 |
키워드의 상태를 ON 또는 OFF로 변경합니다.
키워드의 상태가 ON 또는 OFF일 경우만 변경 가능합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 PATCH로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 본문은 없습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| config | String | 키워드의 상태, 아래 중 하나
| O |
요청
curl -v -X PATCH "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/onOff" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"config": "OFF"}'
응답
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
| 메서드 | URL | 인증 방식 |
|---|---|---|
PATCH | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/bidStrategy | 비즈니스 토큰 |
키워드의 기본입찰가를 수정합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 PATCH로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 본문은 없습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| bidStrategy | BidStrategy | 키워드 입찰전략 | O |
요청
curl -v -X PATCH "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/bidStrategy" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"bidStrategy": {"type": "MANUAL","bidAmount": 3000}}'
응답
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
| 메서드 | URL | 인증 방식 |
|---|---|---|
PATCH | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/landingInfo | 비즈니스 토큰 |
키워드의 랜딩 URL을 수정합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 PATCH로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 본문은 없습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| landingInfo | LandingInfo | 키워드 랜딩 URL 정보(미입력시 '랜딩 URL 미설정'으로 입력) | X |
요청
curl -v -X PATCH "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/landingInfo" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-H "Content-Type: application/json" \-d '{"landingInfo": {"pcLandingUrl": "https://www.daum.net","mobileLandingUrl": "https://www.daum.net"}}'
응답
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/reviewReason | 비즈니스 토큰 |
심사보류된 키워드의 상세 원인을 확인합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 본문에 JSON 객체로 심사보류된 키워드의 상세 정보 배열을 받습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| reasons | String[] | 사유 |
요청
curl -v -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/reviewReason" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}"
응답
{"id": "55555555551","reasons": ["신청하신 키워드는 사이트와 관련성이 부족한 키워드로 확인되어 광고 등록이 불가합니다.","신청하신 키워드는 광고 소재 부적합 키워드로 분류되어 광고 등록이 불가합니다.- 비속어, 은어, 성인금칙어, 무리한 축약어","신청하신 키워드는 결혼중개업 관련 키워드로 아래 가이드라인을 준수하셔야 등록이 가능합니다.* 필요서류 : 국내/외 결혼중개업등록증, 인허가보증보험증권(손해배상 청구절차 기재 시 미제출 가능)* 필요정보 : 상호, 대표자명, 신고번호 또는 등록번호, 사업자등록번호, 소재지의 사업장소재지(주소), 전화번호, 결혼중개업 수수료·회비 등을 기재한 표, 이용약관※ 서류접수 방법* 관리시스템으로 서류접수 방법① 카카오 키워드 광고 > 도구 > 심사서류관리② 심사서류 등록 > 소재 심사용 > 확인* 팩스 : 02-2088-3434 (* 주의 : 계정번호, 비즈채널URL, 사이트명, 담당자명, 키워드 기재 요망)"]}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/quality | 비즈니스 토큰 |
키워드의 품질지수 정보를 조회합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 본문에 JSON 객체로 품질지수를 받습니다. 실패 시 에러 코드로 원인을 확인합니다
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Long | 키워드 ID |
| text | String | 키워드 |
| quality | Integer | 품질지수 |
요청
curl -v -G GET "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}/quality" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \
응답
{"id": "55555555551","text": "키워드1","quality": 2}
| 메서드 | URL | 인증 방식 |
|---|---|---|
DELETE | https://api.keywordad.kakao.com/openapi/v1/keywords/${ID} | 비즈니스 토큰 |
키워드를 삭제합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 DELETE로 요청합니다. 삭제하려는 키워드의 ID를 파라미터로 지정해야 합니다. 성공 시 HTTP 상태 코드 200에 응답 본문은 없습니다. 실패 시 에러 코드로 원인을 확인합니다.
| 이름 | 타입 | 설명 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ID | Long | 키워드 ID | O |
요청
curl -v -X DELETE "https://api.keywordad.kakao.com/openapi/v1/keywords/${ID}"-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \
응답: 성공
HTTP/1.1 200 OKContent-Length: 0Content-Type: application/json;charset=UTF-8