Lookup sunat · ciiu by RUC
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
Parámetros
rucstringpathobligatorioRUC 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-AtImport time, not the date of the government observation.
X-Source-Updated-AtPublisher update time, when known.
X-Latest-Observation-AtLatest date in returned records, when known.
X-Freshness-Statusstring
CURRENT · DELAYED · STALE · UNKNOWNX-Credits-CostActual credits charged for this request.
X-Source-GenerationOpaque immutable source generation. Follow the guarded next-page Link when collecting a history.
application/jsonCampos de la respuesta
ruc string obligatorioLookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
tipo_contribuyente string obligatorioPublished taxpayer-type label; not reliable by itself for legal/natural-person classification.
ciiu_principal string obligatorioPrincipal economic-activity description, Rev. 4 with Rev. 3 fallback; not a numeric activity code.
ciiu_r3_principal string obligatorioOriginal Rev. 3 principal economic-activity description.
ciiu_secundaria string obligatorioOriginal Rev. 3 secondary economic-activity description.
nro_trabajadores string obligatorioDeclared workforce count, not independently verified. Unit: people.
people
comercio_exterior string obligatorioPublished import/export activity designation.
sistema_contabilidad string obligatorioPublished accounting system: manual, computerized or both.
estado string obligatorioPublisher status; interpret in the context of this dataset.
condicion string obligatorioPublished fiscal-address condition; distinct from taxpayer status.
departamento string obligatorioPublished department name.
provincia string obligatorioPublished province name.
distrito string obligatorioPublished district name.
ubigeo string obligatorioSix-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.
401Missing or invalid API key. Authenticate before retrying.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
503Source unavailable. Report unavailable, not an empty result.
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.