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 da fonte

Publicador
SUNAT, Peru
Cobertura
Legal-entity RUCs beginning with 20 in the reduced taxpayer padron.
Significado do 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.
Padrão aceito
^\d{11}$
Quantidade de registros
one
Licença
A permissão de reutilização não foi verificada. Acesso público não equivale a uma licença de reutilização.

Limitações conhecidas

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

Contrato da fonte para agentes · Documentação da fonte

Autenticação necessária. As requisições REST usam uma chave de api do Latinfo. O console adiciona o cabeçalho de autorização e não armazena a chave.

Parâmetros

rucstringpathobrigatório

RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.

Example: 20100047218

Exemplo de requisição

curl https://api.latinfo.dev/pe/sunat/padron/ruc/20100047218 \
  -H "Authorization: Bearer $LATINFO_API_KEY"

Respostas

200Published source records. Missing data is not a clearance or a negative finding.

Cabeçalhos da resposta

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 da resposta

ruc string obrigatório

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

razon_social string obrigatório

Registered legal name.

estado string obrigatório

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 dos 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 obrigatório

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 obrigatório

Six-digit INEI district code; retain leading zeros.

tipo_via string obrigatório

Published street-type abbreviation.

nombre_via string obrigatório

Published street name.

codigo_zona string obrigatório

Published zone-type abbreviation.

tipo_zona string obrigatório

Published zone name.

numero string obrigatório

External street number; not a count.

interior string obrigatório

Interior/unit address component.

lote string obrigatório

Address lot component.

departamento string obrigatório

Apartment/unit address component; not the geographic department.

manzana string obrigatório

Address block component.

kilometro string obrigatório

Address kilometer marker; not a measured company distance.

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

Exemplo ilustrativo do esquema. Não é uma resposta ao 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"
}

Procedência e limitações

A cobertura varia por país e fonte pública. Um campo ausente não comprova que o fato não exista. Os registros públicos podem ter atrasos ou erros; revise as evidências e a data da fonte antes de usar um resultado.