Skip to content
Constaia
es_sexual_offences_certificate

Spanish sexual offences certificate

Check certificates from Spain's Central Sex Offenders Register for LOPIVI compliance.

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

Spain's child protection law (LOPIVI) requires this certificate from anyone working with minors. Constaia checks the type, age, holder and whether records exist, and extracts the Secure Verification Code so you can check it on the Ministry of Justice website.

  • Constaia does not query the Ministry's website: it gives you the extracted code to check it there.
  • With keep_results false not even the result is stored, only usage.

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_sexual_offences_certificate",
    "checks": {
      "max_age_days": 90,
      "holder": {
        "document_number": "12345678Z"
      }
    },
    "storage": "none"
  }'

Sample response

Fictitious data. Shortened response.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "es_sexual_offences_certificate",
    "label": "Spanish sexual offences certificate",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "es_sexual_offences_certificate"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: Spanish sexual offences 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": "SD: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."
    },
    {
      "code": "csv_format",
      "passed": true,
      "message": "The verification code has a valid format."
    }
  ],
  "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.