---
title: "IGAC Property Price Statistics"
method: POST
path: "/co/igac-transactions/price-statistics/v1"
tags: ["Colombia", "IGAC Property Transactions"]
---

# IGAC Property Price Statistics

`POST /co/igac-transactions/price-statistics/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/igac-transactions/price-statistics/v1`
- Auth: HTTP bearer

Declared values of the property acts registered in one Colombian municipality (`municipality_code`, DANE), per filing year (2015-2023), zone (`urban`/`rural`) and act: how many acts declared a value above zero, and their median, mean, lowest, highest and sum in pesos. Act `125` (compraventa) gives the median sale price written in deeds. Optionally one `act_code`, one `zone` and a `year_from`/`year_to` range. Prefer the median: a few acts declare whole-portfolio amounts. Served by Croma.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `municipality_code` string, required: Five-digit DANE code of the municipality, e.g. `17013` for Aguadas or `52001` for Pasto.
  - `act_code` integer: Optional code of the registered act (naturaleza jurídica), e.g. `125` compraventa, `219` hipoteca abierta, `843` cancelación por voluntad de las partes. 0 means every act.
  - `zone` '' | 'urban' | 'rural': Optional: `urban` or `rural`.
  - `year_from` integer: Optional first year of filing (radicación) to include, e.g. `2020`. 0 means no lower bound.
  - `year_to` integer: Optional last year of filing (radicación) to include, e.g. `2023`. 0 means no upper bound.

## Response `200`

Successful response

- IgacPriceStatisticsResponse
  - `data` IgacPriceStatisticsData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `municipality_code` string, required
    - `act_code` number, nullable, required
    - `zone` 'urban' | 'rural', nullable, required
    - `year_from` number, nullable, required
    - `year_to` number, nullable, required
    - `count` number, required
    - `results` object[], required: Newest year first, then zone and act.
      - `id` string, required: `<municipality_code>:<year>:<zone>:<act_code>`, e.g. `17013:2023:urban:125`.
      - `municipality_code` string, required
      - `municipality` string, nullable, required
      - `department` string, nullable, required
      - `year` number, required: The year the acts were filed.
      - `zone` 'urban' | 'rural' | 'unknown', required: `unknown` for the acts the registry records without a zone.
      - `act_code` number, required
      - `act` string, nullable, required
      - `transaction_count` number, required: Acts of this kind filed that year in the zone that declare a value above zero.
      - `median_value_cop` number, nullable, required: The median declared value, pesos: the figure to compare, since a few acts declare whole-portfolio amounts.
      - `average_value_cop` number, nullable, required: The mean declared value, pesos. Outliers move it; prefer the median.
      - `min_value_cop` number, nullable, required
      - `max_value_cop` number, nullable, required
      - `total_value_cop` number, nullable, required: The sum of the declared values, pesos.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
