Buscar contrataciones públicas
https://api.latinfo.dev/pe/oece/tenders
Search Peru government procurement data (OECE/SEACE). Returns OCDS 1.1 compiledRelease records. 888K+ records from Feb 2013 to present, updated daily. At least one filter parameter is required.
Latinfo identifica el conjunto de datos gubernamental de origen y conserva su evidencia y fecha cuando el publicador las proporciona. Verifica las decisiones relevantes con esa institución.
Parámetros
qstringqueryText search on title, description, and buyer name
Example: construccion hospital
categoryenum<goods | services | works>queryProcurement category
min_amountnumberqueryMinimum amount in PEN
Example: 100000
max_amountnumberqueryMaximum amount in PEN
Example: 5000000
buyerstringqueryBuyer name (substring match)
Example: municipalidad
methodstringqueryProcurement method (substring match)
Example: Licitación Pública
statusenum<CONVOCADO | CONTRATADO | DESIERTO | NULO | CONSENTIDO>queryTender status
limitintegerqueryMax results to return
Ejemplo de solicitud
curl https://api.latinfo.dev/pe/oece/tenders?q=construccion+hospital&category=goods&min_amount=100000&max_amount=5000000&buyer=municipalidad&method=Licitaci%C3%B3n+P%C3%BAblica&status=CONVOCADO&limit=20 \
-H "Authorization: Bearer $LATINFO_API_KEY"
Respuestas
200Array of OCDS 1.1 compiledRelease records
application/json400No filter parameters provided
401Clave de api ausente o inválida
429Límite de solicitudes excedido
Ejemplo JSON
[
{
"ocid": "ocds-dgv273-seacev3-2026-273-3",
"date": "2026-08-14T00:00:00Z",
"url": "https://contratacionesabiertas.oece.gob.pe/proceso/ocds-dgv273-seacev3-2026-273-3",
"buyer": {
"id": "PE-CONSUCODE-273",
"name": "MUNICIPALIDAD DISTRITAL DE MORO"
},
"tender": {
"title": "string",
"description": "string",
"datePublished": "2026-08-14T00:00:00Z",
"value": {
"amount": 64815.55,
"currency": "PEN"
},
"mainProcurementCategory": "goods",
"procurementMethodDetails": "Concurso Público Abreviado",
"tenderPeriod": {
"startDate": "2026-08-14T00:00:00Z",
"endDate": "2026-08-14T00:00:00Z"
},
"items": [
{
"description": null,
"statusDetails": null
}
],
"documents": [
{
"title": null,
"url": null
}
]
},
"awards": [
{
"status": "string",
"value": {
"amount": null,
"currency": null
},
"suppliers": [
null
]
}
],
"contracts": [
{
"status": "string",
"value": {
"amount": null
},
"period": {
"startDate": null,
"endDate": null
}
}
],
"planning": {
"budget": {
"amount": {
"amount": null,
"currency": null
}
}
}
}
]
Procedencia y limitaciones
La cobertura varía por país y fuente pública. Un campo ausente no demuestra que el hecho no exista. Los registros públicos pueden tener retrasos o errores; revisa la evidencia y la fecha de la fuente antes de usar un resultado.