utility_billUtility bill
Electricity, gas, water, internet or phone bill from any country, used as proof of address: supplier, holder, supply address, CUPS/meter point, period and amount.
- Category
- Proof of address
- Country
- International
- Extracted fields
- 16 fields
- Cost
- 1 credit
utility_billspecimen- Supplier
- Supplier tax id
- Service type
- Holder name
- Holder ID number
- Supply address
- Postal code
- Country
- Cups
What it checks
- National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).
postal_code - Postal code. Postal code format of the country.
- Holder. Name, number or date of birth match what you expect.
- Recency. Issued less than N days ago.
Extracted fields
- Supplier
supplier - Supplier tax id
supplier_tax_id - Service type
service_type - Holder name
holder_name - Holder ID number
holder_id - Supply address
supply_address - Postal code
postal_code - Country
country - Cups
cups - Contract number
contract_number - Invoice number
invoice_number - Issue date
issue_date - Period start
period_start - Period end
period_end - Amount
amount - Currency
currency
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@document.pdf" \
-F 'options={
"expect": "utility_bill",
"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": "utility_bill",
"label": "Utility bill",
"confidence": 0.97
},
"verdict": {
"expected": [
"utility_bill"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: Utility bill."
}
]
},
"fields": {
"supplier": {
"value": "ESPECIMEN ENERGÍA S.A.",
"confidence": 0.99,
"validated": true
},
"supplier_tax_id": {
"value": "A12345674",
"confidence": 0.98,
"validated": null
},
"service_type": {
"value": "electricidad",
"confidence": 0.97,
"validated": null
},
"holder_name": {
"value": "JUAN ESPAÑOL ESPAÑOL",
"confidence": 0.96,
"validated": null
},
"holder_id": {
"value": "99999999R",
"confidence": 0.99,
"validated": null
},
"supply_address": {
"value": "C/ MAYOR 1, 3º A, MADRID",
"confidence": 0.98,
"validated": null
},
"postal_code": {
"value": "28013",
"confidence": 0.97,
"validated": null
},
"country": {
"value": "ESP",
"confidence": 0.96,
"validated": null
},
"cups": {
"value": "ES0021000000000000AA",
"confidence": 0.99,
"validated": null
},
"contract_number": {
"value": "123456789",
"confidence": 0.98,
"validated": null
},
"invoice_number": {
"value": "FE26-000123",
"confidence": 0.97,
"validated": null
},
"issue_date": {
"value": "2026-09-05",
"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
},
"amount": {
"value": 68.42,
"confidence": 0.97,
"validated": null
},
"currency": {
"value": "EUR",
"confidence": 0.96,
"validated": null
}
},
"checks": [
{
"code": "id_number",
"passed": true,
"message": "id_number"
}
],
"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.