Endpoint: registros sanitarios del INVIMA

Busca un registro sanitario del INVIMA por su número (incluidas las notificaciones sanitarias NSO y los permisos), por el expediente o por texto libre —el nombre del producto o el del titular— y devuelve en JSON el producto, el titular, el estado del registro, sus fechas de expedición y vencimiento y la categoría: medicamentos, alimentos y bebidas, cosméticos, productos de aseo o dispositivos médicos. Sirve para validar un producto antes de listarlo en un marketplace, comprarlo para una cadena o distribuirlo. Cero resultados es una respuesta válida y se cobra.

POST/api/invima1 crédito

Registros sanitarios del INVIMA —medicamentos, alimentos y bebidas, cosméticos, productos de aseo y dispositivos médicos— por número de registro (incluidas notificaciones NSO y permisos), por expediente o por texto libre (producto o titular). Devuelve producto, titular, estado del registro («Vigente», «Vencido», «En tramite renov»…), fechas de expedición y vencimiento, categoría, grupo y, en dispositivos, marca y clase de riesgo. Páginas de 20 con offset. En una búsqueda por texto muy amplia la lista es una MUESTRA ordenada por número de registro (no por relevancia), paginacion.truncado llega en true y total es una cota inferior: para una lista exacta, buscar por registro o acotar con categoria; un offset más allá de lo que la muestra alcanza responde 400. Cero resultados responde 200 con resultados: [] y COBRA: es el hallazgo («ese producto no tiene registro»). Responde en ~1 s. Cuesta 1 crédito.

Para qué sirve, quién lo usa y cuánto cuesta: API del INVIMA.

Cuerpo de la solicitud

body (JSON)
{
  "registro": "INVIMA 2099M-0000001-R1"
}
Parámetros del cuerpo de la solicitud
CampoTipoQué es
registrostringNúmero de registro sanitario, notificación o permiso, con o sin el prefijo «INVIMA». Alias: `registroSanitario`. Manda sobre `expediente` y `texto`.
expedientestringNúmero de expediente, solo dígitos. Manda sobre `texto`.
textostringTexto libre, mínimo 3 caracteres: nombre del producto o del titular. Alias: `q`, `producto`, `titular`.
categoriastringOpcional: limita la búsqueda a un grupo de productos. Sin ella se busca en todos.Valores: medicamentos · alimentos-cosmeticos-aseo · dispositivos
offsetintegerPaginación de 20 en 20 (hasta 500).
refreshbooleanIgnora la caché y vuelve a consultar la fuente oficial. Ojo: una consulta refrescada con datos siempre cobra (el hit de caché no).

Ejemplos por lenguaje

cURL
curl -X POST 'https://placapi.com/api/invima' \
  -H 'x-api-key: pk_live_TU_CLAVE' \
  -H 'content-type: application/json' \
  -d '{"registro":"INVIMA 2099M-0000001-R1"}'
JavaScript (fetch)
const res = await fetch("https://placapi.com/api/invima", {
  method: "POST",
  headers: {
    "x-api-key": "pk_live_TU_CLAVE",
    "content-type": "application/json",
  },
  body: JSON.stringify({"registro":"INVIMA 2099M-0000001-R1"}),
});
const data = await res.json();
Python (requests)
import requests

res = requests.post(
    "https://placapi.com/api/invima",
    headers={"x-api-key": "pk_live_TU_CLAVE"},
    json={"registro":"INVIMA 2099M-0000001-R1"},
)
data = res.json()

Respuesta exitosa

200 OK — ejemplo (placas y documentos ficticios)
{
  "source": "registro-sanitario",
  "status": "ok",
  "data": {
    "resultados": [
      {
        "registroSanitario": "INVIMA 2099M-0000001-R1",
        "producto": "PRODUCTO DE PRUEBA 160/5/12.5",
        "titular": "LABORATORIOS EJEMPLO S.A.",
        "estado": "Vigente",
        "fechaExpedicion": "2012-08-23",
        "fechaVencimiento": null,
        "categoria": "medicamentos",
        "grupo": null,
        "expediente": "20000001",
        "marca": null,
        "nivelRiesgo": null
      }
    ],
    "total": 1,
    "paginacion": {
      "offset": 0,
      "limit": 20,
      "hayMas": false,
      "truncado": false
    }
  },
  "mode": "live",
  "fetchedAt": "2026-07-24T15:04:05.000Z",
  "cost": 1
}

Errores y cobro

Cuesta 1 crédito cuando devuelve datos. Códigos posibles: 400 401 402 404 429 500 502 — qué significa cada uno, cuál reintentar y cuál cobra, en errores y rate limits. Autenticación por x-api-key: cómo generar la clave.

Última revisión: 16 de octubre de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.

Contacto