Skip to main content
이 API는 베타 단계입니다. 파서가 안정화되기 전까지 응답 스키마가 변경될 수 있습니다. 연동 시 parser_version 필드를 확인하여 버전별 분기 처리를 권장합니다.
등기부등본(등기사항전부증명서) PDF 파일을 업로드하면 표제부·갑구·을구 전체를 구조화된 JSON으로 변환합니다.

지원 문서 유형

토지

토지 등기부등본. 지목·면적·토지의 표시·매매목록을 포함합니다.

건물

일반 건물 등기부등본. 층별 면적·구조·용도를 포함합니다.

집합건물

아파트·오피스텔 등 집합건물. 전유부분·대지권 비율을 포함합니다.

엔드포인트

POST /document-parser/registry
문서 유형(토지/건물/집합건물)은 PDF 내용에서 자동 판별됩니다. 별도 지정이 필요 없습니다.

요청

curl -X POST https://prod.fn.imprun.dev/document-parser/registry \
  -H "Authorization: Bearer {keyId}.{secret}" \
  -F "file=@등기부등본.pdf"
파라미터타입필수설명
filefileO등기부등본 PDF 파일 (최대 50MB)

응답

{
  "document_type": "registry",
  "parser_version": "1.5.0",
  "parsed_at": "2026-02-25T12:00:00+00:00",
  "data": { ... },
  "confidence": {
    "overall": 91,
    "level": "높음",
    "details": { ... }
  }
}
필드타입설명
document_typestring항상 "registry"
parser_versionstring파서 버전. 현재 "1.5.0"
parsed_atstring파싱 수행 시각 (ISO 8601)
dataobject파싱 결과 본문. 버전에 따라 구조가 다름 — 아래 참조
confidenceobject파싱 신뢰도 점수
이 문서는 v1.5.0 스키마를 기준으로 작성되었습니다.

에러

HTTP 코드에러설명
400잘못된 요청file 파라미터 누락, 지원하지 않는 문서 타입
401인증 실패API 키가 없거나 유효하지 않음
403접근 거부잔액 부족 또는 계정 정지
422파싱 실패PDF에서 등기부등본 내용을 인식할 수 없음

RegistryDocument

data 필드에 담기는 v1.5.0 최상위 구조입니다.
{
  "meta": {
    "parser_version": "1.5.0",
    "parsed_at": "2026-02-25T12:00:00+00:00",
    "document_id": null
  },
  "profile": {
    "certificate_type": "full",
    "include_cancellations": true,
    "property_type": "land",
    "layout_profile": "registry_v1_standard"
  },
  "source": {
    "page_count": 5,
    "text_length": 8240,
    "pdf_text_based": true
  },
  "unique_number": "1184-2004-006616",
  "property_address": "전라남도 나주시 빛가람동 42-2",
  "jurisdiction": "광주지방법원 나주등기소",
  "viewed_at": "2025년 04월 01일 13시 06분 16초",
  "issued_at": null,
  "title": { ... },
  "section_a": [ ... ],
  "section_b": [ ... ],
  "trade_lists": [ ... ],
  "major_summary": { ... },
  "diagnostics": { ... },
  "raw_text": ""
}
필드타입설명
metaobjectDocumentMeta — 파서 메타데이터
profileobjectDocumentProfile — 문서 프로파일
sourceobjectSourceInfo — 입력 소스 정보
unique_numberstring고유번호 ("NNNN-YYYY-NNNNNN")
property_addressstring부동산 소재지 주소
jurisdictionstring | null관할등기소
viewed_atstring | null열람일시
issued_atstring | null발행일시
verification_imagestring | null검증 바코드 이미지 (Base64)
titleobject표제부 — 부동산 물리 정보
section_aarray갑구 — 소유권에 관한 사항
section_barray을구 — 소유권 이외의 권리
trade_listsarray매매목록 — 토지 복수 필지 거래 시
major_summaryobject | null주요등기사항 요약
diagnosticsobjectParseDiagnostics — 진단 정보
raw_textstring원본 전체 텍스트 (디버깅용)
profile.property_type에 따라 title 내부 필드가 달라집니다. 유형별 상세 스키마는 각 문서 유형 페이지를 참고하세요.

