Economic indexes behind one stable contract. Ask by code, get a coefficient between two dates, and multiply your amount by it. The full contract is at /openapi.json.
| Code | Name | Type | Frequency |
|---|---|---|---|
ICL | Índice para Contratos de Locación | index | daily |
UVA | Unidad de Valor Adquisitivo | index | daily |
UVI | Unidad de Vivienda | index | daily |
INFLATION | Inflación mensual | monthlyRate | monthly |
USD_RETAIL | Dólar minorista (promedio vendedor) | index | daily |
USD_WHOLESALE | Dólar mayorista de referencia | index | daily |
GET /api/v1/indexes returns this list with each index's last published date. Always read the list from there instead of copying it.
GET /api/v1/indexes/ICL/coefficient?from=2026-01-01&to=2026-04-01
{ "from": "2026-01-01", "to": "2026-04-01",
"coefficient": 1.08123456, "rate": 0.08123456,
"status": "actual", "interpolated": false }
Build your periods and send them in one call. For rent periods, to is the start of the next period. A period with no data has status: "no_data" and doesn't fail the others.
POST /api/v1/indexes/ICL/coefficients
{ "periods": [{ "from": "2026-01-01", "to": "2026-04-01" },
{ "from": "2026-04-01", "to": "2026-07-01" }],
"estimate": true }
GET /api/v1/indexes/ICL/values?from=2026-01-01&to=2026-01-31
interpolated: true.index): the value at to divided by the value at from.monthlyRate): multiplies 1 + rate / 100 for each month that closes after from and on or before to.no_data, unless you send estimate: true. That uses the published change and then the daily change of the last 90 days, with status: "estimated".Errors use real HTTP codes and one format: { "error": { "code", "message", "field" } }.
| Code | HTTP |
|---|---|
invalid_request, invalid_range | 400 |
unknown_index | 404 |
no_data | 422 |
rate_limited | 429 |
source_unavailable | 503 |
Open, with a limit per IP. Services that send many users from one IP can use an X-Api-Key header for a higher limit. Browsers can only call it from allowed sites.