bankstract
Api

Parse a bank statement

Upload a PDF (or XLSX) statement and get structured transactions back. `?format=json` (default) returns ParseResponse; `?format=csv` returns the engine-serialized CSV. `redact=true` returns the redacted document bytes. The file is parsed in memory and never written to disk.

POST
/v1/parse

Query Parameters

format?Format

Header Parameters

authorization?string|null

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/parse" \  -F pdf="string"
{  "format_version": "string",  "metadata": {    "bank": "string",    "account_holder": "string",    "account_number_masked": "string",    "statement_period_start": "2019-08-24T14:15:22Z",    "statement_period_end": "2019-08-24T14:15:22Z",    "opening_balance": "string",    "closing_balance": "string"  },  "totals": {    "credit": "string",    "debit": "string"  },  "row_wise_reconcilable": true,  "transactions": [    {      "date": "2019-08-24T14:15:22Z",      "narration": "string",      "debit": "string",      "credit": "string",      "balance": "string",      "reference": "string",      "currency": "string"    }  ]}
{  "error": "string",  "error_class": "string",  "format_version": "string",  "marker_coverage": 0}
{  "error": "string",  "error_class": "string",  "format_version": "string",  "marker_coverage": 0}
{  "error": "string",  "error_class": "string",  "format_version": "string",  "marker_coverage": 0}
{  "error": "string",  "error_class": "string",  "format_version": "string",  "marker_coverage": 0}
{  "error": "string",  "error_class": "string",  "format_version": "string",  "marker_coverage": 0}