API & Developers
Integrate Bank Statement Analysis
Into Your Own Systems
The AutoConvertPros API allows lending firms and enterprise customers to submit bank statements programmatically and receive structured income analysis and risk scores — without manual uploads.
Available on Firm and Enterprise plansAuthentication
All API requests must include your API key in the request header. API keys are available from your account settings on Firm and Enterprise plans.
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Keep your API key secret. Do not expose it in client-side code or public repositories. If your key is compromised, regenerate it immediately from your account settings.
Base URL
https://autoconvertpros.com/api/v1
All requests are made over HTTPS. HTTP requests will be rejected.
Endpoints
POST /statements/upload
Submit a bank statement PDF for analysis. Returns a statement ID which you can use to poll for results.
| Field | Type | Required | Description |
|---|---|---|---|
| file | File | required | The bank statement PDF. Max 20MB. |
| case_reference | string | optional | Your internal case reference. Included in the report. |
| password | string | optional | Password for password-protected PDFs. |
curl -X POST https://autoconvertpros.com/api/v1/statements/upload \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@lloyds_statement.pdf" \ -F "case_reference=CASE-2026-001"
{
"success": true,
"statement_id": "stmt_abc123",
"status": "processing",
"message": "Statement uploaded successfully. Poll /statements/stmt_abc123 for results."
}GET /statements/{id}
Retrieve the full analysis results for a statement. Poll this endpoint until status is completed.
{
"id": "stmt_abc123",
"status": "completed",
"bank_detected": "Lloyds",
"pages_processed": 6,
"case_reference": "CASE-2026-001",
"income": {
"month_1": 3850.00,
"month_2": 4100.00,
"month_3": 3950.00,
"average": 3966.67,
"variance_percent": 3.2,
"consistency_score": "High"
},
"risk": {
"score": 28,
"level": "Moderate",
"flagged_transaction_count": 2,
"flags": [
{
"date": "2026-01-08",
"description": "BET365 ONLINE BETTING",
"amount": 50.00,
"category": "gambling"
},
{
"date": "2026-01-22",
"description": "KLARNA PAYMENT",
"amount": 45.00,
"category": "bnpl"
}
]
},
"created_at": "2026-03-19T09:00:00Z",
"completed_at": "2026-03-19T09:00:58Z"
}Rate Limits
API requests are limited to 10 requests per minute per API key. Statement uploads count against your plan's monthly statement quota (200/month on Firm, custom on Enterprise). If you exceed the rate limit, you will receive a 429 Too Many Requests response.
| Plan | Monthly Statements | Rate Limit | API Access |
|---|---|---|---|
| Free | 1 | N/A | ✗ Not available |
| Professional | 50 | N/A | ✗ Not available |
| Firm | 200 | 10 req/min | ✓ Included |
| Enterprise | Custom | Custom | ✓ Included |
Error Codes
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing or invalid request parameters |
| 401 | unauthorized | Invalid or missing API key |
| 403 | quota_exceeded | Monthly statement quota reached |
| 404 | not_found | Statement ID does not exist |
| 422 | unsupported_bank | Bank statement format not recognised |
| 429 | rate_limited | Too many requests — slow down |
| 500 | processing_error | Internal error during OCR or analysis |
Webhooks
Rather than polling /statements/{id} for completion, Enterprise plans support webhook notifications. When statement processing completes, AutoConvertPros sends a POST request to your configured endpoint with the full analysis result — no polling required.
POST https://your-endpoint.com/webhook
Content-Type: application/json
X-AutoConvertPros-Signature: sha256=...
{
"event": "statement.completed",
"statement_id": "stmt_abc123",
"status": "completed",
"income": { "average": 3966.67, "consistency_score": "High" },
"risk": { "score": 28, "level": "Moderate" }
}Webhook support is available on Enterprise plans. Contact us to configure a webhook endpoint for your integration.
API access is included on Firm and Enterprise plans. Start a Firm trial to get your API key, or contact us to discuss Enterprise requirements including custom rate limits and SLA.