Skip to main content
POST
/
v1
/
parse
Parse a bank statement
curl --request POST \
  --url https://api.swippee.com/v1/parse \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file' \
  --form bank=auto \
  --form async=false
{
  "report_id": "cl_abc123",
  "status": "complete",
  "statement": {
    "bank": "Nabil Bank",
    "bank_code": "NABIL",
    "currency": "NPR",
    "period": {
      "from": "2023-12-25",
      "to": "2023-12-25"
    },
    "opening_balance": 123,
    "closing_balance": 123,
    "total_transactions": 123
  },
  "signals": {},
  "monthly_summary": [
    {}
  ],
  "categories": {},
  "merchant_categories": {},
  "transactions": [
    {
      "date": "2023-12-25",
      "description": "<string>",
      "debit": 123,
      "credit": 123,
      "balance": 123,
      "category": "merchant_payment",
      "merchant": "Example Store",
      "merchantTerminal": "2222000000000000",
      "mcc": "5411",
      "merchantCategory": "groceries"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.swippee.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Your API key from the dashboard, sent as Authorization: Bearer swippee_sk_live_....

Body

multipart/form-data
file
file
required

The statement file. PDF, JPEG, or PNG. Max 20 MB.

bank
enum<string>
default:auto

Bank hint, or auto to detect. GLOBAL_IME is in beta.

Available options:
auto,
NABIL,
NIC_ASIA,
NIMB,
NMB,
KUMARI,
SIDDHARTHA,
PRABHU,
GARIMA,
GLOBAL_IME,
ESEWA,
KHALTI
async
boolean
default:false

If true, returns 202 + poll_url immediately and processes in the background.

Response

Parsed report

report_id
string
Example:

"cl_abc123"

status
string
Example:

"complete"

statement
object
signals
object
monthly_summary
object[]
categories
object
merchant_categories
object
transactions
object[]