Peru · pe_sunat_padron_ruc
OpenAPI

Lookup sunat · padron by RUC

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

A taxpayer registration and fiscal-address components. Coverage: Legal-entity RUCs beginning with 20 in the reduced taxpayer padron. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. departamento is an apartment/unit component, not geography. Taxpayer status and fiscal-address condition are separate. Returns one record. Import time is not observation time; inspect freshness headers.

Source contract

Publisher
SUNAT, Peru
Coverage
Legal-entity RUCs beginning with 20 in the reduced taxpayer padron.
Record meaning
A taxpayer registration and fiscal-address components.
Identifier
Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
Accepted pattern
^\d{11}$
Cardinality
one
License
Reuse permission has not been verified. Public access is not a reuse license.

Known limitations

  • departamento is an apartment/unit component, not geography. Taxpayer status and fiscal-address condition are separate.

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: 20100047218

Request example

curl https://api.latinfo.dev/pe/sunat/padron/ruc/20100047218 \
  -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.

razon_social string required

Registered legal name.

estado string required

Publisher status; interpret in the context of this dataset.

ACTIVO · BAJA DEFINITIVA · BAJA DE OFICIO · BAJA NO ACTIV. SISEV · BAJA PROVISIONAL · BAJA PROV. POR OFICI · BAJA MULT.INSCR. Y O · SUSPENSION TEMPORAL · ANUL.PROVI.-ACTO ILI · ANULACION - ACTO ILI · ANULACION - ERROR SU · INHABILITADO-VENT.UN · NUM. INTERNO IDENTIF · OTROS OBLIGADOS · PENDIENTE DE INI. DE

Value meanings

TAX_REGISTRATION

ACTIVO

Active: SUNAT reports the taxpayer registration as active.

BAJA DEFINITIVA

Definitively cancelled: SUNAT reports the taxpayer registration as definitively cancelled.

BAJA DE OFICIO

Cancelled by SUNAT: SUNAT reports that it cancelled the taxpayer registration on its own initiative.

BAJA NO ACTIV. SISEV

Cancelled for no activity in SISEV: SUNAT reports cancellation because no activity was recorded in the SISEV verification system.

BAJA PROVISIONAL

Provisionally cancelled: SUNAT reports the taxpayer registration as provisionally cancelled.

BAJA PROV. POR OFICI

Provisionally cancelled by SUNAT: SUNAT reports that it provisionally cancelled the taxpayer registration on its own initiative.

BAJA MULT.INSCR. Y O

Cancelled due to multiple registrations or another cause: SUNAT reports cancellation due to multiple registrations or another official cause.

SUSPENSION TEMPORAL

Temporarily suspended: SUNAT reports the taxpayer registration as temporarily suspended.

ANUL.PROVI.-ACTO ILI

Provisionally annulled for an unlawful act: SUNAT reports a provisional annulment associated with an unlawful act.

ANULACION - ACTO ILI

Annulled for an unlawful act: SUNAT reports annulment associated with an unlawful act.

ANULACION - ERROR SU

Annulled due to a SUNAT error: SUNAT reports that the taxpayer registration was annulled due to an authority error.

INHABILITADO-VENT.UN

Disabled in the single-window system: SUNAT reports the taxpayer as disabled in the single-window system.

NUM. INTERNO IDENTIF

Internal identification number: SUNAT classifies this record as an internal identification number; no active-state conclusion is made.

OTROS OBLIGADOS

Other obligated party: SUNAT classifies this record as another type of obligated party; no active-state conclusion is made.

PENDIENTE DE INI. DE

Pending start of activities: SUNAT reports that the taxpayer is pending the start of activities.

condicion string required

Published fiscal-address condition; distinct from taxpayer status.

- · HABIDO · NO APLICABLE · NO HABIDO · NO HALLADO · NO HALLADO CERRADO · NO HALLADO DESTINATA · NO HALLADO FALLECIO · NO HALLADO NO EXISTE · NO HALLADO NRO.PUERT · NO HALLADO OTROS MOT · NO HALLADO RECHAZADO · NO HALLADO SE MUDO D · PENDIENTE · POR VERIFICAR

