SOAP · ¿Quién es este RUT?
Consulta de RUT
Razón social, giros con su afectación de IVA, domicilios y la casilla a la que enviarle un documento electrónico. Los ejemplos de abajo son la petición y la respuesta real de cada operación, no una aproximación.
Lo que descuenta cada operación es lo mismo por REST, SOAP, GraphQL y MCP —pagas por el dato, no por el protocolo—; la tabla completa está en Empezar.
POST /soap/v1
ObtenerFicha — La ficha completa
Todo lo que el padrón sabe del RUT: identidad, giros con su afectación de IVA, domicilios y la casilla a la que enviarle un documento electrónico.
El RUT está en el padrón. Descuenta una consulta — como su gemelo REST.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="https://api.datario.cl/soap/v1">
<soapenv:Header/>
<soapenv:Body>
<tns:ObtenerFicha>
<tns:rut>61.704.000-K</tns:rut>
</tns:ObtenerFicha>
</soapenv:Body>
</soapenv:Envelope>
curl -s -i https://api.datario.cl/soap/v1 \
-H "Authorization: Bearer dtr_TU_KEY" \
-H "Content-Type: text/xml; charset=utf-8" \
--data-binary @peticion.xml
import requests
sobre = open("peticion.xml", "rb").read()
r = requests.post(
"https://api.datario.cl/soap/v1",
data=sobre,
headers={
"Authorization": "Bearer dtr_TU_KEY",
"Content-Type": "text/xml; charset=utf-8",
},
timeout=10,
)
if "<soap:Fault>" in r.text:
raise SystemExit(r.text) # faultstring dice qué pasó
print(r.text)
<?php
// SoapClient lee el WSDL y genera las operaciones solo.
$contexto = stream_context_create(["http" => [
"header" => "Authorization: Bearer dtr_TU_KEY",
]]);
$cliente = new SoapClient(
"https://api.datario.cl/soap/v1?wsdl",
["stream_context" => $contexto]
);
try {
$ficha = $cliente->ObtenerFicha([
"rut" => "61.704.000-K",
]);
print_r($ficha);
} catch (SoapFault $f) {
echo $f->faultcode . ": " . $f->faultstring;
}
using var http = new HttpClient();
http.DefaultRequestHeaders.Add(
"Authorization", "Bearer dtr_TU_KEY");
var sobre = new StringContent(
File.ReadAllText("peticion.xml"),
Encoding.UTF8, "text/xml");
var r = await http.PostAsync(
"https://api.datario.cl/soap/v1", sobre);
var xml = await r.Content.ReadAsStringAsync();
if (xml.Contains("<soap:Fault>"))
throw new Exception(xml); // faultstring dice qué pasó
Console.WriteLine(xml);
var sobre = Path.of("peticion.xml");
var req = HttpRequest.newBuilder()
.uri(URI.create(
"https://api.datario.cl/soap/v1"))
.header("Authorization", "Bearer dtr_TU_KEY")
.header("Content-Type",
"text/xml; charset=utf-8")
.POST(BodyPublishers.ofFile(sobre))
.build();
var r = HttpClient.newHttpClient()
.send(req, BodyHandlers.ofString());
// 500 = fault: el faultstring dice qué pasó.
System.out.println(r.body());
Set Variable [ $accion ; Value:
"https://api.datario.cl/soap/v1/ObtenerFicha" ]
Insert from URL [ Select ; With dialog: Off ; Target: $r ;
"https://api.datario.cl/soap/v1" ; cURL options:
"-X POST" &
" -H \"Authorization: Bearer dtr_TU_KEY\"" &
" -H \"Content-Type: text/xml\"" &
" -H \"SOAPAction: " & $accion & "\"" &
" -D @peticion.xml" ]
# 500 = fault: el faultstring dice qué pasó.
Show Custom Dialog [ $r ]
La respuesta
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ObtenerFichaResponse xmlns="https://api.datario.cl/soap/v1">
<ficha>
<rut>61704000-K</rut>
<rut_formateado>61.704.000-K</rut_formateado>
<es_empresa>true</es_empresa>
<fuente>Nóminas públicas de contribuyentes, SII</fuente>
<padron_publicado>2026-08-05T15:36:37+00:00</padron_publicado>
<consultado_en>2026-08-29T04:12:07+00:00</consultado_en>
<razon_social>CORP NACIONAL DEL COBRE DE CHILE</razon_social>
<actividades>
<actividad>
<codigo>40000</codigo>
<descripcion>EXTRACCION Y PROCESAMIENTO DE COBRE</descripcion>
<afecta_iva>true</afecta_iva>
<desde>1993-01-01</desde>
</actividad>
<actividad>
<codigo>351020</codigo>
<descripcion>TRANSMISION DE ENERGIA ELECTRICA</descripcion>
<afecta_iva>true</afecta_iva>
<desde>2012-11-16</desde>
</actividad>
</actividades>
<domicilios>
<domicilio>
<tipo>matriz</tipo>
<direccion>HUERFANOS 1270</direccion>
<calle>HUERFANOS 1270</calle>
<numero/>
<departamento/>
<comuna>SANTIAGO</comuna>
<ciudad/>
<region>XIII REGION METROPOLITANA</region>
<bloque/>
<villa/>
<vigente_desde>2007-03-27</vigente_desde>
</domicilio>
<domicilio>
<tipo>sucursal</tipo>
<direccion>AV. LA MONTANA 1550</direccion>
<calle>AV. LA MONTANA</calle>
<numero>1550</numero>
<departamento/>
<comuna>LAMPA</comuna>
<ciudad>SANTIAGO</ciudad>
<region>XIII REGION METROPOLITANA</region>
<bloque/>
<villa>VALLE GRANDE</villa>
<vigente_desde>2012-03-20</vigente_desde>
</domicilio>
</domicilios>
<casilla_intercambio/>
<tipo_sociedad>INSTITUCIONES FISCALES</tipo_sociedad>
<subtipo_sociedad>ORG. ADMINISTRACION PUBLICA</subtipo_sociedad>
<cod_subtipo>517</cod_subtipo>
<inicio_actividades>1993-01-01</inicio_actividades>
<tamano>
<anio_comercial>2024</anio_comercial>
<tramo_ventas>
<codigo>13</codigo>
<descripcion>4to Rango Gran Empresa</descripcion>
<desde_uf>1000000.01</desde_uf>
</tramo_ventas>
<trabajadores>16946</trabajadores>
<regimen>
<codigo>no14</codigo>
<descripcion>CONTRIBUYENTES NO SUJETOS AL ARTICULO 14</descripcion>
</regimen>
<renta_presunta>false</renta_presunta>
<rubro>
<codigo>B</codigo>
<descripcion>EXPLOTACION DE MINAS Y CANTERAS</descripcion>
</rubro>
<subrubro>EXTRACCION Y PROCESAMIENTO DE COBRE</subrubro>
<actividad_principal>40000</actividad_principal>
<primera_inscripcion>1993-01-01</primera_inscripcion>
<comuna>SANTIAGO</comuna>
</tamano>
<gran_contribuyente>true</gran_contribuyente>
<grupo_economico>39</grupo_economico>
</ficha>
</ObtenerFichaResponse>
</soap:Body>
</soap:Envelope>
POST /soap/v1
ObtenerActividades — Solo las actividades
Los giros y su afectación de IVA, sin domicilios ni casilla. Útil cuando lo único que necesitas decidir es qué documento tributario corresponde.
El RUT está en el padrón. Descuenta una consulta.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="https://api.datario.cl/soap/v1">
<soapenv:Header/>
<soapenv:Body>
<tns:ObtenerActividades>
<tns:rut>61.704.000-K</tns:rut>
</tns:ObtenerActividades>
</soapenv:Body>
</soapenv:Envelope>
curl -s -i https://api.datario.cl/soap/v1 \
-H "Authorization: Bearer dtr_TU_KEY" \
-H "Content-Type: text/xml; charset=utf-8" \
--data-binary @peticion.xml
import requests
sobre = open("peticion.xml", "rb").read()
r = requests.post(
"https://api.datario.cl/soap/v1",
data=sobre,
headers={
"Authorization": "Bearer dtr_TU_KEY",
"Content-Type": "text/xml; charset=utf-8",
},
timeout=10,
)
if "<soap:Fault>" in r.text:
raise SystemExit(r.text) # faultstring dice qué pasó
print(r.text)
<?php
// SoapClient lee el WSDL y genera las operaciones solo.
$contexto = stream_context_create(["http" => [
"header" => "Authorization: Bearer dtr_TU_KEY",
]]);
$cliente = new SoapClient(
"https://api.datario.cl/soap/v1?wsdl",
["stream_context" => $contexto]
);
try {
$ficha = $cliente->ObtenerActividades([
"rut" => "61.704.000-K",
]);
print_r($ficha);
} catch (SoapFault $f) {
echo $f->faultcode . ": " . $f->faultstring;
}
using var http = new HttpClient();
http.DefaultRequestHeaders.Add(
"Authorization", "Bearer dtr_TU_KEY");
var sobre = new StringContent(
File.ReadAllText("peticion.xml"),
Encoding.UTF8, "text/xml");
var r = await http.PostAsync(
"https://api.datario.cl/soap/v1", sobre);
var xml = await r.Content.ReadAsStringAsync();
if (xml.Contains("<soap:Fault>"))
throw new Exception(xml); // faultstring dice qué pasó
Console.WriteLine(xml);
var sobre = Path.of("peticion.xml");
var req = HttpRequest.newBuilder()
.uri(URI.create(
"https://api.datario.cl/soap/v1"))
.header("Authorization", "Bearer dtr_TU_KEY")
.header("Content-Type",
"text/xml; charset=utf-8")
.POST(BodyPublishers.ofFile(sobre))
.build();
var r = HttpClient.newHttpClient()
.send(req, BodyHandlers.ofString());
// 500 = fault: el faultstring dice qué pasó.
System.out.println(r.body());
Set Variable [ $accion ; Value:
"https://api.datario.cl/soap/v1/ObtenerActividades" ]
Insert from URL [ Select ; With dialog: Off ; Target: $r ;
"https://api.datario.cl/soap/v1" ; cURL options:
"-X POST" &
" -H \"Authorization: Bearer dtr_TU_KEY\"" &
" -H \"Content-Type: text/xml\"" &
" -H \"SOAPAction: " & $accion & "\"" &
" -D @peticion.xml" ]
# 500 = fault: el faultstring dice qué pasó.
Show Custom Dialog [ $r ]
La respuesta
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ObtenerActividadesResponse xmlns="https://api.datario.cl/soap/v1">
<ficha>
<rut>61704000-K</rut>
<rut_formateado>61.704.000-K</rut_formateado>
<es_empresa>true</es_empresa>
<fuente>Nóminas públicas de contribuyentes, SII</fuente>
<padron_publicado>2026-08-05T15:36:37+00:00</padron_publicado>
<consultado_en>2026-08-29T04:12:07+00:00</consultado_en>
<actividades>
<actividad>
<codigo>40000</codigo>
<descripcion>EXTRACCION Y PROCESAMIENTO DE COBRE</descripcion>
<afecta_iva>true</afecta_iva>
<desde>1993-01-01</desde>
</actividad>
<actividad>
<codigo>351020</codigo>
<descripcion>TRANSMISION DE ENERGIA ELECTRICA</descripcion>
<afecta_iva>true</afecta_iva>
<desde>2012-11-16</desde>
</actividad>
</actividades>
</ficha>
</ObtenerActividadesResponse>
</soap:Body>
</soap:Envelope>
POST /soap/v1
ObtenerDomicilios — Solo los domicilios
Casa matriz y sucursales, con comuna y región. Útil para autocompletar una dirección o para saber dónde opera un proveedor.
El RUT está en el padrón. Descuenta una consulta.
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="https://api.datario.cl/soap/v1">
<soapenv:Header/>
<soapenv:Body>
<tns:ObtenerDomicilios>
<tns:rut>61.704.000-K</tns:rut>
</tns:ObtenerDomicilios>
</soapenv:Body>
</soapenv:Envelope>
curl -s -i https://api.datario.cl/soap/v1 \
-H "Authorization: Bearer dtr_TU_KEY" \
-H "Content-Type: text/xml; charset=utf-8" \
--data-binary @peticion.xml
import requests
sobre = open("peticion.xml", "rb").read()
r = requests.post(
"https://api.datario.cl/soap/v1",
data=sobre,
headers={
"Authorization": "Bearer dtr_TU_KEY",
"Content-Type": "text/xml; charset=utf-8",
},
timeout=10,
)
if "<soap:Fault>" in r.text:
raise SystemExit(r.text) # faultstring dice qué pasó
print(r.text)
<?php
// SoapClient lee el WSDL y genera las operaciones solo.
$contexto = stream_context_create(["http" => [
"header" => "Authorization: Bearer dtr_TU_KEY",
]]);
$cliente = new SoapClient(
"https://api.datario.cl/soap/v1?wsdl",
["stream_context" => $contexto]
);
try {
$ficha = $cliente->ObtenerDomicilios([
"rut" => "61.704.000-K",
]);
print_r($ficha);
} catch (SoapFault $f) {
echo $f->faultcode . ": " . $f->faultstring;
}
using var http = new HttpClient();
http.DefaultRequestHeaders.Add(
"Authorization", "Bearer dtr_TU_KEY");
var sobre = new StringContent(
File.ReadAllText("peticion.xml"),
Encoding.UTF8, "text/xml");
var r = await http.PostAsync(
"https://api.datario.cl/soap/v1", sobre);
var xml = await r.Content.ReadAsStringAsync();
if (xml.Contains("<soap:Fault>"))
throw new Exception(xml); // faultstring dice qué pasó
Console.WriteLine(xml);
var sobre = Path.of("peticion.xml");
var req = HttpRequest.newBuilder()
.uri(URI.create(
"https://api.datario.cl/soap/v1"))
.header("Authorization", "Bearer dtr_TU_KEY")
.header("Content-Type",
"text/xml; charset=utf-8")
.POST(BodyPublishers.ofFile(sobre))
.build();
var r = HttpClient.newHttpClient()
.send(req, BodyHandlers.ofString());
// 500 = fault: el faultstring dice qué pasó.
System.out.println(r.body());
Set Variable [ $accion ; Value:
"https://api.datario.cl/soap/v1/ObtenerDomicilios" ]
Insert from URL [ Select ; With dialog: Off ; Target: $r ;
"https://api.datario.cl/soap/v1" ; cURL options:
"-X POST" &
" -H \"Authorization: Bearer dtr_TU_KEY\"" &
" -H \"Content-Type: text/xml\"" &
" -H \"SOAPAction: " & $accion & "\"" &
" -D @peticion.xml" ]
# 500 = fault: el faultstring dice qué pasó.
Show Custom Dialog [ $r ]
La respuesta
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ObtenerDomiciliosResponse xmlns="https://api.datario.cl/soap/v1">
<ficha>
<rut>61704000-K</rut>
<rut_formateado>61.704.000-K</rut_formateado>
<es_empresa>true</es_empresa>
<fuente>Nóminas públicas de contribuyentes, SII</fuente>
<padron_publicado>2026-08-05T15:36:37+00:00</padron_publicado>
<consultado_en>2026-08-29T04:12:07+00:00</consultado_en>
<domicilios>
<domicilio>
<tipo>matriz</tipo>
<direccion>HUERFANOS 1270</direccion>
<calle>HUERFANOS 1270</calle>
<numero/>
<departamento/>
<comuna>SANTIAGO</comuna>
<ciudad/>
<region>XIII REGION METROPOLITANA</region>
<bloque/>
<villa/>
<vigente_desde>2007-03-27</vigente_desde>
</domicilio>
<domicilio>
<tipo>sucursal</tipo>
<direccion>AV. LA MONTANA 1550</direccion>
<calle>AV. LA MONTANA</calle>
<numero>1550</numero>
<departamento/>
<comuna>LAMPA</comuna>
<ciudad>SANTIAGO</ciudad>
<region>XIII REGION METROPOLITANA</region>
<bloque/>
<villa>VALLE GRANDE</villa>
<vigente_desde>2012-03-20</vigente_desde>
</domicilio>
</domicilios>
</ficha>
</ObtenerDomiciliosResponse>
</soap:Body>
</soap:Envelope>
Probar en la consola Este producto por REST Este producto por GraphQL Este producto por MCP Qué es Consulta de RUT