Skip to main content
El Instituto Nacional de Vigilancia de Medicamentos y Alimentos (INVIMA) es la autoridad sanitaria de Colombia. Nada de lo que regula puede venderse en el país sin su registro sanitario o, para cosméticos y productos de aseo de bajo riesgo, su notificación sanitaria obligatoria (NSO): medicamentos, alimentos y bebidas, cosméticos, dispositivos médicos, reactivos de diagnóstico, suplementos dietarios, biológicos, homeopáticos y fitoterapéuticos, productos odontológicos y plaguicidas. Este es el registro completo, cerca de 385.000 registros vigentes o vencidos, cada uno con su número, fechas, titular, todos los nombres de producto que ampara y cada empresa o persona con un rol en él. Para medicamentos baja un nivel más: cada presentación comercial, cerca de 163.000, con su código CUM (Código Único de Medicamento), código ATC, forma farmacéutica, principios activos y concentración, vía, presentación y si está activa. Busca registros por producto, número, titular, grupo, estado o vencimiento; busca medicamentos por principio activo, código ATC, nombre o titular; y luego lee un registro por su expediente o una presentación por su CUM.
La fuente entera, organizada y lista para consultar: cada endpoint de esta página responde en milisegundos. Cada respuesta incluye as_of: qué tan actualizados están los datos. Cómo funcionan los datasets.

Buscar registros sanitarios

POST /co/invima/registrations-search/v1 Dataset Una sola búsqueda sobre cada registro y notificación, en todos los grupos de productos, por producto, número, titular, grupo, estado o vencimiento.
Devuelve as_of (qué tan actualizados están los datos), los filtros aplicados, total y total_is_exact, page, per_page, total_pages, count y results[], del vencimiento más lejano al más antiguo. Cada registro incluye id (el número de expediente del INVIMA), registration_number (como lo escribe el INVIMA, p. ej. INVIMA 2020M-0019848), product y products (todos los nombres de producto que ampara), product_group (p. ej. MEDICAMENTOS, ALIMENTOS, COSMETICOS, MEDICO QUIRURGICOS), directorate, status (Vigente o Vencido), issued_at, expires_at, holder, modality (p. ej. FABRICAR Y VENDER), risk_level (dispositivos y reactivos), uses, shelf_life, parties[] (role y name: fabricantes, importadores, acondicionadores, apoderados, representantes legales, químicos farmacéuticos) y entries.

Un registro

POST /co/invima/registration/v1 Dataset
Devuelve as_of, found, file_number y registration. Cada registro incluye id (el número de expediente del INVIMA), registration_number (como lo escribe el INVIMA, p. ej. INVIMA 2020M-0019848), product y products (todos los nombres de producto que ampara), product_group (p. ej. MEDICAMENTOS, ALIMENTOS, COSMETICOS, MEDICO QUIRURGICOS), directorate, status (Vigente o Vencido), issued_at, expires_at, holder, modality (p. ej. FABRICAR Y VENDER), risk_level (dispositivos y reactivos), uses, shelf_life, parties[] (role y name: fabricantes, importadores, acondicionadores, apoderados, representantes legales, químicos farmacéuticos) y entries.
Un número bajo el cual el INVIMA no lista nada devuelve found: false con HTTP 200, no un error.

Buscar medicamentos

POST /co/invima/medicines-search/v1 Dataset Una sola búsqueda sobre cada presentación de medicamento registrada, por principio activo, código ATC, nombre, número, titular o estado.
Devuelve as_of (qué tan actualizados están los datos), los filtros aplicados, total y total_is_exact, page, per_page, total_pages, count y results[], de la presentación activada más recientemente a la más antigua. Cada presentación incluye id (el código CUM, p. ej. 20042480-41), file_number y cum_sequence (sus dos mitades), registration_number, product, holder, status (el del registro: Vigente, Vencido, Perdida Fuerza Ejec, Cancelado, Negado, Suspendido, En tramite renov y otros), cum_status (activo o inactivo), issued_at, expires_at, cum_active_since, cum_inactive_since, commercial_description, pack_quantity, pack_unit, medical_sample, atc_code, atc_description, pharmaceutical_form, administration_routes[], active_ingredients[] (name, quantity, unit, reference_unit), parties[] (role y name), modality, ium y entries.

Una presentación

POST /co/invima/medicine/v1 Dataset
Devuelve as_of, found, cum y medicine. Cada presentación incluye id (el código CUM, p. ej. 20042480-41), file_number y cum_sequence (sus dos mitades), registration_number, product, holder, status (el del registro: Vigente, Vencido, Perdida Fuerza Ejec, Cancelado, Negado, Suspendido, En tramite renov y otros), cum_status (activo o inactivo), issued_at, expires_at, cum_active_since, cum_inactive_since, commercial_description, pack_quantity, pack_unit, medical_sample, atc_code, atc_description, pharmaceutical_form, administration_routes[], active_ingredients[] (name, quantity, unit, reference_unit), parties[] (role y name), modality, ium y entries.
Un número bajo el cual el INVIMA no lista nada devuelve found: false con HTTP 200, no un error.

Referencia completa

Esquemas, todos los campos de respuesta y un playground interactivo.