Ir al contenido

Lookup RUT

El endpoint de Lookup RUT permite consultar información tributaria de cualquier contribuyente chileno directamente desde el SII. Los datos incluyen razón social, direcciones, actividades económicas, fecha de autorización y más.

El sistema implementa un caché inteligente que evita consultas innecesarias al SII, optimizando costos y tiempos de respuesta.


Antes de usar el endpoint necesitas:

  1. Una API Key con uno de estos roles: ADMIN, SUPER-ADMIN, o FULL-API
  2. El tenant debe tener DTE habilitado (dteEnabled: true)

El sistema mantiene un repositorio maestro de contribuyentes (ContribuyenteMaestro) que actúa como caché. Esto significa que no todas las consultas generan cobro.

Escenario¿Cobra?Campo source
Datos frescos en caché (< 30 días)NoLOCAL
Datos vencidos → consulta al SIISII
Modo Sandbox activoNoN/A
SII falla pero hay datos localesLOCAL_FALLBACK
POST /herramientas/lookup-rut
¿Modo Sandbox? ───SÍ───▶ Retorna fixture (NO billing)
│ NO
¿DTE habilitado? ───NO───▶ Error 400
│ SÍ
¿Caché fresco (< 30 días)? ───SÍ───▶ Retorna del caché
│ NO (NO billing)
Consulta al SII
(BILLABLE)
Sincroniza con repositorio maestro
Retorna datos + registra evento billing

La respuesta incluye campos que indican el origen de los datos:

  • source: "SII" | "LOCAL" | "LOCAL_FALLBACK" - De dónde provienen los datos
  • cacheHit: true | false - Si se usó el caché (no hubo consulta al SII)

El modo sandbox permite probar la integración sin realizar consultas reales al SII y sin generar cobros.

El modo sandbox se activa automáticamente cuando tu API Key tiene el flag isSandbox: true configurado en sus metadata.

RUTDescripciónResultado
78012039-8FIRERAISE SPA - Empresa completa con todos los datosÉxito
77425402-1LA GRANJERA LIMITADA - Múltiples direcciones y sucursalesÉxito
13830230-kPersona natural con inicio de actividadesÉxito
19673431-7Persona natural sin inicio de actividadesÉxito
22222222-2Empresa con datos parciales (sin giro)Éxito
11111111-1Empresa sin Portal Mipyme habilitadoÉxito
99999999-9RUT no encontradoError 404

POST /{tenantSlug}/herramientas/lookup-rut
Authorization: Bearer {api_key}
Content-Type: application/json
{
"rut": "78012039-8"
}
CampoTipoRequeridoDescripción
rutstringRUT a consultar en formato 12345678-9
Ventana de terminal
curl -X POST "https://api.redcumbre.cl/{tenantSlug}/herramientas/lookup-rut" \
-H "Authorization: Bearer {api_key}" \
-H "Content-Type: application/json" \
-d '{
"rut": "78012039-8"
}'

{
"success": true,
"data": {
"rut": "78012039-8",
"razonSocial": "FIRERAISE SPA",
"giroGlosa": null,
"tipoContribuyente": "EMPRESA",
"fechaAutorizacion": "2021-09-27",
"portalMipymeHabilitado": true,
"direcciones": [
{
"direccion": "LOS PEUMOS ST. 3 LT B",
"comuna": "BULNES",
"codigoComuna": "16108",
"ciudad": "",
"codigoSucursal": "90866365",
"unidadSii": {
"direccionRegional": "Dirección Regional de Ñuble",
"nombreCorto": "DR Ñuble",
"codigoRegion": "16",
"unidad": "Unidad de Chillán"
},
"comunaId": 101,
"comunaBheId": 8402,
"comunaSiiId": "16108"
}
],
"actividadesEconomicas": [
{
"codigo": "620900",
"descripcion": "OTRAS ACTIVIDADES DE TECNOLOGÍA DE LA INFORMACIÓN Y DE SERVICIOS INFORMÁTICOS"
}
]
},
"source": "SII",
"cacheHit": false
}
CampoTipoDescripción
successbooleanIndica si la operación fue exitosa
data.rutstringRUT consultado
data.razonSocialstringNombre o razón social del contribuyente
data.giroGlosastring | nullGiro comercial (puede ser null en lookup normal)
data.tipoContribuyentestring"EMPRESA" o "PERSONA"
data.fechaAutorizacionstringFecha de autorización en SII (YYYY-MM-DD)
data.portalMipymeHabilitadobooleanSi tiene acceso al Portal Mipyme del SII
data.direccionesarrayLista de direcciones registradas
data.actividadesEconomicasarrayLista de actividades económicas (ACTECO)
sourcestringOrigen de los datos: SII, LOCAL, LOCAL_FALLBACK
cacheHitbooleantrue si los datos vinieron del caché local
CampoTipoDescripción
direccionstringDirección completa
comunastringNombre de la comuna
codigoComunastringCódigo SII de la comuna
ciudadstringCiudad (puede estar vacío)
codigoSucursalstringCódigo de sucursal SII
unidadSiiobjectInformación de la unidad SII correspondiente
comunaIdnumberID interno de comuna
comunaBheIdnumberID de comuna para BHE
comunaSiiIdstringCódigo SII de la comuna
CampoTipoDescripción
codigostringCódigo ACTECO (6 dígitos)
descripcionstringDescripción de la actividad económica

CódigoDescripciónCausa
400DTE no habilitadoEl tenant no tiene dteEnabled: true
404RUT no encontradoEl RUT no existe en el SII o no tiene inicio de actividades
500Error internoError en servicios internos
{
"statusCode": 404,
"message": "No se encontraron datos para el RUT 99999999-9",
"error": "Not Found"
}

Antes de emitir una Boleta de Honorarios, puedes validar que el destinatario existe en el SII:

Ventana de terminal
# 1. Consultar datos del destinatario
curl -X POST "https://api.redcumbre.cl/{tenant}/herramientas/lookup-rut" \
-H "Authorization: Bearer {api_key}" \
-d '{"rut": "76123456-7"}'
# 2. Si existe, usar los datos para emitir la BHE con modo siiLookup
curl -X POST "https://api.redcumbre.cl/{tenant}/bhe" \
-H "Authorization: Bearer {api_key}" \
-d '{
"emisorTributarioId": "...",
"siiLookup": { ... datos del lookup ... },
"detalle": "Servicios profesionales",
"montoTotal": 500000
}'

Para mostrar información fiscal de un cliente en tu aplicación:

const response = await fetch(`https://api.redcumbre.cl/${tenant}/herramientas/lookup-rut`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ rut: '78012039-8' })
});
const { data, cacheHit } = await response.json();
console.log(`Razón Social: ${data.razonSocial}`);
console.log(`Actividad: ${data.actividadesEconomicas[0]?.descripcion}`);
console.log(`Dirección: ${data.direcciones[0]?.direccion}, ${data.direcciones[0]?.comuna}`);
console.log(`Datos desde caché: ${cacheHit ? '' : 'No'}`);

El lookup de RUT está integrado con el sistema de emisión de BHE. Puedes usar los datos obtenidos directamente con el modo siiLookup al emitir una boleta:

{
"emisorTributarioId": "...",
"siiLookup": {
"rut": "78012039-8",
"razonSocial": "FIRERAISE SPA",
"direcciones": [...],
"actividadesEconomicas": [...]
},
"detalle": "Servicios de consultoría",
"montoTotal": 1000000
}

Esto evita una segunda consulta al SII durante la emisión, optimizando tiempos y costos.

👉 Ver más detalles en Boletas de Honorarios