🇵🇪 Perú · fuente pública
OSCE: rnp-by-ruc
Conformación jurídica de proveedores registrados en RNP: personas (socios, accionistas, representantes legales, miembros de órganos de gobierno, gerentes, apoderados, etc.) vinculadas a cada RUC. Incluye la forma societaria de la empresa (SAC, SA, EIRL, etc.).
01 · origenOSCE — Registro Nacional de Proveedores (RNP)URL primaria
02 · procesoValidación y normalizaciónSin inferir datos ausentes
03 · evidenciaAPI con procedenciaFuente y fecha identificables
Cobertura publicada
- Registros
- 1,465,096
- Última actualización
- 21 set. 2026
- Frecuencia
- weekly
- Frescura
- CURRENT
- Identificador
ruc- Búsqueda por nombre
- No publicada
Conteo y frescura consultados desde api.latinfo.dev/sources durante el build del 2026-09-28.
Fuente primaria
- Institution: OSCE — Registro Nacional de Proveedores (RNP)
- Data: Conformación jurídica de proveedores registrados en RNP: personas (socios, accionistas, representantes legales, miembros de órganos de gobierno, gerentes, apoderados, etc.) vinculadas a cada RUC. Incluye la forma societaria de la empresa (SAC, SA, EIRL, etc.).
- Format: CSV, pipe-delimited, ISO-8859-1, CRLF. ~208 MB.
Cómo se procesa
- Descarga directa desde Confluence OSCE (page
106889267):conformacion_juridica.csv(208MB) yorganos.csv(23MB). Ambos se cachean en/tmp/osce-rnp-conformacion/. - Encoding ISO-8859-1 → conversión a UTF-8 en lectura.
- Download:
curl --http1.1 -C - --retry 5 --retry-all-errors. Forzar HTTP/1.1 es necesario porque el CDN de Atlassian corta conHTTP/2 INTERNAL_ERRORen descargas grandes desde el runner Linux Mint.-C -permite reanudar descarga parcial si un retry se activa. - Enrichment de cargo: antes de parsear
conformacion_juridica.csv, cargaorganos.csven un Map(ruc, nro_doc) → cargo. Durante el parseo, cada row obtiene sucargosi existe en el map (vacío si no).organos.csvtiene columnasTipo_Documento|Nro_Documento|Nombre_RazonSocial|Cargo|Ruc_Proveedor; varios cargos para el mismo (ruc, nro_doc) se joinean con/. - Multi-record por RUC: una empresa típicamente tiene muchos socios/reps/órganos.
- Requiere User-Agent (OSCE bloquea requests sin él).
- Script:
src/imports/pe-osce-rnp-by-ruc.ts.
Campos publicados
| Field | Type | Example | Notes |
|---|---|---|---|
| ruc | string(11) | 20100000335 | Primary ID. |
| tipo_doc | string | DOC. NACIONAL DE IDENTIDAD | Tipo del documento de la persona. |
| nro_doc | string | 08251829 | Número del documento (DNI 8 díg, CE variable). |
| nombre | string | ALFONSO PESCHIERA ALFARO | Searchable. Razón social si persona jurídica; nombre completo si natural. |
| tipo_rol | string | SOCIO_ACCIONISTA_TITULAR | Rol de la persona en el RUC. Status field en .dat. |
| fecha_inicio_vigencia | string(8) | 20260306 | YYYYMMDD. Inicio de vigencia del rol. |
| forma_societaria | string | SOCIEDAD ANONIMA CERRADA | Forma jurídica de la empresa (SAC, SA, EIRL, etc.). |
| cargo | string | DIRECTOR / GERENTE GENERAL | Cargo específico dentro del órgano de gobierno (Director, Gerente General, Presidente, etc.). Derivado de organos.csv por join (ruc, nro_doc). Vacío si la persona no aparece en organos.csv (socios/accionistas sin cargo en órganos tienen cargo vacío). |
Limitaciones conocidas
- Data heterogénea de documento:
TIPO_DOCUMENTOincluye DNI (8 díg numéricos), CE (6-12 chars), Doc Equivalente (foreign).by-ruclos expone todos. El source inversoby-dnisolo filtra DNI — CE/pasaporte queda accesible únicamente víaby-ruc. - Tabs embebidos en
NUMERO_DOCUMENTOde algunas filas (ej.\t001051085). Se limpian conclean()antes de escribir TSV. - Volumen alto: 1.43M records. Bin shard principal ~193MB (bajo límite 200MB). Si crece el dataset, revisar shard limits en engine.
- RUCs malformados: si aparecen RUCs != 11 dígitos, se skipean silenciosamente (rare en este dataset — OSCE filtra antes de publicar en conformación).
- Cobertura parcial de cargo:
organos.csv(~23MB) cubre solo personas en órganos de administración (Directorio, Gerencia, Presidencia). Socios/accionistas sin cargo en órganos tendráncargovacío — es correcto, no un error. El campo solo se llena cuando el map hace match por(ruc, nro_doc).
Estado de revisión y alcance
No se publica todavía una opinión jurídica específica aprobada para esta fuente. La ficha documenta procedencia y transformaciones; Latinfo limita su producto a entidades jurídicas.
Latinfo no está afiliado, certificado ni respaldado por la institución de origen. Para decisiones formales, verifica la evidencia en la fuente primaria. Consulta Privacidad y Términos.