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.
Source contract
- Publisher
- SUNAT, Peru
- Coverage
- Legal-entity RUCs in the published economic-activity padron.
- Record meaning
- A taxpayer activity profile with declared workforce and principal geography.
- Identifier
- Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
- Accepted pattern
^20\d{9}$- Cardinality
one- License
- Reuse permission has not been verified. Public access is not a reuse license.
Known limitations
- Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code.
Parameters
rucstringpathrequiredRUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.
Example: 20100017491
Request example
curl https://api.latinfo.dev/pe/sunat/ciiu/ruc/20100017491 \
-H "Authorization: Bearer $LATINFO_API_KEY"
Responses
200Published source records. Missing data is not a clearance or a negative finding.
Response headers
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/jsonResponse fields
ruc string requiredLookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
tipo_contribuyente string requiredPublished taxpayer-type label; not reliable by itself for legal/natural-person classification.
ciiu_principal string requiredPrincipal economic-activity description, Rev. 4 with Rev. 3 fallback; not a numeric activity code.
ciiu_r3_principal string requiredOriginal Rev. 3 principal economic-activity description.
ciiu_secundaria string requiredOriginal Rev. 3 secondary economic-activity description.
nro_trabajadores string requiredDeclared workforce count, not independently verified. Unit: people.
people
comercio_exterior string requiredPublished import/export activity designation.
sistema_contabilidad string requiredPublished accounting system: manual, computerized or both.
estado string requiredPublisher status; interpret in the context of this dataset.
condicion string requiredPublished fiscal-address condition; distinct from taxpayer status.
departamento string requiredPublished department name.
provincia string requiredPublished province name.
distrito string requiredPublished district name.
ubigeo string requiredSix-digit INEI district code; retain leading zeros.
Response schema
{
"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.
Example JSON
Illustrative schema example. This is not a live response.
{
"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"
}Provenance and limitations
Coverage varies by country and public source. A missing field is not evidence that the underlying fact does not exist. Public registries may be delayed or contain source errors; inspect the returned evidence and source date before relying on a result.