---
title: "SECOP Awards Search"
method: POST
path: "/co/secop/awards-search/v1"
tags: ["Colombia", "SECOP"]
---

# SECOP Awards Search

`POST /co/secop/awards-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/secop/awards-search/v1`
- Auth: HTTP bearer

Search every award made on a Colombian procurement process on SECOP II: which provider won, how much of the award was theirs, and when. The processes dataset keeps one row per process, so a framework agreement that awarded thousands of providers shows only one there; this is where all of them are. Filter by the provider's document to see everything a company has been awarded, as opposed to what it went on to sign.

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

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Optional search terms matched against the free text of the record (what is being bought, the entity and the supplier). Leave empty to filter without searching.
  - `provider_document` string: Optional document filter: a NIT or a cédula, with or without dots and verification digit (`900195855`, `900.195.855-1` and `900195855-1` all match the same records).
  - `entity_nit` string: Optional document filter: a NIT or a cédula, with or without dots and verification digit (`900195855`, `900.195.855-1` and `900195855-1` all match the same records).
  - `process_id` string: Optional process id from a search result (`id` on a process, or `process_id` on a bidder). Empty searches every process.
  - `year` integer: Optional calendar year. 0 searches every year.
  - `from_date` string, date: Optional date filter in yyyy-mm-dd format.
  - `to_date` string, date: Optional date filter in yyyy-mm-dd format.
  - `min_value` number: Optional lower bound on the amount, in COP. 0 means no lower bound.
  - `max_value` number: Optional upper bound on the amount, in COP. 0 means no upper bound.
  - `sort` 'recent' | 'oldest' | 'value_desc' | 'value_asc': Order of the results: `recent` (newest first, the default), `oldest`, `value_desc` (largest amount first) or `value_asc`.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-100).

## Response `200`

Successful response

- SecopAwardsSearchResponse
  - `data` SecopAwardsSearchData, required
    - `as_of` string, nullable, required: How current the data is: the moment this dataset was last brought up to date, as an ISO timestamp. Null before the first sync.
    - `total` number, required: Records matching the filters, regardless of the page size, 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: Records returned on this page.
    - `query` string, required
    - `provider_document` string, nullable, required
    - `entity_nit` string, nullable, required
    - `process_id` string, nullable, required
    - `year` number, nullable, required
    - `from_date` string, nullable, required
    - `to_date` string, nullable, required
    - `min_value` number, nullable, required
    - `max_value` number, nullable, required
    - `sort` string, required
    - `results` object[], required
      - `id` string, required: Stable identifier of the award.
      - `process_id` string, nullable, required: Id of the process awarded, prefixed like the processes dataset's `id`.
      - `award_id` string, nullable, required: The platform's own id for the adjudicación.
      - `notice_uid` string, nullable, required: noticeUID of the process (`CO1.NTC.*`).
      - `entity` string, nullable, required: Name of the contracting entity.
      - `entity_nit` string, nullable, required: NIT of the contracting entity, digits only.
      - `provider` string, nullable, required: Name of the awarded provider.
      - `provider_document` string, nullable, required: Document of the awarded provider, digits only, no verification digit.
      - `provider_code` string, nullable, required: The provider's internal SECOP code.
      - `provider_department` string, nullable, required: Department of the awarded provider.
      - `provider_city` string, nullable, required: Municipality of the awarded provider.
      - `value` number, nullable, required: This provider's own slice of the award, in COP. Not the process total.
      - `awarded_at` string, nullable, required: When the award was made, `yyyy-mm-dd`.
      - `published_date` string, nullable, required: When the process was published, `yyyy-mm-dd`.
      - `year` number, nullable, required: Calendar year of `awarded_at`.
      - `url` string, nullable, required: Public page for the process.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal 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)
