SRE
Servicio de Registro de Empresas
API pública para consulta de información actualizada de contribuyentes chilenos, diseñada para integrar con sistemas de facturación electrónica.
Protección de datos personales (Ley N° 21.719)
Para asegurar el cumplimiento de la ley de protección de datos personales, los campos que no son publicados por el SII fueron eliminados de nuestra base y dejaron de entregarse por la API:
- Email de contacto
- Teléfono
- Logo empresarial
- Dirección completa
- Tags personalizados
- Información geográfica
Asimismo, la funcionalidad y el endpoint de captura de estos datos
(PUT /api/company_info) queda deshabilitado. El servicio seguirá
entregando únicamente la información publicada por el SII (razón social, RUT, actividades
económicas, correo DTE, resolución y giro).
Base de Datos
Actualizada
Último update: 22 de agosto de 2026 a las 00:00
Sincronización
En tiempo real
Empresas
2,085,949 registradas
Características del Servicio
Protección de Datos
Solo se entrega información publicada por el SII, en cumplimiento de la Ley N° 21.719.
Sincronización Enjambre
Sincronización total con el servidor principal para mantener datos actualizados.
Token Público
Token gratuito token_publico con 200 consultas diarias.
Token Premium
Más consultas diarias según el plan contratado. Ver planes.
Planes
Plan Público
- Token:
token_publico - 200 consultas diarias
- Información básica
- Acceso gratuito
Planes Premium
- Plan Básico — $1,190 CLP/año, 50 consultas diarias
- Plan Medio — $5,950 CLP/año, 100 consultas diarias
- Plan Avanzado — $11,900 CLP/año, 200 consultas diarias
- Información completa y soporte técnico
Información publicada por el SII
- Razón Social
- RUT
- DTE Email *
- Actividades Económicas *
- Resolución (número y fecha)
- Glosa de Giro *
Datos retirados (Ley N° 21.719)
No publicados por el SII
Email de contactoTeléfonoLogo empresarialDirección completaTags personalizadosInformación geográfica
Documentación de la API
URL Base
https://sre.cl
Endpoint Principal: Información de Empresas
GET /api/company_info
Consulta información de una empresa por RUT.
Parámetros Query String:
- token (string): Token de autorización
- rut (string): RUT de la empresa (con dígito verificador)
- actualizado (string): Fecha de última actualización ("False" para forzar actualización)
Ejemplo:
GET /api/company_info?token=token_publico&rut=76883241-2&actualizado=False
POST /api/company_info
Consulta información de una o múltiples empresas.
Parámetros JSON:
- token (string): Token de autorización
- rut (string): RUT individual (opcional si se usa "ruts")
- ruts (array): Lista de RUTs para consulta masiva
- version (string): Versión de la API
Ejemplo consulta individual:
{
"token": "token_publico",
"rut": "76883241-2",
"version": "2.0"
}
Ejemplo consulta múltiple:
{
"token": "token_publico",
"ruts": ["76883241-2", "12345678-9", "98765432-1"],
"version": "2.0"
}
POST /api/company_info Consulta Masiva
El mismo endpoint POST acepta consultas masivas usando el campo ruts (array). Se procesa en una sola petición y devuelve un diccionario con la información de cada RUT.
Modo 1 — Consultar varias empresas a la vez
Pasa un array en ruts. Devuelve {rut: info}:
{
"token": "tu_token",
"ruts": ["76883241-2", "12345678-9", "98765432-1"]
}
Respuesta:
{
"76883241-2": { "razon_social": "EMPRESA EJEMPLO SPA", "actecos": ["620200"], ... },
"12345678-9": { "razon_social": "OTRA EMPRESA LTDA", "actecos": ["471130"], ... },
"98765432-1": { "error": "..." }
}
Modo 2 — Verificar cuáles necesitan actualización (check_ruts)
Útil para sincronizar caches locales: pasa check_ruts: true y una lista de pares [rut, fecha_local]. El servidor responde indicando qué registros tienen datos más recientes.
{
"token": "tu_token",
"check_ruts": true,
"ruts": [
["76883241-2", "2024-10-01 00:00:00"],
["12345678-9", "2024-08-15 00:00:00"]
]
}
Respuesta — result: true para los que tienen datos más nuevos (incluye los datos), result: false para los que están al día:
{
"result": true,
"ruts": {
"76883241-2": { "result": true, "razon_social": "...", "actualizado": "2024-12-10" },
"12345678-9": { "result": false }
}
}
{"message": "Petición con muchos RUTs, el máximo es 100"}.
PUT /api/company_info Deshabilitado
El endpoint de captura de datos fue deshabilitado por cumplimiento de la
Ley N° 21.719 de protección de datos personales: ya no se reciben ni almacenan datos de
terceros no publicados por el SII. Las peticiones PUT se aceptan y se
descartan sin procesar, devolviendo 200 para que las integraciones
existentes no acumulen errores ni reintenten. Nada de lo enviado se lee ni se
guarda. Si tu sistema aún envía datos por esta vía, puedes dejar de hacerlo.
{
"result": "La captura de datos no publicados por el SII está deshabilitada por cumplimiento de la Ley N° 21.719 de protección de datos personales."
}
Ejemplo de Respuesta
Respuesta Exitosa
{
"result": true,
"rut": "76883241-2",
"consultas_restantes": 195,
"razon_social": "EMPRESA EJEMPLO SPA",
"dte_email": "dte@ejemplo.cl",
"fecha_resol": "15-03-2020",
"numero_resol": 80,
"actecos": ["620200", "721000"],
"url": "www.ejemplo.cl",
"actualizado": "2024-01-15",
"glosa_giro": "Desarrollo de software",
"es_mipyme": true
}
Notas Importantes
- Los RUTs deben incluir el dígito verificador separado por guión
- El sistema consulta automáticamente al SII para obtener información actualizada
- Las consultas masivas están limitadas a 100 RUTs por request
- El token público tiene límite de 200 consultas diarias
- Las respuestas individuales (GET y POST con
rut) incluyenconsultas_restantescon el cupo restante del token (-1 = ilimitado) - La información se actualiza automáticamente desde fuentes oficiales
- Algunos campos pueden no estar disponibles para todas las empresas
Ejemplos de Integración
import requests
URL = "https://sre.cl/api/company_info"
def consultar_empresa(rut, token="token_publico"):
"""Consulta individual."""
response = requests.post(URL, json={"token": token, "rut": rut, "version": "2.0"})
return response.json()
def consultar_masivo(ruts, token="token_publico"):
"""Consulta masiva: hasta 100 RUTs por petición."""
response = requests.post(URL, json={"token": token, "ruts": ruts})
return response.json() # {rut: info, ...}
def check_ruts(items, token="token_publico"):
"""Verifica cuáles RUTs tienen datos más recientes que tu cache local.
items: lista de [rut, fecha_local_str]
"""
response = requests.post(URL, json={
"token": token,
"check_ruts": True,
"ruts": items,
})
return response.json()
# Uso individual
info = consultar_empresa("76883241-2")
print(f"Razón Social: {info.get('razon_social')}")
# Uso masivo
data = consultar_masivo(["76883241-2", "12345678-9", "98765432-1"])
for rut, empresa in data.items():
print(rut, empresa.get("razon_social"))
async function consultarEmpresa(rut, token = "token_publico") {
const response = await fetch("https://sre.cl/api/company_info", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
token: token,
rut: rut,
version: "2.0"
})
});
return await response.json();
}
// Uso
consultarEmpresa("76883241-2").then(info => {
console.log(`Razón Social: ${info.razon_social}`);
});
$token,
"rut" => $rut,
"version" => "2.0"
];
$options = [
"http" => [
"header" => "Content-type: application/json\r\n",
"method" => "POST",
"content" => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
// Uso
$info = consultar_empresa("76883241-2");
echo "Razón Social: " . $info["razon_social"];
?>
Contacto y Soporte
¿Necesitas ayuda con la integración o tienes preguntas sobre el servicio?
contacto@sre.cl