Developers

REST · ¿Cómo se llama la empresa que busco?

Búsqueda de empresas

Encuentra personas jurídicas por razón social, giro, comuna o región, con la forma correcta de un nombre mal escrito. 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.

GET /v1/empresas

Búsqueda de empresas

Encuentra personas jurídicas por razón social, giro, comuna o región — para cuando tienes el nombre y te falta el RUT. El texto se busca DENTRO de la razón social; con modo=empieza se busca al principio, que es mucho más rápido y ordena alfabéticamente. Cada página descuenta una consulta —cueste lo que cueste el camino— y la ficha completa de cada resultado se pide después por RUT. Si el texto parece mal escrito, sugerencia trae la forma que sí está en el padrón.

Parámetros

ParámetroTipoQué es
razon_socialstringTexto a buscar en la razón social, sin distinguir mayúsculas ni tildes. Mínimo 3 caracteres. Dónde se busca lo decide modo.
modostringcontiene (por defecto) busca el texto en cualquier parte de la razón social y ordena por parecido. empieza lo busca solo al principio, ordena alfabéticamente y responde mucho más rápido. Los dos paginan igual y cuestan lo mismo: una consulta por página.
actividadintegerCódigo numérico del giro (el mismo codigo de las actividades).
comunastringComuna de la casa matriz o de una sucursal, tal como la escribe el SII.
regionstringRegión del domicilio, tal como la escribe el SII.
limiteintegerResultados por página: 1 a 50. Por defecto 50.
paginastringEl pagina_siguiente de la respuesta anterior. Lleva los filtros adentro —modo y los tres de tamaño incluidos—: o no los repites, o los repites todos iguales.
tramo_minimointegerTramo de ventas mínimo, 1 a 13 (el tramo_ventas.codigo de la ficha), según el último año comercial publicado. Refina una búsqueda: solo no la define, y deja fuera a quien la nómina anual no trae.
trabajadores_minimointegerTrabajadores mínimos según el último año comercial publicado. Refina una búsqueda: solo no la define.
vigentesbooleantrue deja solo las empresas sin término de giro ante el SII. Refina una búsqueda: solo no la define.

Lo que devuelve

CampoTipoQué es
resultadosarrayLa página de coincidencias. Vacía si no hay: eso también es respuesta.
hay_masbooleantrue si quedan más resultados por pedir.
pagina_siguientestringPásalo tal cual en pagina para pedir la siguiente. null cuando no hay más. Lleva los filtros adentro: no los repitas distintos.
fuentestringDe dónde salen los datos de esta respuesta, en texto listo para citar («Nóminas públicas de contribuyentes, SII»). Es constante para esta llamada: guárdalo una vez y no lo parsees.
padron_publicadostringQué versión de los datos respondió. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.
consultado_enstringCuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.
sugerenciastringLa forma bien escrita del texto que buscaste, cuando el que mandaste parece tener un error de tipeo («FARMACIA» para «FARMASIA»); null si no hay ninguna. Puede venir aunque haya resultados. Se pide como una búsqueda nueva con ese razon_social, y esa página descuenta su consulta como cualquier otra.

Dentro de resultados

CampoTipoQué es
rutstringEl RUT, normalizado: con guion y sin puntos. Pide la ficha con él.
rut_formateadostringEl mismo RUT listo para mostrar.
razon_socialstringEl nombre legal, para que quien busca reconozca cuál es.
comunastringComuna de su casa matriz, para desempatar nombres parecidos.
regionstringRegión de su casa matriz.
tramo_ventasintegerEl tramo de ventas del último año comercial, 1 a 13 (la leyenda va en la ficha). null si la nómina anual no lo trae.
trabajadoresintegerLos trabajadores del último año comercial. null si la nómina anual no lo trae.

Cuándo responde cada cosa

  • 200 Hay página que devolver — también cuando viene vacía: «no hay coincidencias» es información. Descuenta una consulta.
  • 401 No mandaste el header, o no empieza con dtr_. No descuenta.
  • 401 La key viajó bien pero ya no sirve: la revocaste o la rotaste. No descuenta.
  • 422 Pediste la búsqueda sin ningún filtro. La API no lista el padrón entero. No descuenta.
  • 422 El texto es tan corto que calzaría con medio padrón. No se cobra: no hubo búsqueda. No descuenta.
  • 422 El texto pasa de cien caracteres, y ninguna razón social del padrón se acerca a esa cifra. No se cobra: no hubo búsqueda. No descuenta.
  • 422 El giro se filtra por su código (el mismo codigo de las actividades), no por texto. No descuenta.
  • 422 modo llegó con un valor que no es ninguno de los dos. No descuenta.
  • 422 El tramo mínimo no es un código de la leyenda del SII. No se cobra: no hubo búsqueda. No descuenta.
  • 422 El mínimo de trabajadores no es un entero. No se cobra: no hubo búsqueda. No descuenta.
  • 422 vigentes llegó con otra cosa: un si no se lee como verdadero en silencio. No descuenta.
  • 422 limite quedó fuera del rango publicado. No se cobra: no hubo búsqueda. No descuenta.
  • 422 El token de página llegó adulterado o incompleto. Se pide de nuevo desde la primera. No descuenta.
  • 422 Con pagina, los filtros van DENTRO del token. Idénticos se aceptan; distintos no. No descuenta.
  • 503 El padrón todavía no tiene datos que responder. Es excepcional: reintenta más tarde y, si sigue, mira el estado del servicio. No descuenta.
  • 503 La búsqueda superó su techo de tiempo. No descuenta. Pasa con un texto muy común: acótalo o agrega un filtro de giro, comuna o región. No descuenta.
  • 429 Fuiste más rápido que las consultas por minuto de tu plan. Retry-After dice cuánto esperar. No descuenta.
  • 402 Se agotaron las consultas del plan y no hay saldo de recargas. Las consultas se detienen hasta que renueven. No descuenta.
  • 402 Se agotaron las consultas del plan, hay saldo de recargas, y el interruptor «usar mi saldo automáticamente» está apagado. Nada se cobra. No descuenta.