DocumentMeta

파서 버전과 파싱 시각 정보입니다.
필드타입설명
parser_versionstring파서 버전 (예: "1.5.0")
parsed_atstring파싱 수행 시각 (ISO 8601)
document_idstring | nullPDF SHA256 해시 (선택)

DocumentProfile

문서의 유형과 특성을 나타냅니다.
필드타입설명
certificate_typestring"full" (등기사항전부증명서) | "partial" (일부증명서)
include_cancellationsboolean말소사항 포함 여부
property_typestring"land" | "building" | "aggregate_building"
layout_profilestring레이아웃 프로파일 (예: "registry_v1_standard")

SourceInfo

입력 PDF의 물리적 정보입니다.
필드타입설명
page_countintegerPDF 페이지 수
text_lengthinteger추출된 텍스트 총 문자 수
pdf_text_basedboolean텍스트 기반 PDF 여부 (false면 스캔 이미지)

표제부 (title)

부동산의 물리적 정보를 담습니다. profile.property_type에 따라 사용되는 필드가 다릅니다.

공통 필드

필드타입설명
property_typestring부동산 유형
addressstring소재지 주소 (지번)

유형별 고유 필드

필드토지건물집합건물설명
land_typeO--지목 (전, 답, 대 등)
land_areaO--토지 면적
land_entriesO--토지의 표시 항목
road_address-OO도로명주소
structure-OO건물 구조
roof_type-OO지붕 종류
floors-OO지상 층수
building_type-OO건물 용도
areas-OO층별 면적 목록
total_floor_area-OO연면적 (㎡)
building_entries-OO건물의 표시 항목
building_name--O건물명
exclusive_area--O전용면적 (㎡)
land_right_ratio--O대지권 비율
land_right_area--O대지 전체 면적 (㎡)
exclusive_part_entries--O전유부분 항목
land_right_entries--O대지권 토지 항목
land_right_ratio_entries--O대지권 비율 항목

갑구·을구 (section_a/section_b)

갑구는 소유권에 관한 사항, 을구는 소유권 이외의 권리(근저당권, 전세권, 임차권, 지상권 등)를 포함합니다. v1.5.0에서는 갑구와 을구가 동일한 RegistryEntry 구조를 사용합니다.
{
  "entry_id": "gap:p2:r5",
  "rank_number": "3",
  "previous_rank": null,
  "purpose": {
    "raw": "소유권이전",
    "normalized": "소유권이전",
    "right_type": "소유권이전",
    "action_type": "설정",
    "target_rank": null,
    "target_type": null,
    "target_owner": null,
    "sub_purposes": []
  },
  "receipt": {
    "date": "2007년 09월 11일",
    "number": "14543호"
  },
  "cause": {
    "text": "매매",
    "date": "2007년 08월 30일"
  },
  "content": {
    "persons": [
      {
        "name": "홍길동",
        "role": "소유자",
        "resident_number": "800101-*******",
        "address": "서울특별시 강남구 역삼동 123-4",
        "share": null
      }
    ],
    "amounts": [],
    "shares": [],
    "collateral": null,
    "term": null,
    "lease": null,
    "protected_right": null,
    "prohibition_text": null,
    "trade_list_number": null,
    "annotation_date": null,
    "notes_raw": null,
    "cancels_cause": null
  },
  "status": {
    "is_cancelled": false,
    "cancelled_by_rank": null,
    "cancellation_date": null,
    "cancellation_cause": null,
    "modifications": []
  },
  "provenance": {
    "page_no": 2,
    "bbox": null,
    "merged_from": [],
    "is_continuation": false,
    "is_visual_cancelled": false
  },
  "raw_text": "...",
  "confidence": 0.95
}

RegistryEntry

