Informes DGT
Consulta el historial y la transferibilidad de cualquier vehículo directamente desde los registros de la DGT. Elige entre el informe reducido —rápido, ideal para prevalidar operaciones— o el informe completo, que incluye cargas, incidencias e historial detallado del vehículo.
Las consultas son asíncronas. Dependemos de la DGT para obtener los datos —no siempre responde en tiempo real— y procesamos su respuesta para devolvértela ya estructurada. Recibirás el resultado a través de un webhook cuando el informe esté listo.
Informe reducido
Obtén una respuesta rápida sobre la transferibilidad del vehículo. Ideal para prevalidar operaciones antes de iniciar un trámite completo: con una matrícula sabes en segundos si el vehículo tiene cargas bloqueantes o alertas.
Ver petición
{
"vrm": "1234ABC"
}Ver respuesta
{
"id": "rep_k8mn2p",
"vrm": "1234ABC",
"type": "reduced",
"status": "processing"
}Ver cuerpo
{
"event": "report.completed",
"data": {
"id": "rep_k8mn2p",
"path": "/v1/reports/rep_k8mn2p",
"type": "reduced",
"status": "completed",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}Ver respuesta
{
"id": "rep_k8mn2p",
"vrm": "1234ABC",
"type": "reduced",
"status": "completed",
"transferabilityStatus": "transferable",
"dgtExtractedData": {
"vrm": "1234ABC",
"vin": "WVWZZZ1JZYW123456",
"brand": "VOLKSWAGEN",
"model": "GOLF",
"firstRegistrationDate": "12/03/2019"
}
}Paso 1 — Creas el informe reducido
Envía una llamada POST con la matrícula del vehículo. El informe queda registrado con estado processing y recibirás un identificador único para consultarlo después.
{
"vrm": "1234ABC"
}{
"id": "rep_k8mn2p",
"vrm": "1234ABC",
"type": "reduced",
"status": "processing"
}Ver referencia completa del endpoint →
Paso 2 — Recibes el evento
Cuando el informe finaliza enviamos un evento report.completed a tu webhook:
{
"event": "report.completed",
"data": {
"id": "rep_k8mn2p",
"path": "/v1/reports/rep_k8mn2p",
"type": "reduced",
"status": "completed",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}Paso 3 — Obtienes la información
Consulta el informe con el identificador recibido. El campo clave es transferabilityStatus, que resume la situación del vehículo en tres posibles valores:
| Valor | Significado |
|---|---|
transferable | El vehículo puede transferirse sin restricciones. No se han detectado cargas bloqueantes ni alertas. |
transferable_with_alerts | La transferencia es posible, pero hay incidencias no bloqueantes (por ejemplo, ITV caducada o sin seguro en vigor). El comprador debería ser informado antes de cerrar la operación. |
not_transferable | El vehículo tiene al menos una carga bloqueante (embargo, retención de titularidad, leasing, baja definitiva…). Hay que obtener un Informe Completo para saber qué carga es. |
{
"id": "rep_k8mn2p",
"vrm": "1234ABC",
"type": "reduced",
"status": "completed",
"transferabilityStatus": "transferable_with_alerts",
"dgtExtractedData": {
"vrm": "1234ABC",
"vin": "WVWZZZ1JZYW123456",
"brand": "VOLKSWAGEN",
"model": "GOLF",
"firstRegistrationDate": "12/03/2019"
}
}Ver referencia completa del endpoint →
Informe completo
Obtén el historial completo del vehículo: cargas e incidencias detalladas, historial de ITV y propiedad, e información técnica completa extraída de la DGT. Incluye también un PDF descargable del informe oficial.
Ver petición
{
"vrm": "1234ABC"
}Ver respuesta
{
"id": "rep_9xqr5w",
"vrm": "1234ABC",
"type": "complete",
"status": "processing"
}Ver cuerpo
{
"event": "report.completed",
"data": {
"id": "rep_9xqr5w",
"path": "/v1/reports/rep_9xqr5w",
"type": "complete",
"status": "completed",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}Ver respuesta
{
"id": "rep_9xqr5w",
"vrm": "1234ABC",
"type": "complete",
"status": "completed",
"transferabilityStatus": "transferable",
"issues": [],
"reportUrl": "https://api.punto.ai/v1/reports/rep_9xqr5w/download?token=...",
"dgtExtractedData": {
"vrm": "1234ABC",
"vin": "WVWZZZ1JZYW123456",
"brand": "VOLKSWAGEN",
"model": "GOLF",
"firstRegistrationDate": "12/03/2019",
"registrationDate": "15/03/2019",
"hasInvalidItv": false,
"hasInvalidInsurance": false,
"hasCharges": false,
"hasDenial": false,
"hasPendingSafetyCampaign": false
}
}Paso 1 — Creas el informe completo
Igual que el reducido: una llamada POST con la matrícula.
{
"vrm": "1234ABC"
}{
"id": "rep_9xqr5w",
"vrm": "1234ABC",
"type": "complete",
"status": "processing"
}Ver referencia completa del endpoint →
Paso 2 — Recibes el evento
Igual que en el reducido, recibes un evento report.completed cuando el informe finaliza.
{
"event": "report.completed",
"data": {
"id": "rep_9xqr5w",
"path": "/v1/reports/rep_9xqr5w",
"type": "complete",
"status": "completed",
"timestamp": "2025-08-12T10:30:00.000Z"
}
}Paso 3 — Obtienes la información
El informe completo incluye varios campos adicionales respecto al reducido.
Transferibilidad
El campo transferabilityStatus puede ser transferable o not_transferable. En los informes completos no existe el valor transferable_with_alerts: las incidencias no bloqueantes se detallan directamente en el array issues en lugar de resumirse en un único estado.
Incidencias — campo issues
Lista de incidencias detectadas sobre el vehículo. Cada elemento tiene un concept que identifica el tipo, una description en texto legible, y opcionalmente date y authority.
| Concept | Tipo | Descripción |
|---|---|---|
ownership-hold | Bloqueante | Retención de titularidad activa |
seizure | Bloqueante | Embargo judicial sobre el vehículo |
leasing | Bloqueante | Contrato de leasing activo |
renting | Bloqueante | Contrato de renting activo |
deregistrated | Bloqueante | Vehículo dado de baja definitiva |
restriction | Bloqueante | Restricción administrativa sobre la transferencia |
itv-expired | Alerta | ITV caducada o no superada |
no-insurance | Alerta | El vehículo no consta como asegurado |
safety-recall | Alerta | Campaña de seguridad pendiente |
unpaid-tax | Alerta | Impuestos pendientes de pago |
temp-withdrawal | Alerta | Baja temporal reciente |
Información del vehículo — campo dgtExtractedData
Datos extraídos directamente de los registros de la DGT, sin transformar. El informe completo incluye campos adicionales respecto al reducido:
| Campo | Descripción |
|---|---|
vrm | Matrícula |
vin | Número de bastidor |
brand | Fabricante |
model | Modelo |
firstRegistrationDate | Fecha de primera matriculación (DD/MM/YYYY) |
registrationDate | Fecha de matriculación actual en España (DD/MM/YYYY) |
vehicleType | Tipo de vehículo según clasificación DGT |
service | Tipo de uso: A (público) o B (privado) |
autonomousCommunity | Comunidad autónoma de matrícula |
owner | Nombre del titular registrado |
hasInvalidItv | Booleano — ITV no vigente |
hasInvalidInsurance | Booleano — seguro no en vigor |
hasCharges | Booleano — tiene cargas registradas |
hasDenial | Booleano — tiene denegación de transferencia |
hasPendingSafetyCampaign | Booleano — campaña de seguridad pendiente |
itvHistory | Historial de inspecciones técnicas |
ownerHistory | Historial de titulares |
lesseeHistory | Historial de arrendatarios |
PDF del informe — campo reportUrl
Los informes completos incluyen una URL prefirmada para descargar el PDF oficial del informe generado por la DGT. La URL es válida durante un tiempo limitado.
{
"id": "rep_9xqr5w",
"vrm": "1234ABC",
"type": "complete",
"status": "completed",
"transferabilityStatus": "not_transferable",
"issues": [
{
"concept": "seizure",
"description": "El vehículo tiene un embargo activo",
"date": "2024-11-15T00:00:00.000Z",
"authority": "Juzgado de Primera Instancia nº 4"
},
{
"concept": "itv-expired",
"description": "La ITV del vehículo ha caducado",
"date": "2024-09-01T00:00:00.000Z",
"authority": "Estación ITV"
}
],
"reportUrl": "https://api.punto.ai/v1/reports/rep_9xqr5w/download?token=...",
"dgtExtractedData": {
"vrm": "1234ABC",
"vin": "WVWZZZ1JZYW123456",
"brand": "VOLKSWAGEN",
"model": "GOLF",
"firstRegistrationDate": "12/03/2019",
"registrationDate": "15/03/2019",
"hasInvalidItv": true,
"hasInvalidInsurance": false,
"hasCharges": true,
"hasDenial": false,
"hasPendingSafetyCampaign": false
}
}Ver referencia completa del endpoint →
Siguientes pasos
- Trámites DGT — matriculaciones, transferencias y otros trámites
- Firmas electrónicas — envía documentos a firmar
- Referencia API — documentación completa de todos los endpoints