---
title: "IGAC Physical Zones Search"
method: POST
path: "/co/igac/physical-zones-search/v1"
tags: ["Colombia", "IGAC"]
---

# IGAC Physical Zones Search

`POST /co/igac/physical-zones-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/igac/physical-zones-search/v1`
- Auth: HTTP bearer

List the homogeneous physical zones (zonas homogéneas físicas) IGAC has adopted in a municipality, urban and rural: topography, road influence, public services, land use and its norm and construction typology for urban zones; land class and water availability for rural ones; each with the date it is from and its GeoJSON polygon. About 190,000 zones. 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.
  - `zone` '' | 'urban' | 'rural': Optional: `urban` or `rural`.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-50); every result carries its geometry.

## Response `200`

Successful response

- IgacPhysicalZonesSearchResponse
  - `data` IgacPhysicalZonesSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `municipality_code` string, required
    - `zone` string, nullable, required
    - `total` number, required: Matches, counted up to 1000.
    - `total_is_exact` boolean, required: False when more than 1000 match: `total` is then 1000, and the pages go on.
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required: Pages over `total`; there are more when `total_is_exact` is false.
    - `count` number, required
    - `results` object[], required
      - `id` string, required: `<zone initial>:<municipality_code>:<zone_code>`.
      - `zone_code` string, required
      - `zone` 'urban' | 'rural', required
      - `department_code` string, required
      - `municipality_code` string, required
      - `topography` string, nullable, required: Urban zones.
      - `road_influence` number, nullable, required
      - `public_services` number, nullable, required: Urban zones.
      - `land_use` number, nullable, required: The current land use, as IGAC codes it.
      - `land_use_norm` string, nullable, required: The land use the planning norm allows.
      - `construction_typology` number, nullable, required: Urban zones.
      - `land_class` string, nullable, required: Rural zones: the homogeneous land class (área homogénea de tierra).
      - `water_availability` number, nullable, required: Rural zones.
      - `valid_from` string, nullable, required
      - `part_count` number, required
      - `geometry` object, nullable, required: The feature's geometry as GeoJSON in WGS84, exactly as IGAC draws it; referential, it does not certify boundaries.
        - `type` string, required: `Polygon`, `MultiPolygon`, `LineString`, `MultiLineString` or `Point`.
        - `coordinates` unknown, required
      - `geometry_url` string, nullable, required: Set when the geometry is too large to carry inline (a rural zone can run to tens of MB): the same GeoJSON geometry, kept by us, and `geometry` is null.

## 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)