필드타입설명
entry_idstring고유 식별자. 갑구: "gap:p2:r5", 을구: "eul:p3:r8". 형식: {섹션}:p{페이지}:r{행번호}
rank_numberstring순위번호. 주등기: "1", 부기: "1-1"
previous_rankstring | null종전 순위번호. 전산이기 시 "(전 3)""3"
purposeobjectPurposeInfo — 등기목적
receiptobjectReceiptInfo — 접수 정보
causeobjectCauseInfo — 등기원인
contentobjectEntryContent — 권리자및기타사항
statusobjectEntryStatus — 말소·변경 상태
provenanceobjectProvenance — 출처 추적
raw_textstring원본 셀 텍스트
confidencefloat파싱 신뢰도 (0.0 ~ 1.0)

PurposeInfo

등기목적 컬럼에서 추출됩니다. 원문 보존과 함께 정규화·분류 정보를 제공합니다.
필드타입설명
rawstringPDF 원문 (예: "소유권이전")
normalizedstring공백 제거 정규화
right_typestring권리종류 분류키 (예: "소유권이전", "근저당권", "임차권")
action_typestring액션 유형 (예: "설정", "이전", "말소")
target_rankstring | null대상 순위번호 (부기·말소 시)
target_typestring | null대상 권리종류 (을구 부기 시)
target_ownerstring | null대상 소유자명 (갑구 부기 시)
sub_purposesarray복합 목적 시 하위 PurposeInfo 목록

right_type 분류

right_type설명예시
소유권이전소유권이전소유권이전, 소유권일부이전
소유권보존소유권보존소유권보존
근저당권근저당권/저당권근저당권설정, 근저당권이전, 저당권설정
임차권임차권임차권등기, 임차권등기명령, 임차권설정
전세권전세권전세권설정
지상권지상권지상권설정
지역권지역권지역권설정
가등기가등기소유권이전청구권가등기
압류압류압류
가압류가압류가압류
경매경매임의경매개시결정, 강제경매개시결정
신탁신탁신탁
가처분가처분처분금지가처분
등기명의인표시변경등기명의인표시변경등기명의인표시변경, 등기명의인주소변경
부기등기부기등기부기등기
미분류기타분류 불가 항목

action_type 분류

action_type설명
설정신규 설정 (소유권보존, 근저당권설정 등)
이전이전 (소유권이전, 근저당권이전 등)
일부이전일부이전 (소유권일부이전, 근저당권일부이전 등)
변경변경 (근저당권변경 등)
경정경정 (등기명의인표시경정 등)
말소말소 (근저당권설정등기말소 등)
부기부기 (부기등기, 건물만에관한것임 등)
순위번호 5번의 경매등기를 말소하는 경우:
{
  "purpose": {
    "raw": "5번 임의경매개시결정등기말소",
    "normalized": "5번임의경매개시결정등기말소",
    "right_type": "경매",
    "action_type": "말소",
    "target_rank": "5",
    "sub_purposes": []
  }
}
1번 근저당권과 2번 지상권을 동시에 말소:
{
  "purpose": {
    "raw": "1번근저당권설정, 2번지상권설정등기말소",
    "normalized": "1번근저당권설정,2번지상권설정등기말소",
    "right_type": "근저당권",
    "action_type": "말소",
    "target_rank": "1",
    "sub_purposes": [
      {
        "raw": "1번근저당권설정등기말소",
        "right_type": "근저당권",
        "action_type": "말소",
        "target_rank": "1"
      },
      {
        "raw": "2번지상권설정등기말소",
        "right_type": "지상권",
        "action_type": "말소",
        "target_rank": "2"
      }
    ]
  }
}

ReceiptInfo

필드타입설명
datestring접수일자 (예: "2007년 09월 11일")
numberstring접수번호 (예: "14543호")

CauseInfo

필드타입설명
textstring등기원인 (예: "매매", "상속", "설정계약")
datestring | null등기원인 발생일

EntryContent

