Install
openclaw skills install bank-statement-converterConvert PDF bank statements to CSV or JSON using API calls with support for password-protected files and processing status checks.
openclaw skills install bank-statement-converterConvert PDF bank statements to CSV/JSON.
BANKSTATEMENT_API_KEY
export BANKSTATEMENT_API_KEY="your-api-key-here"
curl -s -H "Authorization: $BANKSTATEMENT_API_KEY" \
https://api2.bankstatementconverter.com/api/v1/user | jq
Shows user details and credits.
curl -s -X POST \
-H "Authorization: $BANKSTATEMENT_API_KEY" \
-F "file=@/path/to/your/bankstatement.pdf" \
https://api2.bankstatementconverter.com/api/v1/BankStatement | jq
Response example (array of uploaded items):
[
{
"uuid": "bb2f3c62-331e-42ee-a931-d25a5ee0946f",
"filename": "bankstatement.pdf",
"pdfType": "TEXT_BASED",
"state": "READY"
}
]
Save the uuid for the next steps. If state is PROCESSING, poll status.
curl -s -X POST \
-H "Authorization: $BANKSTATEMENT_API_KEY" \
-H "Content-Type: application/json" \
-d '["bb2f3c62-331e-42ee-a931-d25a5ee0946f"]' \
https://api2.bankstatementconverter.com/api/v1/BankStatement/status | jq
Poll every ~10 seconds until state becomes READY.
curl -s -X POST \
-H "Authorization: $BANKSTATEMENT_API_KEY" \
-H "Content-Type: application/json" \
-d '["bb2f3c62-331e-42ee-a931-d25a5ee0946f"]' \
"https://api2.bankstatementconverter.com/api/v1/BankStatement/convert?format=JSON&raw=false" | jq
For CSV instead: change format=CSV. Add &raw=true to get all raw columns instead of normalized.
If upload returns pdfType: UNKNOWN or indicates password needed:
curl -s -X POST \
-H "Authorization: $BANKSTATEMENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"passwords": [{"uuid": "bb2f3c62-331e-42ee-a931-d25a5ee0946f", "password": "yourpdfpassword"}]}' \
https://api2.bankstatementconverter.com/api/v1/BankStatement/setPassword | jq
Then poll status or convert as above.# Markdown syntax guide