Nodda Docs

Mercado Público

Mercado Público (Chile Compra) es una fuente de acceso directo de Nodda — no requiere crear una conexión ni credenciales del portal. Pasas el código de licitación en el path y Nodda devuelve la ficha, sus documentos adjuntos, las preguntas y respuestas, y las ofertas presentadas.

Todos los endpoints responden con dos campos adicionales de frescura:

CampoTipoNotas
fetched_atdatetimeCuándo se consultó el portal por última vez (ISO 8601)
stalebooleantrue si el caché tiene más de 24 horas de antigüedad

Un miss de caché desencadena una consulta sincrónica al portal; el primer request puede tardar unos segundos. Con ?refresh=true en cualquier endpoint forzas una nueva consulta aunque el caché sea fresco.

Scopes de Mercado Público

ScopeQué devuelve
fichaDatos generales de la licitación (nombre, organismo, fechas, monto, etc.)
documentosDocumentos adjuntos de la licitación (bases, anexos, etc.)
preguntasPreguntas y respuestas del proceso de aclaraciones
ofertasOfertas presentadas, cada una con sus documentos adjuntos

Ficha de licitación

GET /mercado-publico/licitaciones/{codigo}

Devuelve los datos generales de una licitación. Si los datos están en caché y son frescos se sirven directamente.

QueryTipoNotas
refreshbooleanSi true, ignora el caché y re-consulta el portal
curl "https://app.nodda.cl/api/mercado-publico/licitaciones/1234-5-LE99" \
  -H "Authorization: Bearer nodda_sk_tu_token_aqui"

Respuesta (200):

{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789",
    "codigo": "1234-5-LE99",
    "nombre": "Adquisición de equipos de cómputo",
    "descripcion": "Compra de notebooks y monitores para la unidad central",
    "estado": "Publicada",
    "tipo_licitacion": "L1",
    "tipo_convocatoria": "Pública",
    "moneda": "CLP",
    "monto_estimado": "25000000",
    "organismo_razon_social": "Organismo Ejemplo",
    "organismo_rut": "76.123.456-7",
    "unidad_compra": "Unidad de Abastecimiento",
    "region": "Metropolitana de Santiago",
    "comuna": "Santiago",
    "direccion": "Calle Ejemplo 123",
    "fecha_publicacion": "2026-06-01T00:00:00.000Z",
    "fecha_inicio_preguntas": "2026-06-01T00:00:00.000Z",
    "fecha_fin_preguntas": "2026-06-10T00:00:00.000Z",
    "fecha_publicacion_respuestas": "2026-06-15T00:00:00.000Z",
    "fecha_cierre": "2026-06-20T17:00:00.000Z",
    "fecha_apertura_tecnica": "2026-06-21T09:00:00.000Z",
    "fecha_apertura_economica": "2026-06-21T10:00:00.000Z",
    "fecha_adjudicacion": null,
    "observed_at": "2026-07-01T12:00:00.000Z",
    "raw_ficha": {}
  },
  "fetched_at": "2026-07-01T12:00:00.000Z",
  "stale": false
}

Campos de la ficha

CampoTipoNotas
idUUIDIdentificador en Nodda
codigostringCódigo de la licitación
nombrestring | nullNombre de la licitación
descripcionstring | nullDescripción del objeto licitado
estadostring | nullEstado actual (Publicada, Adjudicada, etc.)
tipo_licitacionstring | nullTipo (L1, LE, LP, etc.)
tipo_convocatoriastring | nullPública, Privada, etc.
monedastring | nullMoneda del monto estimado
monto_estimadostring | nullMonto estimado (decimal como string)
organismo_razon_socialstring | nullRazón social del organismo comprador
organismo_rutstring | nullRUT del organismo comprador
unidad_comprastring | nullUnidad compradora
regionstring | nullRegión del organismo
comunastring | nullComuna del organismo
direccionstring | nullDirección del organismo
fecha_publicaciondatetime | nullFecha de publicación
fecha_inicio_preguntasdatetime | nullInicio del período de preguntas
fecha_fin_preguntasdatetime | nullCierre del período de preguntas
fecha_publicacion_respuestasdatetime | nullFecha de publicación de respuestas
fecha_cierredatetime | nullFecha de cierre de ofertas
fecha_apertura_tecnicadatetime | nullApertura técnica
fecha_apertura_economicadatetime | nullApertura económica
fecha_adjudicaciondatetime | nullFecha de adjudicación
observed_atdatetimeMomento en que Nodda consultó el portal
raw_fichaobjectPayload bruto del portal

Documentos adjuntos

GET /mercado-publico/licitaciones/{codigo}/documentos

Devuelve los documentos adjuntos de la licitación (bases, anexos técnicos, etc.).

QueryTipoNotas
refreshbooleanSi true, ignora el caché y re-consulta el portal
curl "https://app.nodda.cl/api/mercado-publico/licitaciones/1234-5-LE99/documentos" \
  -H "Authorization: Bearer nodda_sk_tu_token_aqui"

Respuesta (200):

{
  "data": [
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",
      "codigo": "1234-5-LE99",
      "documento_id": "DOC-001",
      "origen": "Bases",
      "nombre": "Bases de licitación",
      "tipo": "PDF",
      "descripcion": "Bases administrativas y técnicas",
      "tamano": "204800",
      "fecha_adjunto": "2026-06-01T08:00:00.000Z",
      "locator": { "url": "https://ejemplo.mercadopublico.cl/..." }
    }
  ],
  "fetched_at": "2026-07-01T12:00:00.000Z",
  "stale": false
}

