Developers

REST · ¿Qué cambió y cuándo?

Cambios e historial

Cada cambio de razón social, giro, domicilio o casilla, con cómo era antes y cómo quedó, por RUT o por publicación. 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/rut/{rut}/historial

Historial de un RUT

Qué cambió de ESTE RUT en el padrón y cuándo, del cambio más reciente al más antiguo: razón social, clasificación, giros, domicilios y casilla, cada uno con cómo era antes y cómo quedó. Personas con giro incluidas —por su RUT y solo así—, y también el RUT que ya salió del padrón: tiene historial y no ficha. La lista vacía también es respuesta: no cambió.

Lo que devuelve

CampoTipoQué es
rutstringEl RUT que consultaste, normalizado: con guion y sin puntos.
rut_formateadostringEl mismo RUT listo para mostrar: con puntos y guion.
es_empresabooleantrue si el RUT es de una empresa y false si es de una persona. Sirve para decidir qué pedirle a quien se está registrando.
cambiosarrayLos cambios del RUT, del más reciente al más antiguo. Vacía si no cambió desde historial_desde: eso también es respuesta.
historial_desdestringDesde cuándo hay historial que contar. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. null mientras ninguna publicación del SII se haya comparado con otra.
fuentestringDe dónde salen los datos de esta respuesta, en texto listo para citar («Padrón del SII, comparado publicación a publicación por Datario»). Es constante para esta llamada: guárdalo una vez y no lo parsees.
publicadostringDe cuándo son las nóminas vigentes del padrón. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. La publicación en que apareció cada cambio va dentro del cambio.
consultado_enstringCuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.

Dentro de cambios

CampoTipoQué es
publicadostringLa publicación del SII en que apareció el cambio. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. Es la fecha con la que se pagina y se filtra.
aspectostringQué parte de la ficha cambió: contribuyente, domicilios, actividades, casilla. contribuyente es la razón social, la clasificación de sociedad, el inicio de actividades y el término de giro; los otros tres, sus listas y la casilla.
tipostringalta, baja, cambio: apareció, desapareció o cambió. Un RUT que sale del padrón es una baja de contribuyente.
camposarrayEn un cambio de contribuyente, qué campos difieren entre antes y despues (razon_social, cod_subtipo, inicio_actividades, termino_giro). null en los demás: un alta o una baja no tienen qué comparar, y los otros aspectos son listas.
antesobject|arrayCómo era, con la forma que ese aspecto tiene en la ficha: un objeto para contribuyente y casilla, la lista completa para domicilios y actividades. null en un alta.
despuesobject|arrayCómo quedó, con la misma forma. null en una baja.

Cuándo responde cada cosa

  • 200 El RUT está en el padrón o tuvo cambios. Descuenta una consulta, también con la lista vacía: «no cambió» 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 El dígito verificador no corresponde al cuerpo. No se cobra: no hubo consulta. No descuenta.
  • 422 No tiene forma de RUT: cuerpo fuera de 7-8 dígitos, o los ocho caracteres sin guion, que son ambiguos. 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.
  • 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.
  • 404 RUT con dígito verificador correcto que no está en el padrón y nunca tuvo cambios. Descuenta una consulta: buscarlo fue el trabajo. Descuenta una consulta.
curl -s -i -H "Authorization: Bearer dtr_TU_KEY" \
  https://api.datario.cl/v1/rut/61.704.000-K/historial

Respuestas

200 · historial 200
{
  "rut": "61704000-K",
  "rut_formateado": "61.704.000-K",
  "es_empresa": true,
  "cambios": [],
  "historial_desde": null,
  "fuente": "Padrón del SII, comparado publicación a publicación por Datario",
  "publicado": "2026-08-05T15:36:37+00:00",
  "consultado_en": "2026-08-29T04:12:07+00:00"
}

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 · rut_invalido 422
{
  "error": "rut_invalido",
  "detail": "El RUT no es válido: revisa el dígito verificador."
}
422 · rut_invalido 422
{
  "error": "rut_invalido",
  "detail": "Eso no parece un RUT: son 7 u 8 dígitos más el verificador."
}
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"
}
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

404 · rut_no_registrado 404
{
  "error": "rut_no_registrado",
  "detail": "El SII no registra datos para 12345678-5."
}

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

GET /v1/cambios

Cambios del padrón

Todos los cambios de las personas jurídicas entre dos días, en el orden en que el SII los publicó: para actualizar tu base con lo que cambió, no con el padrón entero. Como se paga por cambio devuelto, desde es obligatorio. Con filtros por tipo, aspecto, campo, comuna, región o giro; cada página se lee hasta donde tu plan y tu saldo alcanzan.

Parámetros

