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 }
}
}
{"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" }
}
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