API REST — acceso por clave
Cómo usar tu clave de acceso
Tu clave rduno_* autentica cada llamada con una cabecera Authorization: Bearer. Es de solo lectura (salvo la carga de un certificado RUP) y responde JSON; cada dato trae su fuente oficial y fecha de captura, igual que en la web.
Esta página es para integrarla en tu propio código. Si prefieres consultar empresas sin escribir nada, usa tu área de cliente — misma clave, sin instalar nada.
Autenticación
Todas las rutas bajo /v1/ exigen la cabecera:
Authorization: Bearer rduno_tu_clave_aqui
Una clave inválida o ausente responde 401; superar tu límite de peticiones por minuto responde 429 con Retry-After; superar tu cuota mensual responde 429 hasta el día 1 del mes siguiente. Los tres topes dependen de tu plan — ver precios.
Endpoints principales
GET /v1/empresa/{nit}
Ficha completa: registro mercantil, contratación pública, finanzas y sanciones, con la fuente de cada dato.
curl -H "Authorization: Bearer $CLAVE" https://api.radicadouno.co/v1/empresa/890903938
GET /v1/buscar?q=
Busca por NIT exacto o prefijo de razón social entre las empresas publicables.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/buscar?q=BANCOLOMBIA"
GET /v1/red/{nit}
Empresas que concurren ante los mismos compradores públicos, con similitud normalizada.
curl -H "Authorization: Bearer $CLAVE" https://api.radicadouno.co/v1/red/890903938
GET /v1/entidad/{nit}
Ficha de una entidad compradora: qué proveedores contrata y por cuánto.
curl -H "Authorization: Bearer $CLAVE" https://api.radicadouno.co/v1/entidad/800130907
GET /v1/directorio
El índice de cámaras de comercio, como hub de navegación por el expediente.
curl -H "Authorization: Bearer $CLAVE" https://api.radicadouno.co/v1/directorio
GET /v1/sector/{division}
Empresas de una división CIIU, ordenadas por volumen de contratación.
curl -H "Authorization: Bearer $CLAVE" https://api.radicadouno.co/v1/sector/62
GET /v1/ranking/{dimension}/{clave}
Rankings por año, sector o departamento (dimension = anio | sector | departamento).
curl -H "Authorization: Bearer $CLAVE" https://api.radicadouno.co/v1/ranking/anio/2025
API de licitaciones
Para integrar la contratación pública de una empresa o de una entidad: historial completo de SECOP I y II, licitaciones ganadas y perdidas, consorcios, procesos por entidad y por código UNSPSC, los procesos abiertos de SECOP II y SECOP I con sus novedades, modificaciones de contratos y precios unitarios de la Tienda Virtual del Estado; y, cuando el documento oficial se puede leer y sus cifras cuadran, la evaluación de los proponentes y los precios unitarios de las ofertas de SECOP II. Además, la búsqueda en el registro mercantil por razón social y la matriz de fuentes. Va en el plan Business: con una clave Pro estas rutas responden 403. Misma cabecera Authorization: Bearer que el resto de /v1/. Las listas se paginan con pagina y por_pagina (hasta 100), traen el total exacto en pagina.total y un bloque cobertura que dice si la respuesta es el historial completo o la fuente tiene huecos. Las personas naturales que aparecen como competidoras, integrantes o adjudicatarias salen solo como {"tipo": "persona_natural"}, sin nombre ni documento.
GET /v1/empresa/{nit}/contratos
Historial completo de contratos, SECOP I y II sin duplicar, con valor_calidad y valor_confiable. Filtros fuente, desde, hasta, estado, unspsc, entidad, modalidad; orden fecha o valor.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/empresa/890903938/contratos?fuente=secop2&orden=valor&por_pagina=20"
GET /v1/empresa/{nit}/historial/resumen
Contratos y valor por año, UNSPSC, modalidad, entidad o fuente. Suma solo valores confiables y dice cuántos contratos quedaron fuera de la suma y por qué.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/empresa/890903938/historial/resumen?por=unspsc&nivel=familia"
GET /v1/empresa/{nit}/participaciones
Procesos en los que se presentó, directamente o en consorcio, con el resultado (deducido: la fuente no lo publica por proponente), número de proponentes y adjudicatario.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/empresa/890903938/participaciones?resultado=ganada"
GET /v1/empresa/{nit}/consorcios
Consorcios y uniones temporales de SECOP II de los que forma parte, con su porcentaje, si lidera y los demás integrantes.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/empresa/890903938/consorcios"
GET /v1/empresa/{nit}/precios-tvec
Líneas de sus órdenes en la Tienda Virtual del Estado: ítem, cantidad, unidad, precio unitario, entidad y fecha. Filtro de texto q.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/empresa/890903938/precios-tvec?q=papel"
GET /v1/proceso/{portafolio}/precios
Precios unitarios de la oferta económica de un proceso de SECOP II, leídos del documento oficial cuando se puede descargar y sus sumas cuadran (cobertura parcial; se piden con POST …/precios/extraer).
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/proceso/CO1.BDOS.10616066/precios"
GET /v1/entidad/{nit}/procesos
Procesos de una entidad compradora, con precio base, valor adjudicado, proponentes y adjudicatario. Filtros unspsc, modalidad, estado, desde, hasta.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/entidad/800130907/procesos?desde=2026-01-01"
GET /v1/procesos
Búsqueda de procesos de SECOP II por entidad (NIT) o UNSPSC de al menos 4 dígitos, con departamento, modalidad, estado y fechas.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/procesos?unspsc=4321&departamento=Antioquia"
GET /v1/procesos/abiertos
Procesos con el plazo de ofertas abierto, nunca vencidos, por cierre más próximo. Filtros departamento, municipio, unspsc, presupuesto_min y presupuesto_max, entidad, modalidad, estado, cierre_desde y cierre_hasta. SECOP II da la fecha de cierre sin hora (datos.gov.co no la publica, con un día de retraso); SECOP I, con hora y zona (cierre_hora, de la ficha pública de contratos.gov.co). Sin el parámetro fuente responde solo SECOP II (fuente=secop2, como siempre); SECOP I se pide con fuente=secop1, o fuente=ambas para las dos juntas, con las mismas columnas y una columna fuente en cada fila. SECOP I está en carga inicial: cobertura.secop1 dice cuántas constancias de las que se siguen están leídas y la respuesta va con alcance parcial hasta que acabe.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/procesos/abiertos?fuente=ambas&departamento=antioquia&presupuesto_min=100000000"
GET /v1/procesos/novedades?desde=
Lo que cambió desde un cursor, en orden: procesos nuevos, prórrogas y adelantos del cierre, cambios de estado y presupuesto, los que dejan de estar abiertos y, en SECOP I, documentos nuevos o en versión nueva y modificaciones publicadas. Un solo cursor entero para las dos fuentes: guarda siguiente_cursor y vuelve a pedir con él; los cursores anteriores a SECOP I siguen valiendo. Como en la lista, sin fuente solo SECOP II; con fuente=ambas o fuente=secop1, también SECOP I. Los mismos filtros y novedad.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/procesos/novedades?desde=0&fuente=ambas&por_pagina=100"
GET /v1/secop1/proceso/{constancia}
Un proceso de SECOP I por número de constancia, leído de su ficha pública: estado, publicación, cierre de ofertas con hora y zona, cronograma, documentos con identificador, tipo, versión y hora, modificaciones y cambios entre lecturas. Solo modalidades competitivas. Si aún no se ha leído, responde 202 y se lee en unos minutos.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/secop1/proceso/26-1-246495"
GET /v1/proceso/{portafolio}
Un proceso de SECOP II (CO1.BDOS.n): sus datos, proponentes, ofertas y contratos firmados.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/proceso/CO1.BDOS.1234567"
GET /v1/proceso/{portafolio}/documentos
Enlaces oficiales a los documentos del proceso (pliego, evaluación, adjudicación, contrato…), solo de una lista blanca de tipos.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/proceso/CO1.BDOS.1234567/documentos"
GET /v1/proceso/{portafolio}/evaluacion
Cómo evaluó la entidad a cada proponente de un proceso de SECOP II: habilitación jurídica, técnica y financiera, rechazo y su causal, puntaje por criterio y orden de elegibilidad. Se leen del informe de evaluación del expediente cuando existe y se publican solo si su aritmética cuadra (cobertura parcial; si aún no se ha leído, se pide con POST …/evaluacion/extraer). Una fila por proponente, lote y documento; solo_vigentes=true deja la del documento más firme. Solo sociedades y consorcios: un proceso con un contrato con persona natural responde 403.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/proceso/CO1.BDOS.10616066/evaluacion?solo_vigentes=true"
GET /v1/contrato/{id}/modificaciones
Adiciones, prórrogas y liquidación de un contrato de SECOP II (CO1.PCCNTR.n), con el resumen valor inicial, adiciones y valor final.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/contrato/CO1.PCCNTR.1234567/modificaciones"
GET /v1/registro/buscar?q=
Busca por razón social, también parcial y con erratas, entre las sociedades del registro mercantil (RUES), tengan o no contratos con el Estado. Al menos 3 letras o cifras sin contar la forma societaria; coincidencia=literal deja solo la coincidencia exacta, el prefijo o la palabra completa. Solo con clave de cliente.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/registro/buscar?q=BANCOLOMBIA&coincidencia=literal"
GET /v1/registro/{nit}
Las matrículas RUES de una sociedad, con o sin contratos: razón social, cámara de comercio, estado, forma jurídica, actividades CIIU, fechas y último año renovado, y si la matrícula lleva inscripción en el RUP. tiene_ficha_publica dice si la empresa tiene ficha en la web. Solo con clave de cliente.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/registro/890903938"
GET /v1/meta/fuentes
Matriz de fuentes: por cada dataset oficial, para qué se usa, el período que cubre, el corte, la última sincronización correcta, la frecuencia, el retraso actual y el máximo esperado, y su cobertura. Sirve para decir hasta qué fecha está al día un dato. Instantes en UTC.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/meta/fuentes"
POST /v1/empresa/{nit}/rup
Sube el certificado RUP de una sociedad en PDF (multipart, campo certificado, hasta 10 MB): el certificado electrónico que expide la cámara de comercio, que trae capa de texto. Uno escaneado queda rechazado. Responde 202 con un id_carga. Solo con clave de cliente, y el RUP lo ve solo la cuenta que lo subió.
curl -H "Authorization: Bearer $CLAVE" -F "certificado=@rup.pdf" "https://api.radicadouno.co/v1/empresa/890903938/rup"
GET /v1/rup/{id_carga}
Estado de una carga: recibido, procesando, listo, rechazado o error, con el motivo.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/rup/ID_CARGA"
GET /v1/empresa/{nit}/rup
El último RUP válido de esa sociedad que aportó tu cuenta: vigencia y firmeza, indicadores por corte, clasificación UNSPSC y experiencia propia, en consorcio (con el valor atribuible) y de socios, cada dato con la página del certificado. No se verifica contra la cámara: el código de verificación va en la respuesta.
curl -H "Authorization: Bearer $CLAVE" "https://api.radicadouno.co/v1/empresa/890903938/rup"
Los identificadores CO1.BDOS… y CO1.PCCNTR… de los ejemplos son ilustrativos: los reales salen de las participaciones, los procesos y el historial de contratos. La guía completa (esquema de cada respuesta, filtros, límites y qué no cubre cada fuente) se entrega con el plan Business; pídala en hola@radicadouno.co.
Disponibilidad
El estado de la web, la API y el servidor MCP, con la disponibilidad medida de 30 y 90 días, los incidentes y la latencia de cada operación, está en /estado y, para leerlo desde su sistema, en GET /v1/estado, sin clave.
Servidor MCP
Si en vez de código propio quieres que un agente de IA consulte estos datos directamente, está el servidor MCP: veintisiete herramientas, cuatro de ellas sin clave (diez comprobaciones gratuitas al día y las de contratar). Con la clave del plan Business se abren además las veintitrés de datos completos, diecisiete de ellas de licitaciones y registro mercantil (las mismas rutas de arriba). El plan Pro no las incluye: su clave abre la API REST de fichas, búsqueda y red; la de licitaciones va en Business.
¿Perdiste tu clave? No se puede recuperar, solo revocar y emitir una nueva — escríbenos desde radicadouno.co/contacto. Condiciones completas en los términos de servicio.