ubigeo string required

Six-digit INEI district code; retain leading zeros.

tipo_via string required

Published street-type abbreviation.

nombre_via string required

Published street name.

codigo_zona string required

Published zone-type abbreviation.

tipo_zona string required

Published zone name.

numero string required

External street number; not a count.

interior string required

Interior/unit address component.

lote string required

Address lot component.

departamento string required

Apartment/unit address component; not the geographic department.

manzana string required

Address block component.

kilometro string required

Address kilometer marker; not a measured company distance.

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."
    },
    "razon_social": {
      "type": "string",
      "description": "Registered legal name.",
      "x-latinfo-meaning": "text"
    },
    "estado": {
      "type": "string",
      "description": "Publisher status; interpret in the context of this dataset.",
      "x-latinfo-meaning": "text",
      "enum": [
        "ACTIVO",
        "BAJA DEFINITIVA",
        "BAJA DE OFICIO",
        "BAJA NO ACTIV. SISEV",
        "BAJA PROVISIONAL",
        "BAJA PROV. POR OFICI",
        "BAJA MULT.INSCR. Y O",
        "SUSPENSION TEMPORAL",
        "ANUL.PROVI.-ACTO ILI",
        "ANULACION - ACTO ILI",
        "ANULACION - ERROR SU",
        "INHABILITADO-VENT.UN",
        "NUM. INTERNO IDENTIF",
        "OTROS OBLIGADOS",
        "PENDIENTE DE INI. DE"
      ],
      "x-latinfo-vocabulary": {
        "id": "pe.sunat.tax_status.v1",
        "scope": "TAX_REGISTRATION",
        "empty_policy": "reject",
        "values": {
          "ACTIVO": {
            "code": "ACTIVE",
            "label_en": "Active",
            "explanation_en": "SUNAT reports the taxpayer registration as active."
          },
          "BAJA DEFINITIVA": {
            "code": "CANCELLED",
            "label_en": "Definitively cancelled",
            "explanation_en": "SUNAT reports the taxpayer registration as definitively cancelled."
          },
          "BAJA DE OFICIO": {
            "code": "CANCELLED",
            "label_en": "Cancelled by SUNAT",
            "explanation_en": "SUNAT reports that it cancelled the taxpayer registration on its own initiative."
          },
          "BAJA NO ACTIV. SISEV": {
            "code": "CANCELLED",
            "label_en": "Cancelled for no activity in SISEV",
            "explanation_en": "SUNAT reports cancellation because no activity was recorded in the SISEV verification system."
          },
          "BAJA PROVISIONAL": {
            "code": "SUSPENDED",
            "label_en": "Provisionally cancelled",
            "explanation_en": "SUNAT reports the taxpayer registration as provisionally cancelled."
          },
          "BAJA PROV. POR OFICI": {
            "code": "SUSPENDED",
            "label_en": "Provisionally cancelled by SUNAT",
            "explanation_en": "SUNAT reports that it provisionally cancelled the taxpayer registration on its own initiative."
          },
          "BAJA MULT.INSCR. Y O": {
            "code": "CANCELLED",
            "label_en": "Cancelled due to multiple registrations or another cause",
            "explanation_en": "SUNAT reports cancellation due to multiple registrations or another official cause."
          },
          "SUSPENSION TEMPORAL": {
            "code": "SUSPENDED",
            "label_en": "Temporarily suspended",
            "explanation_en": "SUNAT reports the taxpayer registration as temporarily suspended."
          },
          "ANUL.PROVI.-ACTO ILI": {
            "code": "SUSPENDED",
            "label_en": "Provisionally annulled for an unlawful act",
            "explanation_en": "SUNAT reports a provisional annulment associated with an unlawful act."
          },
          "ANULACION - ACTO ILI": {
            "code": "CANCELLED",
            "label_en": "Annulled for an unlawful act",
            "explanation_en": "SUNAT reports annulment associated with an unlawful act."
          },
          "ANULACION - ERROR SU": {
            "code": "CANCELLED",
            "label_en": "Annulled due to a SUNAT error",
            "explanation_en": "SUNAT reports that the taxpayer registration was annulled due to an authority error."
          },
          "INHABILITADO-VENT.UN": {
            "code": "SUSPENDED",
            "label_en": "Disabled in the single-window system",
            "explanation_en": "SUNAT reports the taxpayer as disabled in the single-window system."
          },
          "NUM. INTERNO IDENTIF": {
            "code": "UNKNOWN",
            "label_en": "Internal identification number",
            "explanation_en": "SUNAT classifies this record as an internal identification number; no active-state conclusion is made."
          },
          "OTROS OBLIGADOS": {
            "code": "UNKNOWN",
            "label_en": "Other obligated party",
            "explanation_en": "SUNAT classifies this record as another type of obligated party; no active-state conclusion is made."
          },
          "PENDIENTE DE INI. DE": {
            "code": "PENDING",
            "label_en": "Pending start of activities",
            "explanation_en": "SUNAT reports that the taxpayer is pending the start of activities."
          }
        }
      }
    },
    "condicion": {
      "type": "string",
      "description": "Published fiscal-address condition; distinct from taxpayer status.",
      "x-latinfo-meaning": "text",
      "enum": [
        "-",
        "HABIDO",
        "NO APLICABLE",
        "NO HABIDO",
        "NO HALLADO",
        "NO HALLADO CERRADO",
        "NO HALLADO DESTINATA",
        "NO HALLADO FALLECIO",
        "NO HALLADO NO EXISTE",
        "NO HALLADO NRO.PUERT",
        "NO HALLADO OTROS MOT",
        "NO HALLADO RECHAZADO",
        "NO HALLADO SE MUDO D",
        "PENDIENTE",
        "POR VERIFICAR"
      ]
    },
    "ubigeo": {
      "type": "string",
      "description": "Six-digit INEI district code; retain leading zeros.",
      "x-latinfo-meaning": "code"
    },
    "tipo_via": {
      "type": "string",
      "description": "Published street-type abbreviation.",
      "x-latinfo-meaning": "text"
    },
    "nombre_via": {
      "type": "string",
      "description": "Published street name.",
      "x-latinfo-meaning": "text"
    },
    "codigo_zona": {
      "type": "string",
      "description": "Published zone-type abbreviation.",
      "x-latinfo-meaning": "text"
    },
    "tipo_zona": {
      "type": "string",
      "description": "Published zone name.",
      "x-latinfo-meaning": "text"
    },
    "numero": {
      "type": "string",
      "description": "External street number; not a count.",
      "x-latinfo-meaning": "text"
    },
    "interior": {
      "type": "string",
      "description": "Interior/unit address component.",
      "x-latinfo-meaning": "text"
    },
    "lote": {
      "type": "string",
      "description": "Address lot component.",
      "x-latinfo-meaning": "text"
    },
    "departamento": {
      "type": "string",
      "description": "Apartment/unit address component; not the geographic department.",
      "x-latinfo-meaning": "text"
    },
    "manzana": {
      "type": "string",
      "description": "Address block component.",
      "x-latinfo-meaning": "text"
    },
    "kilometro": {
      "type": "string",
      "description": "Address kilometer marker; not a measured company distance.",
      "x-latinfo-meaning": "text"
    }
  },
  "required": [
    "ruc",
    "razon_social",
    "estado",
    "condicion",
    "ubigeo",
    "tipo_via",
    "nombre_via",
    "codigo_zona",
    "tipo_zona",
    "numero",
    "interior",
    "lote",
    "departamento",
    "manzana",
    "kilometro"
  ],
  "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",
  "razon_social": "string",
  "estado": "ACTIVO",
  "condicion": "-",
  "ubigeo": "string",
  "tipo_via": "string",
  "nombre_via": "string",
  "codigo_zona": "string",
  "tipo_zona": "string",
  "numero": "string",
  "interior": "string",
  "lote": "string",
  "departamento": "string",
  "manzana": "string",
  "kilometro": "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.