🚀 Comenzar
Esta API es pública y no requiere API key ni tokens de autenticación.
Características
Datos en Tiempo Real
Scraping automático de datos oficiales desde Previred.com
Cache Inteligente
Cache de 5 minutos para respuestas rápidas y eficientes
Actualización Manual
Fuerza la actualización con el parámetro ?refresh=true
Formato JSON
Respuestas estructuradas en formato JSON estándar
📊 Indicadores Soportados
🔗 Endpoints
Retorna todos los indicadores previsionales disponibles en una sola llamada.
Parámetros de Query
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| refresh | boolean | Opcional | Forzar actualización ignorando cache |
Ejemplo de Request
curl -X GET "https://victorcabrera.cl/apis/indicadores-previsionales/v1/" \ -H "Content-Type: application/json"
Retorna el valor actual y anterior de la Unidad de Fomento (UF).
curl "https://victorcabrera.cl/apis/indicadores-previsionales/v1/uf"
Retorna el valor de la Unidad Tributaria Mensual (UTM).
curl "https://victorcabrera.cl/apis/indicadores-previsionales/v1/utm"
Retorna la tasa del Seguro de Invalidez y Sobrevivencia (SIS).
curl "https://victorcabrera.cl/apis/indicadores-previsionales/v1/sis"
Retorna los datos de todas las AFP activas incluyendo código, cotización y comisión.
AFP Disponibles
| AFP | Código Super | Cotización | Comisión |
|---|---|---|---|
| Capital | 401 | 10% | 1.44% |
| Cuprum | 402 | 10% | 1.44% |
| Habitat | 403 | 10% | 1.27% |
| PlanVital | 404 | 10% | 1.16% |
| ProVida | 405 | 10% | 1.45% |
| Modelo | 406 | 10% | 0.58% |
| Uno | 407 | 10% | 0.46% |
Retorna los tramos del Impuesto Único expresados en UTM según normativa del SII.
Retorna los valores de asignación familiar por tramos de renta (A, B, C, D).
Tramos de Asignación
| Tramo | Monto | Renta |
|---|---|---|
| A | $22,007 | Renta ≤ $620,251 |
| B | $13,505 | $620,252 - $905,941 |
| C | $4,267 | $905,942 - $1,412,957 |
| D | $0 | Renta > $1,412,957 |
Retorna los porcentajes del Seguro de Cesantía (AFC) por tipo de contrato.
Tipos de Contrato
| Tipo | Empleador | Trabajador |
|---|---|---|
| Plazo Indefinido | 2.4% | 0.6% |
| Plazo Fijo / Obra | 3.0% | 0% |
| Plazo Indefinido +11 años | 0.8% | 0% |
| Casa Particular | 3.0% | 0% |
Fuerza una actualización de todos los datos ignorando el cache actual.
curl -X POST "https://victorcabrera.cl/apis/indicadores-previsionales/v1/refresh"
💻 Ejemplos de Código
// Obtener todos los indicadores fetch('https://victorcabrera.cl/apis/indicadores-previsionales/v1/') .then(response => response.json()) .then(data => { console.log('UF:', data.data.UF); console.log('UTM:', data.data.UTM); console.log('AFP:', data.data.AFP); }); // Obtener solo UF const response = await fetch('https://victorcabrera.cl/apis/indicadores-previsionales/v1/uf'); const { data } = await response.json(); console.log(`UF Actual: $${data.UF.toLocaleString('es-CL')}`);
import requests # Obtener todos los indicadores response = requests.get('https://victorcabrera.cl/apis/indicadores-previsionales/v1/') data = response.json() print(f"UF: ${data['data']['UF']:,.2f}") print(f"UTM: ${data['data']['UTM']:,}") print(f"SIS: {data['data']['SIS']}%") # Obtener solo AFP afp_response = requests.get('https://victorcabrera.cl/apis/indicadores-previsionales/v1/afp') afp_data = afp_response.json() for nombre, info in afp_data['data']['AFP'].items(): print(f"{nombre}: Comisión {info['Comision']}%")
<?php // Obtener todos los indicadores $response = file_get_contents('https://victorcabrera.cl/apis/indicadores-previsionales/v1/'); $data = json_decode($response, true); echo "UF: $" . number_format($data['data']['UF'], 2, ',', '.'); echo "UTM: $" . number_format($data['data']['UTM'], 0, ',', '.'); // Con cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://victorcabrera.cl/apis/indicadores-previsionales/v1/uf'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $uf = json_decode($response, true); echo "UF Actual: $" . $uf['data']['UF']; ?>
📦 Formato de Respuesta
Respuesta Exitosa
{
"success": true,
"data": {
"periodo": "012026",
"SIS": 1.49,
"UF": 39597.67,
"UFAnterior": 39485.65,
"UTM": 69265,
"UTA": 831180,
"TopeImponibleAFP_UF": 87.8,
"TopeImponibleSC_UF": 131.9,
"TopeImponibleIPS_UF": 60,
"RentaMinima": 529000,
"ExpectativaVida": 0.9,
"AFP": { ... },
"impuestoUnico": { ... },
"asignacionFamiliar": { ... },
"seguroCesantia": { ... },
"timestamp": "2026-01-23T12:00:00.000Z",
"status": "success"
},
"version": "1.0.0",
"apiVersion": "v1",
"cache": {
"lastUpdate": "2026-01-23T12:00:00.000Z",
"source": "fresh"
}
}
Estructura de Datos AFP
{
"AFP": {
"Capital": {
"CodigoSuper": "401",
"Cotizacion": "10",
"Comision": "1.44"
},
"Cuprum": { ... },
"Habitat": { ... },
"PlanVital": { ... },
"ProVida": { ... },
"Modelo": { ... },
"Uno": { ... }
}
}
⚠️ Códigos de Error
Solicitud exitosa. Los datos se retornan en el cuerpo de la respuesta.
El endpoint solicitado no existe.
Error interno del servidor. Intenta nuevamente más tarde.
Respuesta de Error
{
"success": false,
"error": "Error interno del servidor",
"message": "Detalle específico del error",
"version": "1.0.0",
"apiVersion": "v1"
}