API Documentation

Integrate bank-statement conversion into your workflow

Live. The REST API is available on paid plans. Generate an API key from your Account page (API Access section), then authenticate with the X-Api-Key header.

Authentication

Every request must include your secret key in the X-Api-Key header. Keep it secret; treat it like a password. You can create and revoke keys on your Account page.

X-Api-Key: bc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endpoints

POST /api/v1/convert

Upload one bank-statement PDF (or CSV) and receive structured transactions as JSON, or a file in your accounting package's format.

# JSON response
curl -X POST https://bankconverter.co.uk/api/v1/convert   -H "X-Api-Key: bc_live_YOUR_KEY"   -F "file=@statement.pdf"

# Download as Xero / QuickBooks / Sage / Excel CSV instead
curl -X POST "https://bankconverter.co.uk/api/v1/convert?format=xero"   -H "X-Api-Key: bc_live_YOUR_KEY"   -F "file=@statement.pdf" -OJ

Optional form field bank (default auto). Query format: json (default), csv, xlsx, xero, quickbooks, sage. Max 50 MB. Rate limit 120 requests/hour.

GET /api/v1/conversions

List your 100 most recent conversions (metadata only).

curl https://bankconverter.co.uk/api/v1/conversions   -H "X-Api-Key: bc_live_YOUR_KEY"

JSON response

{
  "bank": "barclays",
  "reconcile_status": "PASS",
  "reconcile_diff": 0.0,
  "transaction_count": 42,
  "warnings": [],
  "transactions": [
    {
      "Date": "15/01/2026",
      "Description": "TESCO STORES 1234",
      "Type": "debit",
      "Debit": "45.67",
      "Credit": "",
      "Amount": "-45.67",
      "Balance": "1234.56",
      "Reference": "",
      "Currency": "GBP"
    }
  ]
}

Always check reconcile_status and warnings. RECONCILE_WARN means the parsed totals did not match the statement balance — verify those rows before relying on the data. NO_BAL means the statement had no running-balance column to verify against.

Errors

401  Missing or invalid API key
403  API access requires a paid plan
422  No transactions found / unsupported bank
429  Monthly limit reached or rate limit exceeded
400  Bad file (wrong type, failed security check, too large)

Supported banks

See the full, up-to-date list on the Supported Banks page.