---
title: "IGAC Rural Districts Search"
method: POST
path: "/co/igac/rural-districts-search/v1"
tags: ["Colombia", "IGAC"]
---

# IGAC Rural Districts Search

`POST /co/igac/rural-districts-search/v1`

## Request

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

List the rural districts (veredas) of a municipality in Colombia's national cadastre, by name words when given, each with its 17-digit code, name, sector and GeoJSON polygon in WGS84. About 17,000 veredas. 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.
  - `query` string: Optional words matched against the name, e.g. `el porvenir`.
  - `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

- IgacRuralDistrictsSearchResponse
  - `data` IgacRuralDistrictsSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `municipality_code` string, required
    - `query` string, 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
      - `code` string, required: The 17-digit vereda code.
      - `name` string, nullable, required: The vereda's name, as IGAC records it.
      - `names` string[], required: Every name IGAC records for the code, when its parts disagree.
      - `sector_code` string, nullable, required
      - `previous_code` string, nullable, required
      - `department_code` string, required
      - `municipality_code` string, required
      - `part_count` number, required
      - `latitude` number, nullable, required
      - `longitude` number, nullable, 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)
