> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OECE Contrataciones Abiertas

> Peru's public procurement (SEACE, published by OECE): search procedures by text, buyer, supplier RUC, department, category and dates, and look one up by OCDS id.

Peru's public-procurement procedures as published by OECE (Organismo
Especializado para las Contrataciones Públicas Eficientes, formerly OSCE) under
the Open Contracting Data Standard: the convocatoria, the contracting entity,
the estimated value, the items, the bidding documents, the awards and the
contracts that followed.

Croma keeps its own copy of the corpus (procedures published from 2020
onward), brings it up to date every day, and answers from it. That is what
makes a full-text search across every procedure, or every award to one
supplier RUC across the years, a single fast call.

## Search processes

`POST /pe/oece/processes-search/v1`

Searches the procedures by any combination of text, buyer, awarded supplier,
department, category, procedure type and dates. Newest first.

| Field           | Type    | Notes                                                                                                                                           |
| --------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`         | string  | Optional. Words to match in the title and description (Spanish full-text search).                                                               |
| `buyer_ruc`     | string  | Optional. Only procedures of the contracting entity with this RUC.                                                                              |
| `supplier_ruc`  | string  | Optional. Only procedures with an award to the supplier with this RUC.                                                                          |
| `department`    | string  | Optional. The buyer's department as the source spells it, e.g. `LIMA`, `CUSCO`.                                                                 |
| `category`      | enum    | Optional. `goods`, `services` or `works`.                                                                                                       |
| `method`        | string  | Optional. Procedure type exactly as the source names it, e.g. `Licitación Pública`, `Adjudicación Simplificada`, `Subasta Inversa Electrónica`. |
| `from_date`     | string  | Optional. Publication date lower bound (`yyyy-mm-dd`, inclusive).                                                                               |
| `to_date`       | string  | Optional. Publication date upper bound (`yyyy-mm-dd`, inclusive).                                                                               |
| `updated_after` | string  | Optional. Only procedures the source modified on or after this date: what moved since you last looked.                                          |
| `page`          | integer | Optional. 1-based page. Default `1`.                                                                                                            |
| `per_page`      | integer | Optional. Results per page, 1-50. Default `20`.                                                                                                 |

```bash theme={"dark"}
curl https://api.croma.run/pe/oece/processes-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "laptops", "department": "LIMA", "from_date": "2025-01-01" }'
```

<Note>
  This endpoint answers from a Croma dataset: a copy of the source kept by Croma and brought up to date on a schedule rather than read live on every call. Every response carries `as_of`, the moment the dataset was last refreshed.
</Note>

Returns `as_of`, the applied filters, `total` (matches across every page),
`page`, `per_page`, `total_pages`, `count` and `processes[]` (see below).

## Process by OCID

`POST /pe/oece/process/v1` Resolves one procedure by its OCDS id and returns the full record.

| Field  | Type   | Notes                                                                                        |
| ------ | ------ | -------------------------------------------------------------------------------------------- |
| `ocid` | string | **Required.** OCDS process id, e.g. `ocds-dgv273-seacev3-873200`, as returned by the search. |

```bash theme={"dark"}
curl https://api.croma.run/pe/oece/process/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ocid": "ocds-dgv273-seacev3-873200" }'
```

<Note>
  This endpoint answers from a Croma dataset: a copy of the source kept by Croma and brought up to date on a schedule rather than read live on every call. Every response carries `as_of`, the moment the dataset was last refreshed.
</Note>

Returns `found`, `ocid`, `as_of` and `process` (null when not found).

## Response

Every response carries `as_of`: when Croma's copy of the source was last brought up to date.

### `processes[]` (search)

| Field                                                 | Notes                                                                                                                              |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `ocid`                                                | OCDS process id, e.g. `ocds-dgv273-seacev3-873200`. Use it with the process lookup.                                                |
| `source`                                              | Which SEACE generation published it (`seace_v2`, `seace_v3`).                                                                      |
| `tender_id`                                           | The source's own procedure number.                                                                                                 |
| `title`, `description`                                | The procedure's nomenclature and the object of the procurement.                                                                    |
| `buyer`                                               | `{ id, name, ruc }` of the contracting entity.                                                                                     |
| `department`                                          | The buyer's department (región), e.g. `LIMA`.                                                                                      |
| `procurement_method_details`                          | The procedure type as the source names it (`Licitación Pública`, `Adjudicación Simplificada`, ...).                                |
| `category`                                            | `goods`, `services` or `works`.                                                                                                    |
| `value`                                               | `{ amount, currency, amount_pen }`: the estimated value.                                                                           |
| `published_date`                                      | `yyyy-mm-dd` the procedure was published.                                                                                          |
| `status_details`                                      | The distinct stages across the items, as the source names them (`CONVOCADO`, `ADJUDICADO`, `CONTRATADO`, `DESIERTO`, `NULO`, ...). |
| `award_count`, `contract_count`, `awarded_amount_pen` | How far the procedure got, and for how much.                                                                                       |
| `suppliers[]`                                         | Distinct awarded suppliers, `{ id, name, ruc }`.                                                                                   |
| `updated_at`                                          | When the source last modified the record.                                                                                          |

### `process` (lookup)

The full record: everything above plus `procurement_method`, `additional_categories`, `tender_start_date`, `tender_end_date`, `number_of_tenderers`, `items[]` (description, quantity, unit, CUBSO/UNSPSC classification, status, capped at 100 with `items_capped`), `documents[]` (title, type, format, url, dates, capped at 50 with `documents_capped`), `awards[]` (id, date, value, suppliers, item\_count), `contracts[]` (id, award\_id, title, dates, status, value), `supplier_rucs[]` and `segment` (the source's publication month).

Empty and placeholder values are normalized to `null`. Amounts are numbers; dates are `yyyy-mm-dd`; timestamps keep the source's offset.

<Note>
  The copy covers procedures published from January 2020 onward. Older
  procedures exist at the source but are not part of these responses.
</Note>

<Card title="Full reference" icon="code" href="/api-reference/overview">
  Schemas, all response fields, and an interactive playground.
</Card>