권리자및기타사항 컬럼의 구조화된 데이터입니다. 권리종류에 따라 해당 필드만 값이 설정됩니다.
필드타입설명
personsarrayPersonInfo 목록. 모든 인물을 role로 구분
amountsarrayAmountInfo 목록. 모든 금액을 type으로 구분
sharesarrayShareInfo 목록. 공유 지분 정보
collateralobject | nullCollateralInfo. 공동담보 정보
termobject | nullTermInfo. 용익물권 기간·범위
leaseobject | nullLeaseInfo. 임대차 정보
protected_rightstring | null피보전권리 (가처분 시)
prohibition_textstring | null금지사항 (가처분 시)
trade_list_numberstring | null매매목록 참조번호
annotation_datestring | null부기일자
notes_rawstring | null구조화 안 된 잔여 텍스트 (전산이기, 신탁원부 등)
cancels_causestring | null말소 등기원인 (해지/해제 등)

PersonInfo

모든 인물 정보를 role 필드로 구분합니다.
필드타입설명
namestring성명 또는 법인명
rolestring역할 — 아래 표 참조
resident_numberstring | null주민/법인등록번호 (마스킹됨)
addressstring | null주소
sharestring | null지분 (공유 시, 예: "3분의 1")

role 값

role설명사용 섹션
소유자단독 소유자갑구
공유자공유 소유자갑구
수탁자신탁 수탁자갑구
채무자채무자을구
근저당권자근저당권자을구
전세권자전세권자을구
임차인임차인을구
지상권자지상권자을구
채권자가압류 채권자 등갑구·을구
권리자기타 권리자갑구·을구

AmountInfo

모든 금액 정보를 type 필드로 구분합니다.
필드타입설명
typestring금액 유형 — 아래 표 참조
valueinteger금액 (원)
rawstring원본 텍스트 (예: "금 300,000,000원")

type 값

type설명
채권최고액근저당권 채권최고액
채권액채권액
보증금전세보증금 또는 임차보증금
차임월차임
청구금액가압류 청구금액
거래가액매매 거래가액

ShareInfo

공유 지분 정보입니다.
필드타입설명
owner_namestring소유자명
rawstring원본 표현 (예: "2분의 1")
numeratorinteger | null분자
denominatorinteger | null분모

CollateralInfo

공동담보 정보입니다.
필드타입설명
list_numberstring | null공동담보목록 참조번호 (예: "제2007-194호")
itemsarrayCollateralItem 목록

CollateralItem

필드타입설명
property_typestring부동산 종류 (예: "토지", "건물", "임야")
locationstring소재지
areastring | null면적 (예: "1078㎡")
typestring"listed" (목록 기재) | "addition" (추가)
referencestring | null참조 (예: "을구 제1번의 근저당권")

TermInfo

용익물권(지상권 등)의 기간·범위 정보입니다.
필드타입설명
purposestring | null목적
scopestring | null범위
durationstring | null존속기간
land_rentstring | null지료

LeaseInfo

임대차 정보입니다.
필드타입설명
contract_datestring | null계약일자
resident_registration_datestring | null주민등록일자
possession_start_datestring | null점유개시일
fixed_datestring | null확정일자
lease_areastring | null임차 면적

EntryStatus

항목의 말소·변경 상태를 추적합니다.
필드타입설명
is_cancelledboolean말소 여부
cancelled_by_rankstring | null말소시킨 등기의 순위번호
cancellation_datestring | null말소 날짜
cancellation_causestring | null말소 원인
modificationsarrayModification 목록. 변경·경정 이력

Modification

필드타입설명
by_rankstring변경을 야기한 순위번호
typestring"change" | "correct" | "annotate"
changed_fields_guessarray변경된 필드 추측 목록
rawstring원본 텍스트

Provenance

