Developer API · v1
One endpoint. Every bank.
Ship bank statement parsing into your product in under an hour. REST, async jobs, webhooks — priced the same as the dashboard.
curl https://api.statementify.co/v1/convert \
-H "Authorization: Bearer sk_live_..." \
-F "file=@chase_october.pdf" \
-F "format=xlsx"
# → { "id": "job_9f2...", "status": "processing" }Async jobs
Fire and poll, or await webhooks.
Webhooks
Signed HMAC events for job.completed.
Scoped keys
Publishable & secret keys, live/test.
Rate limits
100 req/min shared, burstable to 500.
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v1/convert | Upload a PDF, start a conversion job. |
| GET | /v1/jobs/:id | Poll status: queued, processing, done, failed. |
| GET | /v1/jobs/:id/download | Signed URL to XLSX / CSV / JSON output. |
| GET | /v1/jobs | List recent jobs, filter by status. |
| POST | /v1/webhooks | Register a webhook to receive job.completed events. |
Response shape
Every job resolves to a structured JSON payload with per-transaction fields.
{
"id": "job_9f2a...",
"status": "done",
"bank": "chase",
"account": "****4421",
"period": { "start": "2024-10-01", "end": "2024-10-31" },
"opening_balance": 12448.00,
"closing_balance": 6828.76,
"transactions": [
{
"date": "2024-10-02",
"description": "STARBUCKS #4421",
"category": "Meals",
"debit": 6.80,
"credit": null,
"balance": 12441.20
}
],
"download_url": "https://api.statementify.co/f/..."
}