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.

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
Contratar o hacer upgrade

Información publicada por el SII

  • Razón Social
  • RUT
  • DTE Email *
  • Actividades Económicas *
  • Resolución (número y fecha)
  • Glosa de Giro *
* Información puede no estar disponible

Datos retirados (Ley N° 21.719)

No publicados por el SII

  • Email de contacto
  • Teléfono
  • Logo empresarial
  • Dirección completa
  • Tags personalizados
  • Información geográfica
Estos campos se eliminaron y la captura fue deshabilitada por cumplimiento de la ley de protección de datos.

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 }
  }
}
Límite: hasta 100 RUTs por petición. Si excedes, recibes {"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) incluyen consultas_restantes con 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