# Indicadores

> UF, dólar, euro, IPC y UTM del almacén de referencia: tres tools gratis, sin conexión, y un canal público para probar sin cuenta.



El conector `indicadores` sirve los cinco indicadores económicos chilenos de uso diario: UF, dólar observado, euro, IPC (variación mensual, en porcentaje) y UTM. Es un conector de datos de referencia: los valores son idénticos para todas las organizaciones, no hay nada que conectar (sus tools se llaman sin `connectionId`) y su uso es gratis. Por eso el [quickstart](/docs/empezar/primera-llamada) parte por aquí: da un dato real de entrada, sin configurar nada.

Las tools leen el almacén de referencia de Connect, refrescado a diario; ninguna consulta una fuente externa en tiempo real (ver «De dónde salen los datos», al final).

## El último valor: `indicadores.valor.actual` [#el-último-valor-indicadoresvaloractual]

```bash
curl -X POST https://connect.emisso.ai/api/v1/tools/indicadores.valor.actual/execute \
  -H "Authorization: Bearer connect_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"input":{"codigo":"UF"}}'
```

```json
{
  "data": { "codigo": "UF", "fecha": "2026-08-10", "valor": 40846.11, "unidad": "CLP", "antiguedadDias": -1 },
  "meta": { "request_id": "req_...", "tool_id": "indicadores.valor.actual", "plane": "action" }
}
```

«Último disponible» no es lo mismo que «el de hoy», y `antiguedadDias` existe para que no tengas que compararlo contra tu propio reloj: son los días entre `fecha` y hoy en `America/Santiago`. Cero significa que el valor es de hoy; negativo, que está fechado en el futuro, lo que es normal en la UF y la UTM porque se publican por adelantado. En el ejemplo, `-1`: el valor devuelto es el de mañana.

Un positivo **no se lee igual en los cinco indicadores**, y confundir los dos regímenes hace ver caídas donde no las hay. En los **diarios** (`UF`, `DOLAR`, `EURO`) hay un dato por día, así que un positivo sí dice que la fuente está atrasada esa cantidad de días: uno o dos sobre un fin de semana o un feriado es normal, de ahí para arriba amerita mirar. En los **mensuales** (`IPC`, `UTM`) hay un dato por mes y se fecha el día 1, así que `antiguedadDias` crece a lo largo del mes hasta \~31 sin que pase nada; el IPC suma además su rezago de publicación (el de un mes cerrado sale a comienzos del siguiente), y por eso ronda los 60 en su estado normal: consultado el 1 de septiembre de 2026 devuelve `fecha: 2026-07-01` con `antiguedadDias: 62`. Fija tu umbral por indicador, nunca uno solo para los cinco, antes de calcular plata con el número.

Si lo que necesitas es el valor de hoy, y no el último publicado, pide `indicadores.valor.consultar` con la fecha de hoy.

## El valor a una fecha: `indicadores.valor.consultar` [#el-valor-a-una-fecha-indicadoresvalorconsultar]

```bash
curl -X POST https://connect.emisso.ai/api/v1/tools/indicadores.valor.consultar/execute \
  -H "Authorization: Bearer connect_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"input":{"codigo":"DOLAR","fecha":"2026-08-02"}}'
```

```json
{
  "data": {
    "codigo": "DOLAR",
    "fecha": "2026-07-31",
    "valor": 924.78,
    "unidad": "CLP",
    "fechaSolicitada": "2026-08-02",
    "esArrastre": true
  },
  "meta": { "request_id": "req_...", "tool_id": "indicadores.valor.consultar", "plane": "action" }
}
```

Esta tool responde con arrastre: si la fecha pedida no tiene dato propio (un fin de semana, un feriado, o una fuente que no se ha actualizado), devuelve el último valor anterior. Por eso `fecha` puede diferir de `fechaSolicitada`, y `esArrastre` te dice cuándo pasó: `false` significa que ese día tiene dato propio; `true`, que el valor viene de la `fecha` devuelta, que es anterior. En el ejemplo, el 2 de agosto de 2026 es domingo y el valor viene arrastrado del viernes. Pedir una fecha futura devuelve el último valor conocido con `esArrastre: true`, no un error. Un arrastre de un día sobre un fin de semana es normal; uno de tres semanas significa que la fuente está caída.

## La serie histórica: `indicadores.serie.consultar` [#la-serie-histórica-indicadoresserieconsultar]

