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.

Contrato de la fuente

Publicador
SUNAT, Peru
Cobertura
Legal-entity RUCs beginning with 20 in the reduced taxpayer padron.
Qué representa un registro
A taxpayer registration and fiscal-address components.
Identificador
Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
Patrón admitido
^\d{11}$
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

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

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

Ejemplo de solicitud

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

razon_social string obligatorio

Registered legal name.

estado string obligatorio

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

Significado de los valores

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 obligatorio

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 obligatorio

Six-digit INEI district code; retain leading zeros.

tipo_via string obligatorio

Published street-type abbreviation.

nombre_via string obligatorio

Published street name.

codigo_zona string obligatorio

Published zone-type abbreviation.

tipo_zona string obligatorio

Published zone name.

numero string obligatorio

External street number; not a count.

interior string obligatorio

Interior/unit address component.

lote string obligatorio

Address lot component.

departamento string obligatorio

Apartment/unit address component; not the geographic department.

manzana string obligatorio

Address block component.

kilometro string obligatorio

Address kilometer marker; not a measured company distance.

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."
    },
    "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 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",
  "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"
}

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.