ParámetroTipoQué es
desdestringObligatorio. El primer día, inclusive, en hora de Chile. ISO 8601 solo fecha (1993-01-01), sin hora ni zona.
hastastringEl último día, inclusive. Por defecto hoy. ISO 8601 solo fecha (1993-01-01), sin hora ni zona.
tipostringSolo un tipo: alta, baja, cambio.
aspectostringSolo una parte de la ficha: contribuyente, domicilios, actividades, casilla.
campostringSolo los cambios de contribuyente en que ese campo difiere: razon_social, cod_subtipo, inicio_actividades, termino_giro.
comunastringSolo RUT con casa matriz o sucursal en esa comuna hoy, tal como la escribe el SII.
regionstringSolo RUT con domicilio en esa región hoy.
actividadintegerSolo RUT con ese giro hoy (el codigo de las actividades).
limiteintegerCambios por página: 1 a 100. Por defecto 100. Si tu plan y tu saldo no alcanzan para tantos, la página trae lo que alcanza y hay_mas dice que sigue.
paginastringEl pagina_siguiente de la respuesta anterior. Lleva los filtros adentro: o no los repites, o los repites todos iguales.

Lo que devuelve

CampoTipoQué es
cambiosarrayLa página de cambios, del más antiguo al más reciente. Vacía si nada cambió en esos días: eso también es respuesta, y descuenta una.
hay_masbooleantrue si quedan más cambios 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 («Padrón del SII, comparado publicación a publicación por Datario»). Es constante para esta llamada: guárdalo una vez y no lo parsees.
publicadostringDe cuándo son las nóminas vigentes del padrón. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. La publicación en que apareció cada cambio va dentro del cambio.
consultado_enstringCuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.

Dentro de cambios

CampoTipoQué es
rutstringEl RUT que cambió, normalizado. Pide su ficha o su historial con él.
rut_formateadostringEl mismo RUT listo para mostrar.
razon_socialstringSu nombre legal hoy según el padrón; en una baja, el que tenía.
publicadostringLa publicación del SII en que apareció el cambio. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. Es la fecha con la que se pagina y se filtra.
aspectostringQué parte de la ficha cambió: contribuyente, domicilios, actividades, casilla. contribuyente es la razón social, la clasificación de sociedad, el inicio de actividades y el término de giro; los otros tres, sus listas y la casilla.
tipostringalta, baja, cambio: apareció, desapareció o cambió. Un RUT que sale del padrón es una baja de contribuyente.
camposarrayEn un cambio de contribuyente, qué campos difieren entre antes y despues (razon_social, cod_subtipo, inicio_actividades, termino_giro). null en los demás: un alta o una baja no tienen qué comparar, y los otros aspectos son listas.
antesobject|arrayCómo era, con la forma que ese aspecto tiene en la ficha: un objeto para contribuyente y casilla, la lista completa para domicilios y actividades. null en un alta.
despuesobject|arrayCómo quedó, con la misma forma. null en una baja.

Cuándo responde cada cosa

  • 200 Hay página que devolver — también la vacía, que descuenta una. Con cambios, descuenta uno por cada uno. 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 Faltó desde. Cada cambio devuelto descuenta una consulta, y sin un día de partida una página podría traer meses. No se cobra. No descuenta.
  • 422 hasta no es un día ISO. No se cobra. No descuenta.
  • 422 Los dos días están al revés. No se cobra. No descuenta.
  • 422 tipo no es una de las tres palabras de la tabla. No se cobra. No descuenta.
  • 422 aspecto no es una de las cuatro partes de la ficha. No se cobra. No descuenta.
  • 422 campo no es un campo de contribuyente. No se cobra. No descuenta.
  • 422 campo vino con otro aspecto: solo contribuyente tiene campos que comparar. No se cobra. No descuenta.
  • 422 El giro se filtra por su código (el mismo codigo de las actividades), no por texto. No descuenta.
  • 422 limite quedó fuera del rango publicado. No se cobra: no hubo lectura. 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 enumeración tardó más que su techo de tiempo: pasa con muchos días y un filtro por comuna o giro sobre una publicación grande. No se cobra. Acota desde y hasta, o pide menos por página. 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/cambios?desde=2026-08-01

Respuestas

200 · cambios 200
{
  "cambios": [],
  "hay_mas": false,
  "pagina_siguiente": null,
  "fuente": "Padrón del SII, comparado publicación a publicación por Datario",
  "publicado": "2026-08-05T15:36:37+00:00",
  "consultado_en": "2026-08-29T04:12:07+00:00"
}

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 desde: el día desde el que quieres los cambios (YYYY-MM-DD)."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "hasta debe ser un día en formato YYYY-MM-DD."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "hasta no puede ser anterior a desde."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "tipo debe ser alta, baja o cambio."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "aspecto debe ser contribuyente, domicilios, actividades o casilla."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "campo debe ser razon_social, cod_subtipo, inicio_actividades o termino_giro."
}
422 · parametros_invalidos 422
{
  "error": "parametros_invalidos",
  "detail": "campo solo aplica al aspecto contribuyente."
}
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": "limite debe ser un entero entre 1 y 100."
}
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 · lectura_expirada 503
{
  "error": "lectura_expirada",
  "detail": "La lectura tardó demasiado: acota los días o agrega un filtro de aspecto, tipo, comuna o región. Si sigue fallando, mira https://status.datario.cl"
}

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

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 Cambios e historial