
인증요청이 반환한 transactionId 로 조회 결과를 확인합니다. 결과가 준비되면 표준화된 형식으로 반환합니다.
조회 자료 제공 기관은 국세청 입니다. 본인 인증은 한 번만 하면 되고, 담당 기관은 엔드포인트로 자동 선택됩니다.
인증요청 → 사용자 승인 → 정보조회 → 정보제공 4단계이며, 과금은 인증요청 발송 성공과 결과 최초 제공 두 번만 발생합니다. 그 사이 반복 조회는 무과금입니다.
/rest/req_income_by_payer/rest/get_income_by_payer이름·생년월일·휴대전화번호와 간편인증 방식을 입력하면 사용자에게 간편인증 요청을 보내고, 결과 조회에 사용할 transactionId 를 즉시 반환합니다.
user·requestData·options 같은 묶음은 쓰지 않습니다. 형식별 예시는 요청 본문 형식을 참고하세요.
조회 항목마다 필요한 추가 입력 이 다릅니다. 값이 비어 있으면 인증을 보내지 않고 무과금으로 거절하며, 이때는 결과 단가도 발생하지 않습니다.
incomeYears 는 선택 입력입니다. 넣지 않으면 기본값(1)으로 조회하며, 이 값이 결과 단가를 좌우합니다.
curl -k -X POST "https://apick.app/rest/req_income_by_payer" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "CL_AUTH_KEY: $API_KEY" \
--data-urlencode "name=홍길동" \
--data-urlencode "birthDate=19900101" \
--data-urlencode "phone=01011112222" \
--data-urlencode "authProvider=kakao" \
--data-urlencode "incomeYears=3"
{
"data": {
"schemaVersion": "1.0",
"transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
"product": "income_by_payer",
"status": "AUTH_REQUESTED",
"resultAvailable": false,
"charged": true,
"sources": [],
"message": "인증 대기중입니다.",
"expiresAt": "2026-09-20T05:24:07+09:00",
"success": 1
},
"api": {
"success": true,
"cost": 20,
"ms": 1284,
"pl_id": 4902
}
}
curl -k -X POST "https://apick.app/rest/get_income_by_payer" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "CL_AUTH_KEY: $API_KEY" \
--data-urlencode "transactionId=9f2c4a7b1d8e35c60a4f7b2d1e9c803a"
[] 입니다. 항목이 여러 개인 상품에서 어느 것이 성공·실패했는지 알려줍니다. 각 항목은 source(제공 기관명), type(데이터 종류), status(SUCCESS/FAILED). 수집이 끝나기 전에는 아직 확정되지 않은 기관이 FAILED 로 보일 수 있습니다.
{
"data": {
"schemaVersion": "1.0",
"transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
"product": "income_by_payer",
"status": "AUTH_WAITING",
"resultAvailable": false,
"charged": false,
"sources": [],
"message": "인증 대기중입니다.",
"expiresAt": "2026-09-20T05:24:07+09:00",
"success": 0
},
"api": {
"success": true,
"cost": 0,
"ms": 42,
"pl_id": -1
}
}
{
"data": {
"schemaVersion": "1.0",
"transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
"product": "income_by_payer",
"status": "COLLECTING",
"resultAvailable": false,
"charged": false,
"sources": [],
"progress": { "total": 1, "completed": 0 },
"message": "정보를 조회하고 있습니다.",
"success": 0
},
"api": {
"success": true,
"cost": 0,
"ms": 38,
"pl_id": -1
}
}
{
"data": {
"schemaVersion": "1.0",
"transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
"product": "income_by_payer",
"status": "SUCCESS",
"resultAvailable": true,
"charged": true,
"sources": [
{ "source": "국세청", "type": "INCOME_BY_PAYER", "status": "SUCCESS" }
],
"checkedAt": "2026-09-20T04:47:33+09:00",
"resultExpiresAt": "2026-09-21T04:47:33+09:00",
"result": {
"incomeByPayer": {
"조회연도": [
"2025"
],
"전체합계": {
"건수": 3,
"지급액": 1280000,
"소득세": 154000,
"지방소득세": 15400
},
"유형별": [
{
"유형": "일용",
"합계": {
"건수": 3,
"지급액": 1280000,
"소득세": 154000,
"지방소득세": 15400
},
"내역": [
{
"지급명세서종류": "간이지급명세서(근로소득)",
"지급자": "예시주식회사",
"사업자등록번호": "123-45-67890",
"귀속연도": "2026",
"지급연도": "2026",
"소득구분": "기타소득",
"업종구분": "서비스업",
"용역구분": "인적용역",
"총지급액": 1280000,
"과세소득": 1280000,
"용역제공대가": 1280000,
"급여 등": 40666665,
"인정상여금액": 0,
"비과세소득": 0,
"필요경비": 0,
"소득금액": 1280000,
"소득세": 154000,
"지방소득세": 15400
}
]
}
]
}
},
"message": "인증이 완료되었습니다.",
"success": 1
},
"api": {
"success": true,
"cost": 60,
"ms": 318,
"pl_id": 4903
}
}
String 은 문자열, Integer 는 소수점 없는 정수(원 단위 금액 포함), Boolean 은 true/false, Object 는 이름이 있는 하위 항목 묶음, Array<Object> 는 같은 구조가 여러 건 오는 목록, Array<String> 은 문자열 목록입니다. String(YYYY-MM-DD) 처럼 괄호가 붙으면 그 형식의 문자열이라는 뜻이고 날짜 타입이 아닙니다.
값 존재 — O 는 정상 응답에 항상 있는 항목, 조건부 는 값이 없으면 응답에서 빠지거나 빈 문자열이 되는 항목입니다. 없는 값을 0 이나 null 로 바꾸지 않으니 그대로 저장하지 말고 존재 여부를 먼저 확인하세요.
예시 — 응답에 들어오는 형태 그대로의 값입니다. 실제 조회 결과가 아니며 개인을 특정할 수 없는 가상의 값입니다. 이 열이 비어 있으면 하위 항목이 있는 묶음이거나 값이 빠질 수 있는 항목입니다.
들여쓰기된 항목은 바로 위 부모 안에 들어 있는 하위 항목입니다. 경로 표기에서 . 는 하위 항목, [ ] 를 붙인 항목은 그 안에 여러 건이 오는 목록이라는 뜻입니다.