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: 27 de marzo de 2026 a las 02:16

Sincronización

En tiempo real

Empresas

2,017,665 registradas

Características del Servicio

Actualización PUT

Recibe actualizaciones de 1 o múltiples registros mediante API REST.

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

Acceso expandido por $1.000 CLP anuales con más funcionalidades.

Información Pública

  • Razón Social
  • RUT
  • DTE Email
  • Actecos *
  • Glosa de Giro *
  • Fecha Resolución
  • Dirección (comuna, provincia, región) *

Información Premium

Todo lo anterior más:

  • Email *
  • Teléfono *
  • Logo *
  • Direccion completa
  • Tags personalizados
  • Información geográfica detallada

* Información puede no estar disponible

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

Actualiza información de empresas desde fuentes externas.

Parámetros JSON:
  • token (string): Token de autorización
  • origen (string): Identificador del sistema origen
  • rut (string): RUT individual (opcional si se usa "ruts")
  • ruts (object): Objeto con RUTs como claves y datos como valores
Ejemplo individual:
{
  "token": "tu_token",
  "origen": "sistema_externo",
  "rut": "76883241-2",
  "razon_social": "EMPRESA EJEMPLO SPA",
  "email": "contacto@ejemplo.cl",
  "direccion": "Av. Principal 123",
  "telefono": "+56912345678"
}
PUT /api/company_info Actualización Masiva

Para escribir varios registros en una misma petición, usa ruts como objeto donde cada clave es un RUT y su valor el diccionario de campos a actualizar.

{
  "token": "tu_token",
  "origen": "sistema_externo",
  "ruts": {
    "76883241-2": {
      "razon_social": "EMPRESA EJEMPLO SPA",
      "email": "contacto@ejemplo.cl",
      "telefono": "+56912345678"
    },
    "12345678-9": {
      "razon_social": "OTRA EMPRESA LTDA",
      "actecos": ["471130", "472100"]
    }
  }
}

Respuesta — {"result": "Ok"} con el detalle por RUT:

{
  "result": "Ok",
  "76883241-2": { "result": "Ok" },
  "12345678-9": { "result": "Ok" }
}
Mismo límite: 100 RUTs por petición. origen es obligatorio.

Ejemplo de Respuesta

Respuesta Exitosa
{
  "result": true,
  "rut": "76883241-2",
  "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,
  
  // Solo para usuarios registrados:
  "direccion": "Av. Principal 123",
  "comuna": "7110",
  "ciudad": "Santiago",
  "provincia": "131",
  "region": "13",
  "telefono": "+56912345678",
  "email": "contacto@ejemplo.cl",
  "tags": ["software", "tecnologia"],
  "logo": "base64_encoded_logo"
}
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
  • 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