Skip to content
Constaia
utility_bill

Utility 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

  • Suppliersupplier
  • Supplier tax idsupplier_tax_id
  • Service typeservice_type
  • Holder nameholder_name
  • Holder ID numberholder_id
  • Supply addresssupply_address
  • Postal codepostal_code
  • Countrycountry
  • Cupscups
  • Contract numbercontract_number
  • Invoice numberinvoice_number
  • Issue dateissue_date
  • Period startperiod_start
  • Period endperiod_end
  • Amountamount
  • Currencycurrency

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.