api · Documentación
Iniciar sesión

Consulta de RUC

GET/ruc/{numero}

Consulta datos de una empresa/contribuyente por su RUC, contra la cache local de la API.

Parámetros

NombreTipoDescripción
numeroruta11 dígitos, con dígito verificador válido.

Ejemplo

curl https://mblapirest.com/api/v1/ruc/20123456789 \
  -H "Authorization: Bearer TU_API_TOKEN"
{
  "success": true,
  "data": {
    "razon_social": "EMPRESA EJEMPLO S.A.C.",
    "numero_documento": "20123456789",
    "estado": "ACTIVO",
    "condicion": "HABIDO",
    "direccion": "AV. EJEMPLO NRO. 456 URB. SANTA CRUZ",
    "ubigeo": "150131",
    "via_tipo": "AV.",
    "via_nombre": "EJEMPLO",
    "zona_codigo": "URB.",
    "zona_tipo": "SANTA CRUZ",
    "numero": "456",
    "interior": "-",
    "lote": "-",
    "dpto": "-",
    "manzana": "-",
    "kilometro": "-",
    "distrito": "SAN ISIDRO",
    "provincia": "LIMA",
    "departamento": "LIMA"
  }
}

Las banderas de retención, buen contribuyente, percepción, sujeto sin capacidad operativa, deuda coactiva, la lista de padrones y los locales anexos salen solo en RUC Completo (/ruc/plus/{numero}).

Campos de la dirección

La dirección viene armada en direccion y además desglosada en sus piezas, tal como las publica SUNAT en su padrón, por si necesitas rearmarla con otro formato. Las piezas vacías llegan como "-" (es el marcador que usa SUNAT, no una cadena vacía).

CampoDescripción
via_tipo / via_nombreTipo y nombre de la vía. Ej. AV. + EJEMPLO.
zona_codigo / zona_tipoTipo y nombre de la zona. Ej. URB. + SANTA CRUZ. Los nombres vienen cruzados así desde SUNAT: el "código" es el tipo y el "tipo" es el nombre.
numero, interior, lote, dpto, manzana, kilometroResto de componentes. dpto es el departamento/apartamento del edificio, no el departamento del Perú.
ubigeoCódigo INEI de 6 dígitos. distrito, provincia y departamento se resuelven a partir de él.

Padrones de SUNAT

El bloque padrones lista los padrones oficiales en los que figura el RUC, con la fecha desde la que rige y la resolución que lo sustenta. Va en RUC Completo (/ruc/plus/{numero}). Se arma con los archivos que SUNAT publica. Si el RUC no figura en ninguno, llega como lista vacía.

PadrónQué significa
buen_contribuyenteRégimen de Buenos Contribuyentes. Va en RUC Completo como es_buen_contribuyente.
agente_retencionAgente de retención del IGV: al comprarle, retiene el 3%. Va en RUC Completo como es_agente_retencion.
agente_percepcion_vi / agente_percepcion_combAgente de percepción del IGV, en venta interna o en combustible: al comprarle, te cobra la percepción sobre el total. Este dato va en RUC Completo (/ruc/plus/{numero}).
renuncia_exoneracionRenunció a la exoneración del Apéndice I del IGV, así que sus ventas de esos productos sí llevan IGV.
sscoSujeto sin capacidad operativa (D.L. 1532): sus comprobantes no dan derecho a crédito fiscal ni a costo o gasto desde la fecha en desde (la fecha en que la resolución de atribución quedó firme).
Antes de pagarle a un proveedor: revisa es_sujeto_sin_capacidad_operativa en RUC Completo (/ruc/plus/{numero}). Si llega true, la factura no te sirve para crédito fiscal — es el caso que más caro sale detectar tarde.

Deuda en cobranza coactiva

tiene_deuda_coactiva dice si el RUC figura en la relación de deuda en cobranza coactiva de SUNAT. El monto, la dependencia que cobra y los representantes legales vigentes van en cobranza_coactiva. Ambos campos van solo en RUC Completo (/ruc/plus/{numero}).

Qué significa que cobranza_coactiva llegue null: solo que el RUC no está en esa lista. La relación cubre principales y medianos contribuyentes con deuda mayor a 5 UIT y no incluye deuda en litigio ni en proceso concursal, así que null no es un certificado de que esté al día.
Si el RUC no está en la cache local, la respuesta es {"success": false, "message": "El RUC no fue encontrado."}. Para consultar en vivo directo a SUNAT (RUCs nuevos, o datos más completos), ver "RUC Completo" abajo.

