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.

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.

Machine-readable source contract · Source documentation

Authentication required. REST requests use a Latinfo API key. The interactive console builds the authorization header and does not store the key.

Parameters

rucstringpathrequired

RUC 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-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

Response fields

ruc string required

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

tipo_contribuyente string required

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

ciiu_principal string required

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

ciiu_r3_principal string required

Original Rev. 3 principal economic-activity description.

ciiu_secundaria string required

Original Rev. 3 secondary economic-activity description.

nro_trabajadores string required

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

people

comercio_exterior string required

Published import/export activity designation.

sistema_contabilidad string required

Published accounting system: manual, computerized or both.

estado string required

Publisher status; interpret in the context of this dataset.

condicion string required

Published fiscal-address condition; distinct from taxpayer status.

departamento string required

Published department name.

provincia string required

Published province name.

distrito string required

Published district name.

ubigeo string required

Six-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.
No response body documented.
401Missing or invalid API key. Authenticate before retrying.
No response body documented.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
No response body documented.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
No response body documented.
503Source unavailable. Report unavailable, not an empty result.
No response body documented.
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.