curl -s -i -H "Authorization: Bearer dtr_TU_KEY" \
  https://api.datario.cl/v1/empresas?razon_social=cobre

Respuestas

200 · busqueda 200
{
  "resultados": [
    {
      "rut": "61704000-K",
      "rut_formateado": "61.704.000-K",
      "razon_social": "CORP NACIONAL DEL COBRE DE CHILE",
      "comuna": "SANTIAGO",
      "region": "XIII REGION METROPOLITANA",
      "tramo_ventas": 13,
      "trabajadores": 16946
    }
  ],
  "hay_mas": true,
  "pagina_siguiente": "eyJsciI6IjYxNzA0In0.q1w2e3",
  "fuente": "Nóminas públicas de contribuyentes, SII",
  "padron_publicado": "2026-08-05T15:36:37+00:00",
  "consultado_en": "2026-08-29T04:12:07+00:00",
  "sugerencia": null
}

Headers: X-RateLimit-Limit X-RateLimit-Remaining X-RateLimit-Reset X-Plan-Limit X-Plan-Remaining X-Plan-Reset X-Credits-Remaining

401 · api_key_invalida 401
{
  "error": "api_key_invalida",
  "detail": "Falta la API key: envíala en el header Authorization: Bearer dtr_…."
}
401 · api_key_invalida 401
{
  "error": "api_key_invalida",
  "detail": "La API key no existe o fue revocada."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "Indica al menos un filtro: razon_social, actividad, comuna o region."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "razon_social necesita al menos 3 caracteres."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "razon_social admite hasta 100 caracteres."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "actividad debe ser el código numérico del giro."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "modo debe ser contiene o empieza."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "tramo_minimo debe ser un entero entre 1 y 13."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "trabajadores_minimo debe ser un entero mayor o igual a 0."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "vigentes debe ser true o false."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "limite debe ser un entero entre 1 y 50."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "pagina no es válida: pide la primera página sin ese parámetro."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "pagina ya lleva los filtros: no los repitas distintos."
}
503 · padron_no_disponible 503
{
  "error": "padron_no_disponible",
  "detail": "El padrón aún no está cargado; intenta más tarde. Estado del servicio: https://status.datario.cl"
}
503 · busqueda_expirada 503
{
  "error": "busqueda_expirada",
  "detail": "La búsqueda tardó demasiado: acota el texto o agrega un filtro de giro, comuna o región. Si sigue fallando, mira https://status.datario.cl"
}
429 · limite_de_velocidad 429
{
  "error": "limite_de_velocidad",
  "detail": "Superaste las consultas por minuto de tu plan: X-RateLimit-Limit dice cuántas y Retry-After cuánto esperar."
}

Headers: X-RateLimit-Limit X-RateLimit-Remaining X-RateLimit-Reset Retry-After

402 · sin_saldo 402
{
  "error": "sin_saldo",
  "detail": "Se acabaron las consultas de tu plan y no te queda saldo. Renuevan el día que tu plan cumple el mes (X-Plan-Reset); para seguir ahora, recarga saldo (no vence) en https://datario.cl/panel/packs, o contrata el plan de ese mismo volumen en https://datario.cl/panel/planes, que sale más barato por consulta"
}

Headers: X-RateLimit-Limit X-RateLimit-Remaining X-RateLimit-Reset

402 · saldo_protegido 402
{
  "error": "saldo_protegido",
  "detail": "Las consultas del plan no alcanzan y tu saldo está protegido (pediste no gastarlo automáticamente): actívalo en https://datario.cl/panel/configuracion/avisos o renueva tu plan"
}

Headers: X-RateLimit-Limit X-RateLimit-Remaining X-RateLimit-Reset

Probar en la consola Este producto por SOAP Este producto por GraphQL Este producto por MCP Qué es Búsqueda de empresas