# Licitaciones de Guatemala, Panamá y República Dominicana (`opendata-cr/licitaciones-centroamerica`) Actor

Licitaciones y adjudicaciones de Guatemala (Guatecompras), Panamá (PanamaCompra) y República Dominicana (DGCP) en un solo formato. Filtre por país, palabra clave, institución, monto y fecha, con montos en dólares. El modo monitor entrega solo los procesos nuevos.

- **URL**: https://apify.com/opendata-cr/licitaciones-centroamerica.md
- **Developed by:** [Tornwar](https://apify.com/opendata-cr) (community)
- **Categories:** Lead generation, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 tenders

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Licitaciones públicas de Guatemala, República Dominicana y Panamá / Public tenders from Guatemala, the Dominican Republic and Panama

Licitaciones y adjudicaciones públicas de Guatemala (Guatecompras), República Dominicana (Dirección General de Contrataciones Públicas, DGCP) y Panamá (PanamaCompra en Cifras) en un solo dataset con los mismos campos para los tres países. El Actor consulta los servicios de datos abiertos de cada portal. No inicia sesión en los portales de compra ni usa navegador o proxies.

Public tenders and awards from Guatemala (Guatecompras), the Dominican Republic (DGCP) and Panama (PanamaCompra en Cifras) in one dataset, with the same fields for all three countries. English below.

***

### Español

#### Para quién es

- Empresas que le venden al Estado en Guatemala, República Dominicana o Panamá y quieren una alerta de procesos recientes por palabra clave, institución o monto.
- Consultores de contratación pública: quién ganó cada contrato, a qué precio y con qué tipo de procedimiento, en los tres países.
- Periodistas y equipos de datos que necesitan un solo formato en lugar de tres fuentes distintas.
- Integraciones: el dataset y el resumen de la ejecución (registro `OUTPUT`) se pueden leer con la API de Apify.

Los nombres de campo son los mismos que en el Actor [Costa Rica SICOP](https://apify.com/opendata-cr/costa-rica-sicop) cuando el dato existe (`modo`, `numeroProcedimiento`, `institucion`, `montoEstimado`, `proveedor`). Cada ítem incluye además `country`, `pais`, `portal` y `source`.

#### Qué devuelve

| Modo | Cada ítem es | Uso |
|---|---|---|
| `licitaciones` | Un procedimiento de compra | Oportunidades abiertas o histórico reciente de publicaciones |
| `adjudicaciones` | Un contrato o una adjudicación | Precios adjudicados y proveedores. Las líneas van dentro del ítem |

`countries` acepta `GT`, `DO` y `PA` (también `RD`, `DR`, `DOM`, `PAN`, `PANAMA` y `GUA`). Si se deja vacío, se consultan los tres. Si una fuente no responde, ese país aparece como omitido en el resumen, los demás continúan y la ejecución termina con éxito.

`onlyOpen` aplica solo a licitaciones: `Vigente` (GT), `Proceso publicado` (DO) y `Abierta` (PA). En adjudicaciones no se usa. Si `statuses` tiene valores, reemplaza a `onlyOpen`.

El rango máximo es de 93 días. Sin `dateFrom` ni `dateTo`, se usan los últimos `recentDays` días (7 por defecto), hasta hoy en hora de Guatemala. `minAmount` y `maxAmount` se comparan en la moneda original (GTQ, DOP o PAB), no en dólares.

La búsqueda por `keywords` no distingue mayúsculas ni tildes y basta con que coincida una de las palabras. En Guatemala y Panamá también se busca en el texto de las líneas. En República Dominicana se busca en el título, la descripción y la institución.

#### Precio (pago por evento)

| Evento | Precio | Se cobra por |
|---|---|---|
| `licitacion` | US$0.005 | Cada procedimiento entregado |
| `adjudicacion` | US$0.003 | Cada contrato o adjudicación que se entrega |

Solo se cobra lo que se escribe en el dataset. Una ejecución sin resultados o un país omitido no generan cobro. El máximo a cobrar por ejecución debe ser de al menos US$0.01.

`maxResults` limita la cantidad de resultados de cada ejecución. El formulario sugiere 10; si se omite por API, el límite es 200. El máximo permitido es 20,000. Con más de un país, el límite se reparte: se toma por turnos el resultado más reciente de cada país y, si uno no tiene más, los lugares libres pasan a los demás. Así, un país con publicaciones más recientes no ocupa todo el límite.

En modo monitor (`onlyNewSinceLastRun`) solo se entregan y cobran los resultados que no se habían entregado antes con el mismo `monitorStoreName`. Una licitación que cambia de estado se entrega de nuevo.

Puede fijar un máximo a cobrar por ejecución. Si se alcanza, la ejecución termina con éxito, conserva los resultados ya entregados y lo indica en el mensaje de estado. Si el máximo no alcanza ni para un resultado, no se consulta ninguna fuente.

#### Ejemplo: licitaciones recientes

Entrada de ejemplo (un país, tres días, cinco resultados, sin líneas):

```json
{
    "mode": "licitaciones",
    "countries": ["DO"],
    "recentDays": 3,
    "onlyOpen": false,
    "includeLines": false,
    "maxResults": 5,
    "convertToUSD": true
}
```

Tres resultados reales de octubre de 2026, uno por país (algunos campos se omiten por brevedad).

Guatemala, IGSS. Guatecompras no publica el monto estimado en la búsqueda, por eso `montoEstimado` es `null`.

```json
{
  "modo": "licitaciones",
  "country": "GT",
  "pais": "Guatemala",
  "portal": "Guatecompras",
  "ocid": "ocds-xqjsxa-32235291",
  "numeroProcedimiento": "GT-NOG-32235291",
  "titulo": "Código IGSS 932 Paracetamol (acetaminofén) Solución oral 100 mg/ml frasco con gotero 10 ml - 20 ml",
  "institucion": {
    "cedula": "2342855",
    "nombre": "INSTITUTO GUATEMALTECO DE SEGURIDAD SOCIAL -IGSS-",
    "ubicacion": "GUATEMALA, GUATEMALA, GUATEMALA"
  },
  "estado": "Vigente",
  "clasificacionObjeto": "BIENES",
  "fechaPublicacion": "2026-10-03T17:26:45-06:00",
  "moneda": null,
  "montoEstimado": null,
  "fuente": "Guatemala — Ministerio de Finanzas Públicas, Guatecompras (OCDS, CC BY 4.0)",
  "licencia": "https://creativecommons.org/licenses/by/4.0",
  "url": "https://www.guatecompras.gt/concursos/consultaConcurso.aspx?nog=32235291",
  "lineas": [
    {
      "descripcion": "Acetaminofén (paracetamol)",
      "cantidad": 2100,
      "unidad": "Frasco gotero - 15 Mililitro(ml)",
      "unspsc": "51142001"
    }
  ]
}
```

República Dominicana, Ministerio de Medio Ambiente. Cuando la línea no trae moneda, se usa la del proceso.

```json
{
  "modo": "licitaciones",
  "country": "DO",
  "pais": "República Dominicana",
  "portal": "DGCP",
  "numeroProcedimiento": "MIMARENA-DAF-CD-2026-0218",
  "titulo": "Contratación de Servicios de Iluminación",
  "institucion": { "cedula": "260", "nombre": "Ministerio de Medio Ambiente" },
  "estado": "Proceso con etapa cerrada",
  "moneda": "DOP",
  "montoEstimado": 268111,
  "montoEstimadoUSD": 4469.5,
  "tipoCambioUsado": 59.9868,
  "lineas": [
    {
      "descripcion": "Servicios de Iluminación",
      "cantidad": 1,
      "precioUnitarioEstimado": 268111,
      "moneda": "DOP",
      "unspsc": "39111605"
    }
  ]
}
```

Panamá, Caja de Seguro Social. Cotización en línea abierta al momento de la consulta (`diasParaCierre` 3). El balboa equivale 1 a 1 al dólar. Este registro no trae el enlace directo al pliego, así que `url` apunta al portal y `numeroProcedimiento` es el identificador del proceso.

```json
{
  "modo": "licitaciones",
  "country": "PA",
  "pais": "Panamá",
  "portal": "PanamaCompra",
  "numeroProcedimiento": "2026-1-10-01-03-CL-052042",
  "titulo": "GUANTES QUIRURGICOS DE POLISOPRENO LIBRE DE LATEX Y POLVO ESTERIL",
  "institucion": { "cedula": "1-111-1137", "nombre": "Caja de Seguro Social" },
  "estado": "Abierta",
  "fechaPublicacion": "2026-10-01T17:18:28-05:00",
  "fechaFinRecepcionOfertas": "2026-10-07T23:59:59-05:00",
  "diasParaCierre": 3,
  "moneda": "PAB",
  "montoEstimado": 4000,
  "montoEstimadoUSD": 4000,
  "tipoCambioUsado": 1,
  "archivoFuente": "panamacompra_v3/json/2026/10"
}
```

`diasParaCierre` se calcula en el momento de cada ejecución. En Panamá, los procesos abiertos de un mes pueden concentrarse en pocas fechas de publicación, así que un rango de uno o dos días puede no traer resultados de Panamá sin que haya un error.

#### Ejemplo: adjudicaciones

```json
{
  "mode": "adjudicaciones",
  "countries": ["DO", "PA"],
  "dateFrom": "2026-10-01",
  "dateTo": "2026-10-03",
  "maxResults": 4,
  "convertToUSD": true
}
```

Contrato de la DGCP. El identificador del proveedor es su número en el Registro de Proveedores del Estado (RPE), no una cédula personal.

```json
{
  "modo": "adjudicaciones",
  "country": "DO",
  "numeroProcedimiento": "HJS-DAF-CM-2026-0012",
  "numeroContrato": "HJS-2026-00026",
  "descripcionProcedimiento": "MEDICAMENTOS",
  "institucion": { "cedula": "1500", "nombre": "Hospital Jaime Sánchez" },
  "proveedor": {
    "cedula": "60443",
    "nombre": "Morami, SRL",
    "tipo": "RPE",
    "personaFisica": false
  },
  "moneda": "DOP",
  "montoEnMoneda": 477520,
  "montoAdjudicadoUSD": 7960.42,
  "fechaAdjudicacionFirme": "2026-10-03T22:06:39+00:00"
}
```

Adjudicación en Panamá a una persona física: el nombre y la cédula del proveedor van en `null` y se conserva la institución compradora. El ítem original trae 52 líneas, que aquí se omiten.

```json
{
  "modo": "adjudicaciones",
  "country": "PA",
  "numeroProcedimiento": "2026-0-07-04-04-CM-075604",
  "descripcionProcedimiento": "Compra de implementos de cocina, cortinas, escaleras y estufa de tres fogones para Centro Educativo Macano",
  "institucion": { "cedula": "1-111-1814", "nombre": "Ministerio de Educación" },
  "proveedor": { "cedula": null, "nombre": null, "tipo": "PA-RUC", "personaFisica": true },
  "moneda": "PAB",
  "montoEnMoneda": 2662.1,
  "montoAdjudicadoUSD": 2662.1,
  "estado": "Adjudicado",
  "unspsc": "52141802"
}
```

#### Alerta diaria

- Cron: `0 8 * * *`
- Zona horaria: `America/Guatemala`
- Entrada: `onlyNewSinceLastRun: true`, con los países y filtros que le interesan
- `monitorStoreName`: un nombre distinto para cada alerta (por ejemplo `ca-medicamentos` o `ca-rd-obras`)

La DGCP actualiza sus datos a las 00:00, 07:00, 14:00 y 21:00, hora de Santo Domingo. Guatecompras permite consultar los procesos publicados el mismo día. Panamá publica un archivo mensual que se actualiza durante el mes.

#### Fuentes y licencias

| País | Fuente | Licencia |
|---|---|---|
| GT | `https://ocds.guatecompras.gt/release/search`, por día de publicación | CC BY 4.0 |
| DO | `https://datosabiertos.dgcp.gob.do/api-dgcp/v1/procesos` y `/contratos` | La API no declara licencia; `licencia` contiene la URL del portal |
| PA | `https://v2.panamacompraencifras.gob.pa/api/v1/file/panamacompra_v3/json/{yyyy}/{MM}` | PDDL 1.0 |

Guatemala: los datos se filtran por la fecha de publicación del concurso. Una adjudicación de un concurso publicado antes de `dateFrom` no aparece en el rango.

República Dominicana: los contratos se recorren del más reciente al más antiguo, hasta pasar `dateFrom` o hasta 30 páginas (6,000 registros). Si se llega a ese límite antes de la fecha, el resumen del país lo indica.

Panamá: el servidor no envía la cadena completa de certificados. El Actor incluye el certificado intermedio correspondiente y mantiene la verificación TLS activa.

Conversión a dólares: GTQ y DOP usan un tipo de cambio de referencia público (currency-api), que no es el tipo oficial de cada banco central. PAB y USD se convierten 1 a 1. Si el tipo de cambio no está disponible, los campos en USD quedan vacíos y la ejecución continúa. `tipoCambioUsado` indica unidades de moneda local por 1 USD.

#### Privacidad

No se copian puntos de contacto, correos ni teléfonos. Si el proveedor parece ser una persona física (nombre y apellido, o una cédula panameña de persona), `proveedor.nombre` y `proveedor.cedula` van en `null` y `personaFisica` es `true`. Las empresas e instituciones (SRL, SA, ministerios, cajas) conservan el nombre.

***

### English

#### Who it is for

- Companies that sell to the government in Guatemala, the Dominican Republic or Panama and want an alert for recent tenders by keyword, institution or amount.
- Procurement consultants: who won each contract, at what price and under which procedure, across the three countries.
- Journalists and data teams who need one format instead of three different sources.
- Integrations: the dataset and the run summary (`OUTPUT` record) can be read through the Apify API.

Field names match the [Costa Rica SICOP](https://apify.com/opendata-cr/costa-rica-sicop) Actor wherever the data exists (`modo`, `numeroProcedimiento`, `institucion`, `montoEstimado`, `proveedor`). Each item also includes `country`, `pais`, `portal` and `source`. Field names are in Spanish; text values are kept as published by each portal.

#### What you get

| Mode | Each item is | Use it for |
|---|---|---|
| `licitaciones` | One procurement procedure | Open opportunities or recent publication history |
| `adjudicaciones` | One contract or award | Awarded prices and suppliers. Line items are nested inside the item |

`countries` accepts `GT`, `DO` and `PA` (also `RD`, `DR`, `DOM`, `PAN`, `PANAMA` and `GUA`). Leave it empty to query all three. If a source does not respond, that country is listed as skipped in the summary, the others continue, and the run still succeeds.

`onlyOpen` applies to tenders only: `Vigente` (GT), `Proceso publicado` (DO) and `Abierta` (PA). It is not used for awards. A non-empty `statuses` list replaces `onlyOpen`.

The maximum date range is 93 days. Without `dateFrom` and `dateTo`, the Actor uses the last `recentDays` days (7 by default), ending today in Guatemala time. `minAmount` and `maxAmount` are compared in the original currency (GTQ, DOP or PAB), not in USD.

`keywords` matching ignores case and accents, and any one keyword is enough. In Guatemala and Panama, line item text is searched too. In the Dominican Republic, the title, description and institution are searched.

#### Pricing (pay per event)

| Event | Price | Charged for |
|---|---|---|
| `licitacion` | US$0.005 | Each procedure delivered |
| `adjudicacion` | US$0.003 | Each contract or award delivered |

You only pay for items written to the dataset. A run with no results, or a skipped country, is not charged. The maximum charge per run must be at least US$0.01.

`maxResults` limits the number of results per run. The form suggests 10; if you omit it in an API call, the limit is 200. The maximum allowed value is 20,000. With more than one country, the limit is shared: the newest result from each country is taken in turn, and if one runs out, its remaining places go to the others. A country with more recent publications does not take the whole limit.

In monitor mode (`onlyNewSinceLastRun`), only results not delivered before under the same `monitorStoreName` are delivered and charged. A tender whose status changes is delivered again.

You can set a maximum charge per run. When it is reached, the run ends as succeeded, keeps the results already delivered and says so in the status message. If the maximum does not cover a single result, no source is queried.

#### Example: recent tenders

Example input (one country, three days, five results, no line items):

```json
{
    "mode": "licitaciones",
    "countries": ["DO"],
    "recentDays": 3,
    "onlyOpen": false,
    "includeLines": false,
    "maxResults": 5,
    "convertToUSD": true
}
```

The Spanish section above shows three real results from October 2026, one per country:

- Guatemala: IGSS, paracetamol, NOG `32235291`, status `Vigente`. Guatecompras does not publish the estimated amount in its search, so `montoEstimado` is `null`.
- Dominican Republic: `MIMARENA-DAF-CD-2026-0218`, DOP 268,111, about USD 4,469.50 at 59.9868 DOP per USD.
- Panama: `2026-1-10-01-03-CL-052042`, Caja de Seguro Social, status `Abierta`, PAB 4,000 = USD 4,000, bids close on 2026-10-07.

`diasParaCierre` is calculated at run time. In Panama, a month's open tenders can be concentrated on a few publication dates, so a one or two day range may return no Panama results without any error.

#### Example: awards

```json
{
  "mode": "adjudicaciones",
  "countries": ["DO", "PA"],
  "dateFrom": "2026-10-01",
  "dateTo": "2026-10-03",
  "maxResults": 4,
  "convertToUSD": true
}
```

- Dominican Republic: contract `HJS-2026-00026` at Hospital Jaime Sánchez, supplier Morami, SRL (RPE `60443`, a company), DOP 477,520. The RPE is the supplier's number in the Dominican government supplier registry, not a personal ID.
- Panama: Ministerio de Educación, procedure `2026-0-07-04-04-CM-075604`, PAB 2,662.10. The supplier is a natural person, so `proveedor.nombre` and `proveedor.cedula` are `null` and `personaFisica` is `true`. The buyer is kept. The full item has 52 line items.

#### Daily alert

- Cron: `0 8 * * *`
- Timezone: `America/Guatemala`
- Input: `onlyNewSinceLastRun: true`, plus the countries and filters you need
- `monitorStoreName`: a different name for each alert

DGCP updates its data at 00:00, 07:00, 14:00 and 21:00 Santo Domingo time. Guatecompras can be queried for tenders published the same day. Panama publishes a monthly file that is updated during the month.

#### Sources and licenses

| Country | Source | License |
|---|---|---|
| GT | `https://ocds.guatecompras.gt/release/search`, by publication day | CC BY 4.0 |
| DO | `https://datosabiertos.dgcp.gob.do/api-dgcp/v1/procesos` and `/contratos` | The API does not state a license; `licencia` holds the portal URL |
| PA | `https://v2.panamacompraencifras.gob.pa/api/v1/file/panamacompra_v3/json/{yyyy}/{MM}` | PDDL 1.0 |

Guatemala: data is filtered by the tender's publication date. An award on a tender published before `dateFrom` is not in the range.

Dominican Republic: contracts are read from newest to oldest until `dateFrom` is passed or 30 pages (6,000 records) are read. If that limit is reached first, the country summary says so.

Panama: the server does not send the full certificate chain. The Actor includes the matching intermediate certificate and keeps TLS verification on.

USD conversion: GTQ and DOP use a public reference exchange rate (currency-api), not each central bank's official rate. PAB and USD convert 1:1. If the rate is unavailable, the USD fields stay empty and the run continues. `tipoCambioUsado` is local currency units per 1 USD.

#### Privacy

Contact points, email addresses and phone numbers are not copied. When a supplier appears to be a natural person (first and last name, or a Panamanian personal ID), `proveedor.nombre` and `proveedor.cedula` are `null` and `personaFisica` is `true`. Companies and public bodies (SRL, SA, ministries, social security funds) keep their names.

# Actor input Schema

## `mode` (type: `string`):

licitaciones: un ítem por procedimiento. adjudicaciones: un ítem por contrato o adjudicación. licitaciones returns one item per tender; adjudicaciones returns one item per contract or award.

## `countries` (type: `array`):

GT Guatemala, DO República Dominicana, PA Panamá. Si se deja vacío, se consultan los tres. Si un país no responde, los demás continúan. Leave empty for all three.

## `keywords` (type: `array`):

Basta con que una aparezca en el título, la descripción o la institución. No distingue mayúsculas ni tildes. En GT y PA también se busca en las líneas. Any keyword is enough.

## `excludeKeywords` (type: `array`):

Se descarta el resultado si aparece alguna de estas palabras. Results containing any of these words are dropped.

## `institutionIds` (type: `array`):

Identificador del comprador: NIT en Guatemala, código de unidad de compra en RD, RUC en Panamá. Solo se comparan los dígitos. Buyer ID; only digits are compared.

## `institutionNameContains` (type: `string`):

Texto que debe aparecer en el nombre del comprador. No distingue mayúsculas ni tildes. Text contained in the buyer name.

## `procedureTypes` (type: `array`):

Coincide si el texto aparece en el tipo o la modalidad del procedimiento, por ejemplo Cotización, Licitación Pública o Compra menor. Matches the procedure type or method.

## `statuses` (type: `array`):

Estados del portal, por ejemplo Vigente, Proceso publicado, Abierta o Adjudicado. Si tiene valores, reemplaza a onlyOpen. Portal status values; overrides onlyOpen.

## `onlyOpen` (type: `boolean`):

Solo licitaciones en estado Vigente (GT), Proceso publicado (DO) o Abierta (PA). No se aplica a adjudicaciones ni cuando statuses tiene valores. Tenders only.

## `minAmount` (type: `number`):

Monto mínimo, inclusive, en la moneda original del ítem (GTQ, DOP o PAB), no en dólares. Inclusive minimum in the item's own currency.

## `maxAmount` (type: `number`):

Monto máximo, inclusive, en la moneda original del ítem (GTQ, DOP o PAB). Inclusive maximum in the item's own currency.

## `dateFrom` (type: `string`):

Inicio del rango, inclusive. Si ambas fechas están vacías, se usan los últimos recentDays días en hora de Guatemala. Start date, inclusive.

## `dateTo` (type: `string`):

Fin del rango, inclusive. Si está vacío, es hoy en hora de Guatemala. End date, inclusive; defaults to today.

## `recentDays` (type: `integer`):

Se usa cuando dateFrom y dateTo están vacíos. 7 incluye hoy y los seis días anteriores. Máximo 93. Used when both dates are empty.

## `includeLines` (type: `boolean`):

Agrega las líneas de cada procedimiento con cantidad, descripción y código UNSPSC. Adds line items with quantity, description and UNSPSC code.

## `onlyNewSinceLastRun` (type: `boolean`):

Modo monitor: solo entrega y cobra resultados que no se entregaron antes con el mismo almacén. Una licitación que cambia de estado se entrega de nuevo. Monitor mode: only new results.

## `monitorStoreName` (type: `string`):

Almacén (Key-Value Store) donde se guardan los resultados ya entregados. Use un nombre distinto para cada alerta. Use a different name for each alert.

## `convertToUSD` (type: `boolean`):

PAB equivale 1 a 1 al dólar. GTQ y DOP usan un tipo de cambio de referencia, que no es el oficial de cada banco central. Si no está disponible, el monto en USD queda vacío. Adds USD amounts.

## `maxResults` (type: `integer`):

Cantidad máxima de resultados (y de cobros) por ejecución. Con varios países, el límite se reparte entre ellos. Si se omite, el límite es 200. Si antes se alcanza el máximo a cobrar de la ejecución, esta termina con éxito. Maximum results per run, shared across countries.

## Actor input object example

```json
{
  "mode": "licitaciones",
  "countries": [
    "GT",
    "DO",
    "PA"
  ],
  "keywords": [],
  "excludeKeywords": [],
  "institutionIds": [],
  "procedureTypes": [],
  "statuses": [],
  "onlyOpen": true,
  "recentDays": 7,
  "includeLines": true,
  "onlyNewSinceLastRun": false,
  "monitorStoreName": "ca-licitaciones-monitor",
  "convertToUSD": true,
  "maxResults": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("opendata-cr/licitaciones-centroamerica").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxResults": 10 }

# Run the Actor and wait for it to finish
run = client.actor("opendata-cr/licitaciones-centroamerica").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxResults": 10
}' |
apify call opendata-cr/licitaciones-centroamerica --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,opendata-cr/licitaciones-centroamerica"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/k1Trq4DQs0ovM6GSz/builds/K82g6D4kbIadc1YJp/openapi.json
