Lookup sunat · padron by RUC
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
Parámetros
rucstringpathobligatorioRUC 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-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/jsonCampos de la respuesta
ruc string obligatorioLookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
razon_social string obligatorioRegistered legal name.
estado string obligatorioPublisher 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
ACTIVOActive: SUNAT reports the taxpayer registration as active.
BAJA DEFINITIVADefinitively cancelled: SUNAT reports the taxpayer registration as definitively cancelled.
BAJA DE OFICIOCancelled by SUNAT: SUNAT reports that it cancelled the taxpayer registration on its own initiative.
BAJA NO ACTIV. SISEVCancelled for no activity in SISEV: SUNAT reports cancellation because no activity was recorded in the SISEV verification system.
BAJA PROVISIONALProvisionally cancelled: SUNAT reports the taxpayer registration as provisionally cancelled.
BAJA PROV. POR OFICIProvisionally cancelled by SUNAT: SUNAT reports that it provisionally cancelled the taxpayer registration on its own initiative.
BAJA MULT.INSCR. Y OCancelled due to multiple registrations or another cause: SUNAT reports cancellation due to multiple registrations or another official cause.
SUSPENSION TEMPORALTemporarily suspended: SUNAT reports the taxpayer registration as temporarily suspended.
ANUL.PROVI.-ACTO ILIProvisionally annulled for an unlawful act: SUNAT reports a provisional annulment associated with an unlawful act.
ANULACION - ACTO ILIAnnulled for an unlawful act: SUNAT reports annulment associated with an unlawful act.
ANULACION - ERROR SUAnnulled due to a SUNAT error: SUNAT reports that the taxpayer registration was annulled due to an authority error.
INHABILITADO-VENT.UNDisabled in the single-window system: SUNAT reports the taxpayer as disabled in the single-window system.
NUM. INTERNO IDENTIFInternal identification number: SUNAT classifies this record as an internal identification number; no active-state conclusion is made.
OTROS OBLIGADOSOther obligated party: SUNAT classifies this record as another type of obligated party; no active-state conclusion is made.
PENDIENTE DE INI. DEPending start of activities: SUNAT reports that the taxpayer is pending the start of activities.
condicion string obligatorioPublished 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 obligatorioSix-digit INEI district code; retain leading zeros.
tipo_via string obligatorioPublished street-type abbreviation.
nombre_via string obligatorioPublished street name.
codigo_zona string obligatorioPublished zone-type abbreviation.
tipo_zona string obligatorioPublished zone name.
numero string obligatorioExternal street number; not a count.
interior string obligatorioInterior/unit address component.
lote string obligatorioAddress lot component.
departamento string obligatorioApartment/unit address component; not the geographic department.
manzana string obligatorioAddress block component.
kilometro string obligatorioAddress 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.
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.
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.