Skip to content
Constaia
es_criminal_record_certificate

Spanish criminal record certificate

Type, age and holder of the Spanish criminal record certificate.

Category
Certificates
Country
Spain
Extracted fields
5 fields
Cost
1 credit
es_criminal_record_certificatespecimen
Holder name
Holder ID number
Issue date
Records found
Secure Verification Code (CSV)

For hiring and licensing processes where the law requires it. Constaia checks it is a criminal record certificate, its date, the holder and the result.

  • This is GDPR art. 10 data: request it only when a rule requires it.

What it checks

  • NIF/NIE check letter. The check character is recomputed (mod 23).
  • Recency. Issued less than N days ago.
  • Holder. Name, number or date of birth match what you expect.
  • Secure verification code. Format of the code used to check it with the issuer.
  • PDF electronic signature. PAdES signature verified when the original PDF is sent.

Extracted fields

  • Holder nameholder_name
  • Holder ID numberholder_id
  • Issue dateissue_date
  • Records foundhas_records
  • Secure Verification Code (CSV)csv_code

Sample request

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@document.pdf" \
  -F 'options={
    "expect": "es_criminal_record_certificate",
    "checks": {
      "max_age_days": 90
    },
    "storage": "none"
  }'

Sample response

Fictitious data. Shortened response.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "es_criminal_record_certificate",
    "label": "Spanish criminal record certificate",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "es_criminal_record_certificate"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: Spanish criminal record certificate."
      }
    ]
  },
  "fields": {
    "holder_name": {
      "value": "MARÍA GARCÍA LÓPEZ",
      "confidence": 0.99,
      "validated": true
    },
    "holder_id": {
      "value": "12345678Z",
      "confidence": 0.98,
      "validated": null
    },
    "issue_date": {
      "value": "2026-09-10",
      "confidence": 0.97,
      "validated": null
    },
    "has_records": {
      "value": false,
      "confidence": 0.96,
      "validated": null
    },
    "csv_code": {
      "value": "XXXX-XXXX-XXXX-XXXX",
      "confidence": 0.99,
      "validated": null
    }
  },
  "checks": [
    {
      "code": "nif_check_digit",
      "passed": true,
      "message": "The NIF check letter is correct."
    },
    {
      "code": "max_age_days",
      "passed": true,
      "message": "The issue date is within the limit."
    }
  ],
  "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.