본문 바로가기

은행 거래내역서 추출 API

PDF 은행 거래내역서를 구조화된 JSON으로 변환하는 REST API입니다. 거래의 99.9% 이상을 정확히 식별하며, 실패 시 자동 환불됩니다.

$ curl https://api.bankstatementlab.com/v1/extractions \
  -H "Authorization: Bearer bsl_live_..." \
  -F "file=@statement.pdf"

은행 거래내역서 추출

모든 PDF에서 거래, 잔액, 메타데이터를 추출하세요.

구조화된 JSON 출력

지원되는 10개 언어에서 일관된 스키마를 제공합니다.

거래의 99.9% 이상을 정확히 식별

실패시 자동 환불됩니다. 추출 실패 시 비용이 청구되지 않습니다.

동기 및 비동기 모드

작은 PDF의 경우 동기식, 대규모 배치의 경우 비동기 + 폴링입니다.

코드 샘플

원하는 언어로 연동하세요. 아래 예제를 참고하세요.

$ curl https://api.bankstatementlab.com/v1/extractions \
  -H "Authorization: Bearer bsl_live_..." \
  -F "file=@statement.pdf"

응답 형식

data, column_names 및 transaction_count 필드는 status가 "completed"일 때만 존재합니다. 그 외에는 JSON에서 생략됩니다(null이 아니라 필드 자체가 없습니다).

GET /v1/extractions/:id

200 OK — 추출 완료

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ext_3f8a9b2c1d4e5f6a7b8c9d0e",
  "status": "completed",
  "file_name": "statement-march-2026.pdf",
  "created_at": "2026-03-15T10:23:00.000Z",
  "completed_at": "2026-03-15T10:23:18.000Z",
  "page_count": 3,
  "credits_charged": 3,
  "api_key_id": "ak_abc123",
  "column_names": ["Date", "Description", "Amount"],
  "transaction_count": 42,
  "data": {
    "columns": ["Date", "Description", "Amount"],
    "transactions": [
      ["2026-03-01", "VIREMENT SEPA", "1500.00"],
      ["2026-03-02", "CB CARREFOUR", "-45.20"]
    ]
  }
}

200 OK — 추출 실행 중

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ext_3f8a9b2c1d4e5f6a7b8c9d0e",
  "status": "processing",
  "file_name": "statement-march-2026.pdf",
  "created_at": "2026-03-15T10:23:00.000Z",
  "page_count": 3,
  "credits_charged": 3,
  "api_key_id": "ak_abc123"
}

200 OK — 추출 실패

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ext_3f8a9b2c1d4e5f6a7b8c9d0e",
  "status": "failed",
  "file_name": "statement-march-2026.pdf",
  "created_at": "2026-03-15T10:23:00.000Z",
  "completed_at": "2026-03-15T10:23:32.000Z",
  "page_count": 3,
  "credits_charged": 3,
  "api_key_id": "ak_abc123",
  "error": {
    "type": "extraction_failed",
    "message": "Extraction failed due to an internal error. Contact support if the issue persists."
  }
}

폴링 패턴

추출이 비동기 모드로 실행되면 서버 작업이 끝날 때까지 응답에 status: "processing"이 포함됩니다. data, transaction_count 및 column_names 필드를 읽기 전에 반드시 status가 "completed"인지 확인하세요. 추출이 완료될 때까지 이 필드들은 JSON에서 생략됩니다.

권장 클라이언트 폴링 주기는 5~10초입니다. 서버 작업은 10초마다 실행되므로 더 자주 폴링해도 결과가 빨라지지 않습니다.

GET /v1/extractions

200 OK — 혼합 페이지(상태별 요소 1개)

HTTP/1.1 200 OK
Content-Type: application/json

{
  "data": [
    {
      "id": "ext_001",
      "status": "completed",
      "file_name": "march.pdf",
      "created_at": "2026-03-15T10:00:00.000Z",
      "completed_at": "2026-03-15T10:00:18.000Z",
      "page_count": 3,
      "credits_charged": 3,
      "api_key_id": "ak_abc123",
      "column_names": ["Date", "Description", "Amount"],
      "transaction_count": 42
    },
    {
      "id": "ext_002",
      "status": "processing",
      "file_name": "april.pdf",
      "created_at": "2026-04-15T10:00:00.000Z",
      "page_count": 5,
      "credits_charged": 5,
      "api_key_id": "ak_abc123"
    },
    {
      "id": "ext_003",
      "status": "failed",
      "file_name": "may.pdf",
      "created_at": "2026-05-15T10:00:00.000Z",
      "completed_at": "2026-05-15T10:00:42.000Z",
      "page_count": 2,
      "credits_charged": 2,
      "api_key_id": "ak_abc123",
      "error": {
        "type": "extraction_failed",
        "message": "Extraction failed due to an internal error. Contact support if the issue persists."
      }
    }
  ],
  "has_more": false
}

폴링 패턴

추출이 비동기 모드로 실행되면 서버 작업이 끝날 때까지 응답에 status: "processing"이 포함됩니다. data, transaction_count 및 column_names 필드를 읽기 전에 반드시 status가 "completed"인지 확인하세요. 추출이 완료될 때까지 이 필드들은 JSON에서 생략됩니다.

권장 클라이언트 폴링 주기는 5~10초입니다. 서버 작업은 10초마다 실행되므로 더 자주 폴링해도 결과가 빨라지지 않습니다.

다음을 위해 제작됨

회계 자동화

고객의 은행 거래내역서를 장부 처리 파이프라인으로 바로 가져옵니다.

대출 실사

신청자 은행 거래내역서에서 소득과 현금 흐름을 확인합니다.

개인 금융 앱

사용자가 데이터를 직접 입력하지 않고 은행 거래내역서를 연결할 수 있습니다.

동일한 크레딧, 웹 + API

1크레딧은 1페이지입니다. 크레딧은 Pro 또는 Business 플랜과 함께 사용되며 API에 별도의 최소 이용량은 없습니다.

가격 보기 →

자주 묻는 질문

오늘부터 구축을 시작해 보세요

무료 등급에는 5 크레딧이 포함됩니다. 신용 카드가 필요하지 않습니다.

API 키 받기