Campos de un documento

CampoTipoNotas
idUUIDIdentificador en Nodda
codigostringCódigo de la licitación
documento_idstringID del documento en el portal
origenstringFuente del documento (Bases, Anexo, etc.)
nombrestring | nullNombre del archivo
tipostring | nullTipo de archivo (PDF, XLSX, etc.)
descripcionstring | nullDescripción del documento
tamanostring | nullTamaño en bytes (como string)
fecha_adjuntodatetime | nullFecha en que fue adjuntado
locatorobjectMetadatos opacos de descarga — úsalos con el endpoint de descarga

Para descargar el archivo usa el endpoint GET /mercado-publico/documentos/{documentoId}/download con el id del documento.


Preguntas y respuestas

GET /mercado-publico/licitaciones/{codigo}/preguntas

Devuelve las preguntas y respuestas del proceso de aclaraciones.

QueryTipoNotas
refreshbooleanSi true, ignora el caché y re-consulta el portal
curl "https://app.nodda.cl/api/mercado-publico/licitaciones/1234-5-LE99/preguntas" \
  -H "Authorization: Bearer nodda_sk_tu_token_aqui"

Respuesta (200):

{
  "data": [
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-c12345678901",
      "codigo": "1234-5-LE99",
      "pregunta_id": "PREG-001",
      "numero": 1,
      "tema": "Especificaciones técnicas",
      "pregunta": "¿El equipo debe incluir licencia de sistema operativo?",
      "respuesta": "Sí, debe incluir licencia original.",
      "fecha_pregunta": "2026-06-03T10:00:00.000Z",
      "fecha_respuesta": "2026-06-12T15:30:00.000Z"
    }
  ],
  "fetched_at": "2026-07-01T12:00:00.000Z",
  "stale": false
}

Campos de una pregunta

CampoTipoNotas
idUUIDIdentificador en Nodda
codigostringCódigo de la licitación
pregunta_idstringID de la pregunta en el portal
numerointeger | nullNúmero de orden de la pregunta
temastring | nullTema o categoría de la pregunta
preguntastring | nullTexto de la pregunta
respuestastring | nullTexto de la respuesta oficial
fecha_preguntadatetime | nullFecha en que se formuló la pregunta
fecha_respuestadatetime | nullFecha en que se publicó la respuesta

Ofertas

GET /mercado-publico/licitaciones/{codigo}/ofertas

Devuelve las ofertas presentadas. Cada oferta incluye sus documentos adjuntos en el campo documentos.

QueryTipoNotas
refreshbooleanSi true, ignora el caché y re-consulta el portal
curl "https://app.nodda.cl/api/mercado-publico/licitaciones/1234-5-LE99/ofertas" \
  -H "Authorization: Bearer nodda_sk_tu_token_aqui"

Respuesta (200):

{
  "data": [
    {
      "id": "d4e5f6a7-b8c9-0123-def0-123456789012",
      "codigo": "1234-5-LE99",
      "oferente_rut": "12.345.678-9",
      "proveedor_razon_social": "Proveedor Ejemplo SpA",
      "nombre_oferta": "Oferta técnica y económica",
      "estado": "Adjudicada",
      "total_oferta": "22500000",
      "habil_chileproveedores": true,
      "documentos": [
        {
          "id": "e5f6a7b8-c9d0-1234-ef01-234567890123",
          "codigo": "1234-5-LE99",
          "oferente_rut": "12.345.678-9",
          "documento_id": "ODOC-001",
          "origen": "Oferta",
          "nombre": "Oferta técnica.pdf",
          "locator": { "url": "https://ejemplo.mercadopublico.cl/..." }
        }
      ]
    }
  ],
  "fetched_at": "2026-07-01T12:00:00.000Z",
  "stale": false
}

Campos de una oferta

CampoTipoNotas
idUUIDIdentificador en Nodda
codigostringCódigo de la licitación
oferente_rutstringRUT del oferente
proveedor_razon_socialstring | nullRazón social del proveedor
nombre_ofertastring | nullNombre de la oferta
estadostring | nullEstado de la oferta (Adjudicada, Rechazada, etc.)
total_ofertastring | nullMonto total de la oferta (decimal como string)
habil_chileproveedoresboolean | nullSi el proveedor estaba hábil en ChileProveedores
documentosarrayDocumentos adjuntos de la oferta (ver tabla abajo)

Campos de un documento de oferta

CampoTipoNotas
idUUIDIdentificador en Nodda
codigostringCódigo de la licitación
oferente_rutstringRUT del oferente
documento_idstringID del documento en el portal
origenstringFuente del documento (Oferta, Anexo, etc.)
nombrestring | nullNombre del archivo
locatorobjectMetadatos opacos de descarga — úsalos con el endpoint de descarga

Descargar documento

GET /mercado-publico/documentos/{documentoId}/download

Descarga el archivo de un documento de licitación u oferta. Devuelve los bytes directamente (no JSON). El documentoId es el campo id (UUID) de cualquier elemento en data de los endpoints de documentos o de ofertas[].documentos.

Este endpoint no está disponible vía MCP — devuelve bytes, no datos estructurados.

curl "https://app.nodda.cl/api/mercado-publico/documentos/b2c3d4e5-f6a7-8901-bcde-f01234567890/download" \
  -H "Authorization: Bearer nodda_sk_tu_token_aqui" \
  -o archivo.pdf

Respuesta (200): bytes del archivo (Content-Type: application/octet-stream).

On this page