Endpoint: afiliaciones a seguridad social (RUAF)

Devuelve en una sola llamada todas las afiliaciones de una persona al sistema de seguridad social según el RUAF del Ministerio de Salud: salud con su EPS, régimen, tipo de afiliado y estado; pensiones con fondo y régimen; riesgos laborales; caja de compensación; cesantías; si está pensionada y a qué programas de asistencia social está vinculada. Requiere la fecha de expedición del documento porque la exige la fuente para autenticar, y el campo fechaCorte dice hasta cuándo están actualizados los datos, que no es la fecha de la consulta.

POST/api/ruaf2 créditos

Todas las afiliaciones de una persona al sistema de seguridad social, del RUAF del Ministerio de Salud, en UNA llamada: **salud** (EPS, régimen, tipo de afiliado y estado), **pensiones** (fondo y régimen), **riesgos laborales** (ARL), **caja de compensación**, **cesantías**, si está **pensionada** y a qué **programas de asistencia social** está vinculada. Responde "¿esta persona está cotizando hoy, dónde y por qué régimen?" — la pregunta de una vinculación laboral o un estudio de seguridad. Requiere la **fecha de expedición** del documento: la exige la fuente para autenticar, no nosotros. `fechaCorte` dice hasta cuándo están actualizados los datos, que NO es la fecha de la consulta: el Ministerio consolida con rezago. **Cuesta 2 créditos** — es el scrape más caro del catálogo de personas y sustituye a siete consultas. ⏱️ **Es también el más lento: cuenta con decenas de segundos**, porque el informe lo genera un visor de reportes del Ministerio que no se puede apurar; conviene llamarlo de forma asíncrona y no dentro de una petición web con el usuario esperando. Una fecha que no coincide responde 404 y no cobra.

Cuerpo de la solicitud

body (JSON)
{
  "docType": "CC",
  "docNumber": "1020304050",
  "fechaExpedicion": "05/10/2018"
}
Parámetros del cuerpo de la solicitud
CampoTipoQué es
docTypestringTipo de documento. Por defecto `CC`. Con NIT responde 400 `tipo_documento_no_soportado`: el RUAF es un registro de personas naturales.Valores: CC · CE · TI · RC · PA · PPT · PEP
docNumberobligatoriostringNúmero de documento. Alias aceptados: `doc`, `documento`.
fechaExpedicionobligatoriostringFecha de expedición del documento en formato **DD/MM/AAAA**. Se aceptan guiones y puntos como separador y se normalizan. NO se acepta AAAA-MM-DD: la fuente lo leería al revés y respondería "no coincide" sin explicar por qué. Alias aceptados: `fecha`, `fecha_expedicion`.
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/ruaf' \
  -H 'x-api-key: pk_live_TU_CLAVE' \
  -H 'content-type: application/json' \
  -d '{"docType":"CC","docNumber":"1020304050","fechaExpedicion":"05/10/2018"}'
JavaScript (fetch)
const res = await fetch("https://placapi.com/api/ruaf", {
  method: "POST",
  headers: {
    "x-api-key": "pk_live_TU_CLAVE",
    "content-type": "application/json",
  },
  body: JSON.stringify({"docType":"CC","docNumber":"1020304050","fechaExpedicion":"05/10/2018"}),
});
const data = await res.json();
Python (requests)
import requests

res = requests.post(
    "https://placapi.com/api/ruaf",
    headers={"x-api-key": "pk_live_TU_CLAVE"},
    json={"docType":"CC","docNumber":"1020304050","fechaExpedicion":"05/10/2018"},
)
data = res.json()

Respuesta exitosa

200 OK — datos ficticios de ejemplo
{
  "source": "afiliaciones-seguridad-social",
  "status": "info",
  "data": {
    "documento": "1020304050",
    "tipoDocumento": "CC",
    "fechaCorte": "2026-08-14",
    "persona": {
      "nombre": "MARIA FERNANDA GOMEZ RUIZ",
      "primerNombre": "MARIA",
      "segundoNombre": "FERNANDA",
      "primerApellido": "GOMEZ",
      "segundoApellido": "RUIZ",
      "sexo": "F"
    },
    "salud": {
      "tiene": true,
      "registros": [
        {
          "administradora": "NUEVA EPS S.A.",
          "regimen": "Contributivo",
          "fechaAfiliacion": "01/11/2024",
          "estado": "Activo",
          "tipoAfiliado": "COTIZANTE",
          "ubicacion": "SANTIAGO DE CALI",
          "actividadEconomica": "",
          "tipoMiembro": ""
        }
      ]
    },
    "pensiones": {
      "tiene": true,
      "registros": [
        {
          "administradora": "FONDO DE PENSIONES DE EJEMPLO S.A.",
          "regimen": "PENSIONES: AHORRO INDIVIDUAL",
          "fechaAfiliacion": "2022-09-06",
          "estado": "Inactivo",
          "tipoAfiliado": "",
          "ubicacion": "",
          "actividadEconomica": "",
          "tipoMiembro": ""
        }
      ]
    },
    "riesgosLaborales": {
      "tiene": true,
      "registros": []
    },
    "compensacionFamiliar": {
      "tiene": true,
      "registros": []
    },
    "cesantias": {
      "tiene": true,
      "registros": []
    },
    "pensionado": {
      "tiene": false,
      "registros": []
    },
    "asistenciaSocial": {
      "tiene": true,
      "registros": [
        {
          "administradora": "DEPARTAMENTO PARA LA PROSPERIDAD SOCIAL",
          "programa": "Jovenes en Acción",
          "fechaVinculacion": "2020-09-03",
          "estadoVinculacion": "Activo",
          "estadoBeneficio": "Terminado",
          "fechaUltimoBeneficio": "2021-10-29",
          "ubicacion": "Risaralda- PEREIRA"
        }
      ]
    }
  },
  "mode": "live",
  "fetchedAt": "2026-07-24T15:04:05.000Z",
  "cost": 2
}

Errores y cobro

Cuesta 2 créditos 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: 23 de agosto de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.

Contacto