RUC Completo (consulta en vivo)

Requiere el servicio "Consulta de RUC Completo" habilitado en tu plan (distinto del básico de arriba) — consulta en vivo directo al portal de SUNAT, sin cache: incluye representante legal (para RUCs de empresa), domicilio fiscal completo con ubigeo resuelto, y todos los campos que SUNAT expone en su ficha pública.

GET/ruc/plus/{numero}

curl https://mblapirest.com/api/v1/ruc/plus/20123456789 \
  -H "Authorization: Bearer TU_API_TOKEN"
{
  "success": true,
  "data": {
    "n_mero_de_ruc": "20123456789 - EMPRESA EJEMPLO S.A.C.",
    "tipo_contribuyente": "SOCIEDAD ANONIMA CERRADA",
    "nombre_comercial": "EJEMPLO",
    "fecha_de_inscripci_n": "25/06/2023",
    "estado_contribuyente": "ACTIVO",
    "condici_n_del_contribuyente": "HABIDO",
    "domicilio_fiscal": "AV. EJEMPLO NRO. 456 URB. SANTA CRUZ LIMA - LIMA - SAN ISIDRO",
    "representante_legal": [
      { "tipo_documento": "DNI", "numero_documento": "12345678", "nombre": "...", "cargo": "GERENTE GENERAL", "fecha_desde": "..." }
    ],
    "cobranza_coactiva": {
      "monto": 1344615807,
      "moneda": "PEN",
      "dependencia": "I.Lima",
      "cantidad_representantes": 2,
      "representantes": [
        { "tipo_documento": "", "numero_documento": "", "nombre": "...", "cargo": "GERENTE GENERAL", "fecha_desde": "25/04/2003" }
      ],
      "actualizado_en": "2026-10-01 04:45:00",
      "fuente": "SUNAT, relacion de contribuyentes con deuda exigible en cobranza coactiva mayor a 5 UIT"
    }
  }
}
cobranza_coactiva llega como null cuando el RUC no figura en esa relación, que es el caso normal. Cuando llega con datos, el monto está en soles y los representantes vienen con el documento de identidad vacío: ese archivo de SUNAT publica el nombre y el cargo, no el DNI.
Ojo con los nombres de campo: este endpoint devuelve las claves tal como las rotula SUNAT en su ficha, con los acentos recortados — de ahí n_mero_de_ruc, condici_n_del_contribuyente, fecha_de_inscripci_n. Además n_mero_de_ruc trae el RUC y la razón social juntos en un solo texto, separados por " - ". Si prefieres nombres limpios y estables, usa la consulta básica de arriba.

Buscar RUC por DNI

GET/ruc/dni/{numero}

Lista los RUC de persona natural asociados a un DNI (en el RUC de 11 dígitos de una persona natural, los dígitos 3 a 10 son su DNI — por eso no hace falta scraping en vivo). Usa el mismo servicio "ruc" de la consulta básica, no requiere "Consulta de RUC Completo".

NombreTipoDescripción
numerorutaDNI, 8 dígitos.
pagequery, opcionalPágina de resultados, 50 por página. Por defecto 1.
curl https://mblapirest.com/api/v1/ruc/dni/12345678 \
  -H "Authorization: Bearer TU_API_TOKEN"
{
  "success": true,
  "data": [
    {
      "id": "123456",
      "ruc": "10123456789",
      "razon": "APELLIDOS NOMBRES",
      "estado": "ACTIVO",
      "condicion": "HABIDO"
    }
  ],
  "page": 1
}
Devuelve una lista (puede estar vacía si el DNI no tiene RUC propio) con los campos básicos de cada RUC encontrado — para la ficha completa de uno en particular, consulta /ruc/{numero} (arriba) con ese RUC.

Búsqueda por razón social

POST/ruc/plus/name — también requiere "Consulta de RUC Completo".

curl -X POST https://mblapirest.com/api/v1/ruc/plus/name \
  -H "Authorization: Bearer TU_API_TOKEN" \
  -d "name=EMPRESA EJEMPLO"
{
  "success": true,
  "data": [
    { "ruc": "20123456789", "razon_social": "EMPRESA EJEMPLO S.A.C.", "ubicacion": "LIMA", "estado": "ACTIVO" }
  ]
}

Última actualización: 03/10/2026