API Documentation
Integrate bank statement analysis into your application. All endpoints accept file uploads via FormData and authenticate with API keys.
API Keys
Sign in to manage API keys
Sign inAuthentication
Include your API key in the Authorization header:
Authorization: Bearer mbsa_...Rate Limits
API access is included with Business. Usage counts against your plan's page allowance for each billing cycle.
- Business ($49/mo)
- 500 pages/cycle
- Overage
- $0.08 per page
When rate limited, responses include { limitReached: true } with status 402 or 429 depending on plan and endpoint.
Analyze Statement (v1)
/api/v1/analysesThe versioned API. Uploads a statement and returns the finished report — totals, insights, subscriptions, duplicate charges. Runs inline, so allow a 300-second timeout.
Request body
multipart/form-data with one or more "file" parts (PDF or image, 4 MB per request, 10 files max)
Response
{ data: { id, status, totals, transactionCount, insights, subscriptions, duplicateCharges, actionPlan, ... } }
Example
curl -X POST https://mybankstatementanalysis.com/api/v1/analyses \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@statement.pdf"
Quick Start
- 1Create an API key above
- 2Add it to your Authorization header as a Bearer token
- 3Upload a bank statement PDF to any endpoint via FormData
- 4Parse the JSON response or download the file
- 5Generate a client from the OpenAPI spec at /api/v1/openapi.json
File Requirements
- Formats
- PDF, JPG, PNG
- Max size
- 10 MB per file
- Upload field
- "file" in multipart FormData
- Multi-file
- Supported for analyze and export endpoints
Error Codes
- 400
- Bad request — missing file, invalid format, or file too large
- 401
- Unauthorized — missing or invalid API key
- 403
- Forbidden — feature requires a higher plan
- 422
- No transactions found in the uploaded document
- 429
- Rate limit exceeded — upgrade your plan
- 500
- Server error — retry or contact support

Try the analysis before you integrate
Upload one statement in the browser and see the same report the API returns.