Search cce · secop-procurement
https://api.latinfo.dev/co/cce/secop-procurement/search
Search the published search_blob index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. For a reproducible integration check, fetch the documented lookup example for this source and choose one complete whitespace-separated word of at least three letters from its search_blob value as q. Choose a word containing only letters, avoiding damaged publisher text or partial words; keep q within 200 characters. Search returns a bounded candidate list, not an exhaustive export. Candidate names and status text may be truncated. Fetch the source lookup to obtain the complete record and interpret its status vocabulary; do not classify a company from candidate text alone.
Source contract
- Publisher
- Colombia Compra Eficiente
- Coverage
- Published SECOP II processes in the staged snapshot; excludes SECOP I and the offers dataset. Not an exhaustive contract history.
- Record meaning
- One procurement process in the REQ namespace. Contracts join through its BDOS portfolio identifier; where several contracts match, only one selected contract is retained.
- Identifier
- Use the public process ID, for example CO1.REQ.100001. coSecopProcess normalizes it to the stored zero-padded numeric-first ID. Search hits expose the stored ID; convert it back to the documented public form before lookup.
- Accepted pattern
^CO\d\.REQ\.\d{1,10}$- Normalization
coSecopProcess- Cardinality
one- License
- Reuse permission has not been verified. Public access is not a reuse license.
Known limitations
- Corporate identity is a reviewed NIT-shape predicate, not confirmation against RUES or proof of current legal status.
- Natural-person contractor and awardee names/documents and contractor addresses are redacted; affected free text is scrubbed. Empty fields may be missing, unmatched or redacted and do not establish a negative finding.
- Only one contract is selected per portfolio; contract values are not totals across all related contracts. bidder_count counts distinct corporate-shaped NITs, not every submission or participant.
- Process and contract dates are publisher timestamps, never import time. Numbered phase timestamp suffixes are original field names, not inferred chronology.
- Monetary strings preserve the publisher values in COP without scaling or conversion. Truncated field valor_pendiente_de has no inferred financial category.
- duracion uses the original unidad_de_duracion; duracion_del_contrato is unparsed publisher text. Funding-source fields are indicators rather than monetary amounts.
- PPI, PCI, agreement-point and agreement-pillar fields are preserved without expanding undocumented abbreviations or categories.
- Source data, statuses and privacy redactions do not establish legal clearance, eligibility, ownership or complete procurement coverage.
Parameters
qstringqueryrequiredName query, 3–200 characters.
Request example
curl https://api.latinfo.dev/co/cce/secop-procurement/search?q=q \
-H "Authorization: Bearer $LATINFO_API_KEY"
Responses
200Published source records. Missing data is not a clearance or a negative finding.
Response headers
X-Latinfo-Imported-AtImport time, not the date of the government observation.
X-Source-Updated-AtPublisher update time, when known.
X-Latest-Observation-AtLatest observation date in this response page, when known. For a complete paginated history, preserve each page date or take the maximum date across all pages. Never use import time as observation time.
X-Freshness-Statusstring
CURRENT · DELAYED · STALE · UNKNOWNX-Credits-CostActual credits charged for this request.
X-Source-GenerationOpaque immutable source generation. Follow the guarded next-page Link when collecting a history.
application/jsonResponse fields
[].id string[].search_blob stringSearch text assembled from redacted process title, description and buying entity, capped at 2000 characters; not the complete original document.
[].estado_del_procedimiento stringOriginal process status; not a company compliance or tax status.
Response schema
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"search_blob": {
"type": "string",
"description": "Search text assembled from redacted process title, description and buying entity, capped at 2000 characters; not the complete original document.",
"x-latinfo-meaning": "text"
},
"estado_del_procedimiento": {
"type": "string",
"description": "Original process status; not a company compliance or tax status.",
"x-latinfo-meaning": "text"
}
}
}
}400Invalid identifier or query. Correct the input before retrying.
401Missing or invalid API key. Authenticate before retrying.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
503Source unavailable. Report unavailable, not an empty result.
Example JSON
Illustrative schema example. This is not a live response.
[
{
"id": "string",
"search_blob": "string",
"estado_del_procedimiento": "string"
}
]Provenance and limitations
Coverage varies by country and public source. A missing field is not evidence that the underlying fact does not exist. Public registries may be delayed or contain source errors; inspect the returned evidence and source date before relying on a result.