bank_statementBank statement
Bank account statement from any country: bank, holder, IBAN, period, balances and transactions.
- Category
- Payments and finance
- Country
- International
- Extracted fields
- 11 fields
- Cost
- 1 credit
bank_statementspecimen- Bank name
- Account holder
- Address
- IBAN
- Bic
- Period start
- Period end
- Opening balance
- Closing balance
What it checks
- National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).
iban, bic - IBAN. ISO 13616 check digits and length per country.
- Holder. Name, number or date of birth match what you expect.
- Recency. Issued less than N days ago.
Extracted fields
- Bank name
bank_name - Account holder
account_holder - Address
address - IBAN
iban - Bic
bic - Period start
period_start - Period end
period_end - Opening balance
opening_balance - Closing balance
closing_balance - Currency
currency - Transactions
transactions
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@document.pdf" \
-F 'options={
"expect": "bank_statement",
"checks": {
"max_age_days": 90,
"holder": {
"full_name": "Carmen Especimen Ruiz"
}
},
"storage": "none"
}'Sample response
Fictitious data. Shortened response.
200 OK · application/json
{
"id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
"object": "analysis",
"status": "completed",
"livemode": false,
"document": {
"type": "bank_statement",
"label": "Bank statement",
"confidence": 0.97
},
"verdict": {
"expected": [
"bank_statement"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: Bank statement."
}
]
},
"fields": {
"bank_name": {
"value": "BANCO ESPECIMEN",
"confidence": 0.99,
"validated": true
},
"account_holder": {
"value": "JUAN ESPAÑOL ESPAÑOL",
"confidence": 0.98,
"validated": null
},
"iban": {
"value": "ES9121000418450200051332",
"confidence": 0.97,
"validated": null
},
"bic": {
"value": "CAIXESBBXXX",
"confidence": 0.96,
"validated": null
},
"period_start": {
"value": "2026-08-01",
"confidence": 0.99,
"validated": null
},
"period_end": {
"value": "2026-08-31",
"confidence": 0.98,
"validated": null
},
"opening_balance": {
"value": 2450.1,
"confidence": 0.97,
"validated": null
},
"closing_balance": {
"value": 3120.75,
"confidence": 0.96,
"validated": null
},
"currency": {
"value": "EUR",
"confidence": 0.99,
"validated": null
}
},
"checks": [
{
"code": "id_number",
"passed": true,
"message": "id_number"
},
{
"code": "iban_checksum",
"passed": true,
"message": "iban_checksum"
}
],
"warnings": [],
"storage": {
"mode": "none",
"file_deleted_at": "2026-09-29T10:00:02Z",
"expires_at": null
},
"usage": {
"credits": 1,
"pages": 1
}
}FAQ
Does Constaia prove the document is authentic?
No. It checks the type, data consistency and your rules, and flags signals such as a possible edit or a screen photo. That does not prove authenticity.
Is a copy of the document kept?
No, unless you ask for it. With storage "none" (the default) the file is deleted when the analysis ends.
Other documents
And for the record…
Create your account, copy the test key and validate your first document in five minutes.