Saltar al contenido
Constaia

DNI (España)

Comprueba que un DNI español es válido, está vigente y pertenece a quien dice.

Identificador
es_dni
Categoría
Identidad
País
España
Coste
1 crédito

El DNI es el documento que más se pide y el que más se guarda sin necesidad. Constaia lee las dos caras, calcula la letra, valida la MRZ y compara con los datos impresos. Devuelve un veredicto con motivos y, si quieres, solo los campos mínimos.

  • Una foto de cada cara o un PDF con las dos cuenta como 1 crédito.
  • Con storage "none" el fichero se borra al terminar: no guardas una copia del DNI.
  • Una letra y una MRZ correctas no prueban que el documento sea auténtico; los warnings te avisan de fotos de pantalla o posibles ediciones.

Qué comprueba

  • Letra del NIF. Calcula la letra con módulo 23 sobre la tabla oficial del Ministerio del Interior.
  • MRZ TD1. Dígitos de control ICAO 9303 (pesos 7-3-1, módulo 10) de la zona de lectura mecánica de 3 líneas.
  • MRZ ↔ zona visual. Comprueba que los datos de la MRZ coinciden con los impresos en el documento.
  • Caducidad. La fecha de caducidad es posterior a hoy o a la fecha de referencia que indiques.
  • Titular. Nombre, número o fecha de nacimiento coinciden con los esperados, sin tildes y con orden de apellidos flexible.
VálidoNo válidoRevisar

Campos que extrae

document_numberNúmero de documento
first_nameNombre
last_name_1Primer apellido
last_name_2Segundo apellido
sexSexo
nationalityNacionalidad
birth_dateFecha de nacimiento
expiry_dateFecha de caducidad
issue_dateFecha de expedición
support_numberNúmero de soporte
addressDomicilio
birth_placeLugar de nacimiento
parentsNombre de los padres

Dónde se usa

Petición de ejemplo

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@dni_valid.jpg" \
  -F 'options={
    "expect": "es_dni",
    "checks": {
      "not_expired": true,
      "holder": {
        "full_name": "María García López"
      }
    },
    "storage": "none"
  }'

Pruébalo sin coste con una clave ck_test_ y el fichero dni_valid.jpg.

Ejemplo de respuesta

Datos ficticios. Respuesta abreviada.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "es_dni",
    "label": "DNI (España)",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "es_dni"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "El documento es: DNI (España)."
      }
    ]
  },
  "fields": {
    "document_number": {
      "value": "12345678Z",
      "confidence": 0.99,
      "validated": true
    },
    "first_name": {
      "value": "MARÍA",
      "confidence": 0.98,
      "validated": null
    },
    "last_name_1": {
      "value": "GARCÍA",
      "confidence": 0.97,
      "validated": null
    },
    "last_name_2": {
      "value": "LÓPEZ",
      "confidence": 0.96,
      "validated": null
    },
    "sex": {
      "value": "F",
      "confidence": 0.99,
      "validated": null
    },
    "nationality": {
      "value": "ESP",
      "confidence": 0.98,
      "validated": null
    },
    "birth_date": {
      "value": "1990-04-18",
      "confidence": 0.97,
      "validated": null
    },
    "expiry_date": {
      "value": "2031-03-12",
      "confidence": 0.96,
      "validated": null
    }
  },
  "checks": [
    {
      "code": "nif_check_digit",
      "passed": true,
      "message": "La letra del NIF es correcta."
    },
    {
      "code": "mrz_checksums",
      "passed": true,
      "message": "Los dígitos de control de la MRZ son correctos."
    },
    {
      "code": "mrz_matches_visual",
      "passed": true,
      "message": "La MRZ coincide con los datos impresos."
    }
  ],
  "warnings": [],
  "storage": {
    "mode": "none",
    "file_deleted_at": "2026-09-29T10:00:02Z",
    "expires_at": null
  },
  "usage": {
    "credits": 1,
    "pages": 2
  }
}

FAQ

¿Constaia prueba que el documento es auténtico?

No. Comprueba el tipo, la coherencia de los datos y tus reglas, y avisa de señales como posible edición o foto de pantalla. Eso no prueba autenticidad.

¿Se guarda una copia del documento?

No, salvo que lo pidas. Con storage "none" (por defecto) el fichero se borra al terminar el análisis.

Otros documentos

Y para que conste…

Crea tu cuenta, copia la clave de test y valida tu primer documento en cinco minutos.

Crear cuenta gratisHablar con ventas250 documentos gratis al mes · sin tarjeta