Peru · pe_sunat_ciiu_ruc
OpenAPI

Lookup sunat · ciiu by RUC

GET https://api.latinfo.dev/pe/sunat/ciiu/ruc/{ruc}

A taxpayer activity profile with declared workforce and principal geography. Coverage: Legal-entity RUCs in the published economic-activity padron. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code. Returns one record. Import time is not observation time; inspect freshness headers.

Contrato de la fuente

Publicador
SUNAT, Peru
Cobertura
Legal-entity RUCs in the published economic-activity padron.
Qué representa un registro
A taxpayer activity profile with declared workforce and principal geography.
Identificador
Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
Patrón admitido
^20\d{9}$
Cantidad de registros
one
Licencia
No se ha verificado el permiso de reutilización. El acceso público no equivale a una licencia de reutilización.

Limitaciones conocidas

  • Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code.

Contrato de la fuente para agentes · Documentación de la fuente

Requiere autenticación. Las solicitudes REST usan una clave de api de Latinfo. La consola agrega el encabezado de autorización y no guarda la clave.

Parámetros

rucstringpathobligatorio

RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.

Example: 20100017491

Ejemplo de solicitud

curl https://api.latinfo.dev/pe/sunat/ciiu/ruc/20100017491 \
  -H "Authorization: Bearer $LATINFO_API_KEY"

Respuestas

200Published source records. Missing data is not a clearance or a negative finding.

Encabezados de la respuesta

X-Latinfo-Imported-At

Import time, not the date of the government observation.

X-Source-Updated-At

Publisher update time, when known.

X-Latest-Observation-At

Latest date in returned records, when known.

X-Freshness-Status

string

CURRENT · DELAYED · STALE · UNKNOWN
X-Credits-Cost

Actual credits charged for this request.

X-Source-Generation

Opaque immutable source generation. Follow the guarded next-page Link when collecting a history.

Content-Type: application/json

Campos de la respuesta

ruc string obligatorio

Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.

tipo_contribuyente string obligatorio

Published taxpayer-type label; not reliable by itself for legal/natural-person classification.

ciiu_principal string obligatorio

Principal economic-activity description, Rev. 4 with Rev. 3 fallback; not a numeric activity code.

ciiu_r3_principal string obligatorio

Original Rev. 3 principal economic-activity description.

ciiu_secundaria string obligatorio

Original Rev. 3 secondary economic-activity description.

nro_trabajadores string obligatorio

Declared workforce count, not independently verified. Unit: people.

people

comercio_exterior string obligatorio

Published import/export activity designation.

sistema_contabilidad string obligatorio

Published accounting system: manual, computerized or both.

estado string obligatorio

Publisher status; interpret in the context of this dataset.

condicion string obligatorio

Published fiscal-address condition; distinct from taxpayer status.

departamento string obligatorio

Published department name.

provincia string obligatorio

Published province name.

distrito string obligatorio

Published district name.

ubigeo string obligatorio

Six-digit INEI district code; retain leading zeros.

Esquema de respuesta
{
  "type": "object",
  "properties": {
    "ruc": {
      "type": "string",
      "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below."
    },
    "tipo_contribuyente": {
      "type": "string",
      "description": "Published taxpayer-type label; not reliable by itself for legal/natural-person classification.",
      "x-latinfo-meaning": "text"
    },
    "ciiu_principal": {
      "type": "string",
      "description": "Principal economic-activity description, Rev. 4 with Rev. 3 fallback; not a numeric activity code.",
      "x-latinfo-meaning": "text"
    },
    "ciiu_r3_principal": {
      "type": "string",
      "description": "Original Rev. 3 principal economic-activity description.",
      "x-latinfo-meaning": "text"
    },
    "ciiu_secundaria": {
      "type": "string",
      "description": "Original Rev. 3 secondary economic-activity description.",
      "x-latinfo-meaning": "text"
    },
    "nro_trabajadores": {
      "type": "string",
      "description": "Declared workforce count, not independently verified. Unit: people.",
      "x-latinfo-meaning": "quantity",
      "x-latinfo-unit": "people"
    },
    "comercio_exterior": {
      "type": "string",
      "description": "Published import/export activity designation.",
      "x-latinfo-meaning": "text"
    },
    "sistema_contabilidad": {
      "type": "string",
      "description": "Published accounting system: manual, computerized or both.",
      "x-latinfo-meaning": "text"
    },
    "estado": {
      "type": "string",
      "description": "Publisher status; interpret in the context of this dataset.",
      "x-latinfo-meaning": "text"
    },
    "condicion": {
      "type": "string",
      "description": "Published fiscal-address condition; distinct from taxpayer status.",
      "x-latinfo-meaning": "text"
    },
    "departamento": {
      "type": "string",
      "description": "Published department name.",
      "x-latinfo-meaning": "text"
    },
    "provincia": {
      "type": "string",
      "description": "Published province name.",
      "x-latinfo-meaning": "text"
    },
    "distrito": {
      "type": "string",
      "description": "Published district name.",
      "x-latinfo-meaning": "text"
    },
    "ubigeo": {
      "type": "string",
      "description": "Six-digit INEI district code; retain leading zeros.",
      "x-latinfo-meaning": "code"
    }
  },
  "required": [
    "ruc",
    "tipo_contribuyente",
    "ciiu_principal",
    "ciiu_r3_principal",
    "ciiu_secundaria",
    "nro_trabajadores",
    "comercio_exterior",
    "sistema_contabilidad",
    "estado",
    "condicion",
    "departamento",
    "provincia",
    "distrito",
    "ubigeo"
  ],
  "additionalProperties": false
}
400Invalid identifier or query. Correct the input before retrying.
No se documentó un cuerpo de respuesta.
401Missing or invalid API key. Authenticate before retrying.
No se documentó un cuerpo de respuesta.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
No se documentó un cuerpo de respuesta.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
No se documentó un cuerpo de respuesta.
503Source unavailable. Report unavailable, not an empty result.
No se documentó un cuerpo de respuesta.
Ejemplo JSON

Ejemplo ilustrativo del esquema. No es una respuesta en vivo.

{
  "ruc": "string",
  "tipo_contribuyente": "string",
  "ciiu_principal": "string",
  "ciiu_r3_principal": "string",
  "ciiu_secundaria": "string",
  "nro_trabajadores": "string",
  "comercio_exterior": "string",
  "sistema_contabilidad": "string",
  "estado": "string",
  "condicion": "string",
  "departamento": "string",
  "provincia": "string",
  "distrito": "string",
  "ubigeo": "string"
}

Procedencia y limitaciones

La cobertura varía por país y fuente pública. Un campo ausente no demuestra que el hecho no exista. Los registros públicos pueden tener retrasos o errores; revisa la evidencia y la fecha de la fuente antes de usar un resultado.