항목의 출처를 추적합니다. PDF에서의 물리적 위치와 파싱 과정 정보를 포함합니다.
필드타입설명
page_nointegerPDF 페이지 번호 (1-based)
bboxarray | null바운딩 박스 [left, top, right, bottom] (PDF 좌표)
merged_fromarray병합된 원본 행 위치 목록 (예: ["p2:r15", "p3:r1"]). 페이지 분할 복원 시
is_continuationboolean이전 페이지에서 이어진 항목 여부
is_visual_cancelledbooleanPDF에서 시각적 취소선 감지 여부
is_visual_cancelled는 PDF에서 관찰된 사실(취소선 유무)을 기록합니다. status.is_cancelled는 등기목적 분석에 의한 법적 판단입니다. 두 값은 대부분 일치하지만, 드물게 차이가 날 수 있습니다.

매매목록

토지 문서에서 복수 필지를 한 거래로 처리할 때 사용됩니다. 건물·집합건물에서는 보통 빈 배열입니다.
{
  "list_number": "2016-553",
  "trade_amount": 85000000,
  "items": [
    {
      "serial_number": "1",
      "property_description": "[토지] 경상북도 문경시 농암면 내서리 733",
      "rank_number": "8",
      "registration_cause": "매매",
      "correction_cause": ""
    }
  ]
}
갑구 항목의 content.trade_list_numbertrade_lists[].list_number로 연결됩니다.

TradeList

필드타입설명
list_numberstring목록번호 (예: "2016-553")
trade_amountinteger | null거래가액 (원)
itemsarrayTradeListItem 목록

TradeListItem

필드타입설명
entry_idstring고유 식별자. 형식: "trade:p{페이지}:r{행번호}"
serial_numberstring일련번호
property_descriptionstring부동산의 표시
rank_numberstring갑구 해당 순위번호
registration_causestring등기원인
correction_causestring경정원인

주요등기사항 요약

등기소가 생성한 요약입니다. 현재 유효한 소유자와 주요 권리사항을 한눈에 보여줍니다.
{
  "major_summary": {
    "property_type": "토지",
    "address": "전라남도 나주시 빛가람동 42-2 전 714㎡",
    "owners": [
      {
        "name": "홍길동",
        "resident_number": "800101-*******",
        "final_share": "단독소유",
        "address": "서울특별시 강남구 역삼동 123",
        "rank_number": "3"
      }
    ],
    "rights": [
      {
        "rank_number": "1",
        "registration_purpose": "근저당권설정",
        "receipt_date": "2007년09월11일",
        "receipt_number": "제14544호",
        "creditor": "주식회사 국민은행",
        "max_claim_amount": 120000000,
        "is_cancelled": false
      }
    ]
  }
}

MajorSummary

필드타입설명
property_typestring부동산 유형
addressstring소재지
ownersarrayMajorSummaryOwnerEntry 목록
rightsarrayMajorSummaryRightEntry 목록

MajorSummaryOwnerEntry

필드타입설명
entry_idstring고유 식별자. 형식: "summary_owner:p{페이지}:r{행번호}"
namestring등기명의인명
resident_numberstring | null주민/법인등록번호
final_sharestring | null최종 지분
addressstring | null주소
rank_numberstring순위번호

MajorSummaryRightEntry

필드타입설명
entry_idstring고유 식별자. 형식: "summary_right:p{페이지}:r{행번호}"
rank_numberstring순위번호
registration_purposestring등기목적
receipt_datestring접수일자
receipt_numberstring접수번호
target_ownerstring | null대상 소유자
creditorstring | null권리자명
max_claim_amountinteger | null채권최고액
bond_amountinteger | null채권액
deposit_amountinteger | null보증금
purposestring | null기타 목적
is_cancelledboolean말소 여부
주요등기사항 요약은 참고용이며 법적 효력이 없습니다. 정확한 권리관계는 갑구·을구 원본 데이터를 확인하세요.

ParseDiagnostics

파싱 과정의 진단 정보입니다. 디버깅과 품질 확인에 사용됩니다.
필드타입설명
errorsarray파싱 에러 메시지 목록
warningsarray파싱 경고 메시지 목록
metricsobject파싱 메트릭 (처리 시간 등)
sections_foundarray감지된 섹션 목록 (예: ["title", "section_a", "section_b"])
rows_by_sectionobject섹션별 추출 행 수
pages_by_sectionobject섹션별 페이지 번호 목록