```bash
curl -X POST https://connect.emisso.ai/api/v1/tools/indicadores.serie.consultar/execute \
  -H "Authorization: Bearer connect_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"input":{"codigo":"UF","desde":"2026-08-10","hasta":"2026-08-12"}}'
```

```json
{
  "data": {
    "codigo": "UF",
    "unidad": "CLP",
    "valores": [
      { "fecha": "2026-08-10", "valor": 40846.11 },
      { "fecha": "2026-08-11", "valor": 40847.42 },
      { "fecha": "2026-08-12", "valor": 40848.74 }
    ]
  },
  "meta": { "request_id": "req_...", "tool_id": "indicadores.serie.consultar", "plane": "action" }
}
```

La serie sale en orden ascendente y acotada por `limite`, con tope duro de 1000 puntos. Los indicadores mensuales (IPC y UTM) traen un punto por mes, normalizado al primer día del mes.

## El canal público, sin API key [#el-canal-público-sin-api-key]

Para probar sin cuenta, los mismos datos responden en una ruta pública anónima:

```bash
curl https://connect.emisso.ai/public/v1/indicadores/UF
```

```json
{ "data": { "codigo": "UF", "fecha": "2026-09-29", "valor": 41049.01, "unidad": "CLP" } }
```

Sin `fecha`, la ruta responde el valor **vigente hoy** en `America/Santiago`, no el último publicado. En el ejemplo, consultado el 29 de septiembre de 2026, devuelve la UF de ese día aunque el almacén ya tenía la del 9 de octubre: la UF y la UTM se publican por adelantado. En el dólar, el euro y el IPC, que nunca vienen fechados en el futuro, el vigente hoy es el último publicado, con el mismo arrastre de fines de semana y feriados. Si quieres los valores ya publicados hacia adelante, pídelos con la serie.

```bash
curl "https://connect.emisso.ai/public/v1/indicadores/UF/serie?desde=2026-08-10&hasta=2026-08-12"
```

```json
{
  "data": {
    "codigo": "UF",
    "unidad": "CLP",
    "valores": [
      { "fecha": "2026-08-10", "valor": 40846.11 },
      { "fecha": "2026-08-11", "valor": 40847.42 },
      { "fecha": "2026-08-12", "valor": 40848.74 }
    ]
  }
}
```

La primera ruta acepta `?fecha=AAAA-MM-DD` para el valor a una fecha, con el mismo arrastre que `indicadores.valor.consultar`: la `fecha` de la respuesta es la del dato entregado, y si no coincide con la que pediste, el valor viene arrastrado; la serie exige `desde` y `hasta`, y acepta `limite` (1 a 1000). El payload es la forma desnuda `{codigo, fecha, valor, unidad}`: los campos de frescura (`antiguedadDias`, `esArrastre`, `fechaSolicitada`) son de las tools autenticadas.

<Callout type="info" title="El canal público no deja fila de bitácora">
  Está pensado para probar y para páginas que solo muestran el valor. Con API key, en cambio, cada llamada a estas tools queda en la bitácora como cualquier otra, sin costo. Las respuestas públicas se cachean en el CDN hasta una hora, así que tras el refresco diario, o pasada la medianoche de Chile, el valor nuevo puede tardar ese margen en verse.
</Callout>

## De dónde salen los datos [#de-dónde-salen-los-datos]

Del sitio de estadísticas del Banco Central de Chile (`si3.bcentral.cl`). Un job programado los refresca una vez al día (a las 12:00 UTC) y guarda solo lo que cambió. El histórico viene de una semilla committeada en el repositorio, cinco años hacia atrás (valores desde 2021); desde ahí el job diario mantiene la serie al día, sin raspar la historia a demanda.

## Próximos pasos [#próximos-pasos]

* El recorrido completo de la primera llamada, con SDK y MCP: [Tu primera llamada](/docs/empezar/primera-llamada).
* Las tres tools y su contrato: [referencia de `indicadores`](/docs/referencia/indicadores).
* Para que tu agente las use: [el servidor MCP](/docs/agentes/mcp). No hay nada que conectar de este sistema en particular; se enchufa Connect entero y estas tools quedan disponibles de inmediato, sin `connectionId`.
* Cuando necesites datos de una empresa y no de referencia: [los sistemas conectables](/docs/sistemas).
