🇪🇨 Ecuador · fuente pública
SRI: padron
National taxpayer registry (catastro RUC). Direct analog of PE SUNAT padrón. We ingest only legal entities (TIPO_CONTRIBUYENTE = SOCIEDAD); personas naturales (~90% of the padrón) are dropped at ingestion and never stored.
Cobertura publicada
- Registros
- 561,337
- Última actualización
- 11 set. 2026
- Frecuencia
- monthly
- 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: Servicio de Rentas Internas (SRI) — Ecuador (tax authority)
- Data: National taxpayer registry (catastro RUC). Direct analog of PE SUNAT padrón. We ingest only legal entities (
TIPO_CONTRIBUYENTE = SOCIEDAD); personas naturales (~90% of the padrón) are dropped at ingestion and never stored. - Registered: catalog at
https://www.datosabiertos.gob.ec/dataset/?tags=SRI(the CKANmetadata_modifiedthere is stale — the authoritative freshness is theLast-Modifiedheader of the directdescargas.sri.gob.ecfiles).
Cómo se procesa
Custom import script (src/imports/ec-sri-padron.ts), not generic easypipe, because the data is 24 separate province ZIPs that must be merged + deduped:
- For each of the 24 provinces:
downloadVerifiedfetches the ZIP (no auth, UTF-8), extracts the single.csv(yauzl). - Parse each row (
|-separated, 21 columns):
- keep only
TIPO_CONTRIBUYENTE == 'SOCIEDAD'and a legal-entity RUC structure (third digit 6/9, establishment suffix not000); both signals must agree because SRI contains rare mislabeled rows - require exactly 21 columns + 13-digit RUC; malformed and out-of-scope rows are skipped + counted, not reconstructed
- emit TSV
ruc \t estNum \t <14 RUC-level fields>whereestNum=NUMERO_ESTABLECIMIENTO(matriz selector)
- One row per establishment → one record per RUC: a company has N rows (one per establecimiento). Sort by
(RUC asc, estNum asc), then keep the first row per RUC = the matriz (establishment 1). The matriz's province/cantón/parroquia become the company's domicilio. buildBinaryFiles→buildSearchIndex(V2,statusFieldIndex= estado) →buildMphfFromIdx→uploadWithManifest(content-addressed, atomic swap) →saveImportMeta(freshness signature = concat of all 24Last-Modified).
RUC partitioning note: each RUC lives in exactly ONE province file (partitioned by tax jurisdiction = CODIGO_JURISDICCION, not by each establishment's location), so there is no cross-file RUC duplication; the dedup only collapses a company's multiple establishments within its file.
CSV header (21 cols): NUMERO_RUC|RAZON_SOCIAL|CODIGO_JURISDICCION|ESTADO_CONTRIBUYENTE|CLASE_CONTRIBUYENTE|FECHA_INICIO_ACTIVIDADES|FECHA_ACTUALIZACION|FECHA_SUSPENSION_DEFINITIVA|FECHA_REINICIO_ACTIVIDADES|OBLIGADO|TIPO_CONTRIBUYENTE|NUMERO_ESTABLECIMIENTO|NOMBRE_FANTASIA_COMERCIAL|ESTADO_ESTABLECIMIENTO|DESCRIPCION_PROVINCIA_EST|DESCRIPCION_CANTON_EST|DESCRIPCION_PARROQUIA_EST|CODIGO_CIIU|ACTIVIDAD_ECONOMICA|AGENTE_RETENCION|ESPECIAL
Campos publicados
Primary key: ruc (13 digits). 14 stored fields (RUC-level + matriz location):
| Field | Type | Example | Notes |
|---|---|---|---|
| ruc | string(13) | 1793025048001 | EC RUC. 1st-2nd = province, 3rd digit 9 = sociedad privada, 6 = pública |
| razon_social | string | GUPATRANS SA | Company name (search-indexed) |
| estado | string | ACTIVO | ESTADO_CONTRIBUYENTE: ACTIVO / SUSPENDIDO / PASIVO (status field) |
| nombre_fantasia | string | FOPECA S.A. | Commercial / trade name, may be empty |
| actividad_economica | string | CONSTRUCCIÓN DE CARRETERAS… | Free-text economic activity |
| codigo_ciiu | string | F421011 | CIIU activity code |
| fecha_inicio_actividades | string | 1974-03-01 00:00:00 | Activity start |
| fecha_suspension | string | `` | FECHA_SUSPENSION_DEFINITIVA, empty if not suspended |
| fecha_actualizacion | string | 2022-07-27 10:20:15 | Last RUC update |
| obligado_contabilidad | string | S | OBLIGADO: S/N (required to keep accounting books) |
| agente_retencion | string | S | S/N withholding agent |
| contribuyente_especial | string | S | ESPECIAL: S/N special taxpayer |
| provincia | string | AZUAY | Matriz establishment province |
| canton | string | CUENCA | Matriz cantón |
| parroquia | string | HUAYNACAPAC | Matriz parroquia |
The legal-representative cédula is not in the bulk (only in the SRI live REST) → no natural-person PII is stored.
Limitaciones conocidas
- Filas malformadas (~decenas):
RAZON_SOCIALcon|o comillas embebidas rompen el conteo de columnas → se skipean + cuentan (política republicador fiel, no reconstruir). - Conectividad Mac→SRI flaky: descargas desde
descargas.sri.gob.ecfallan intermitentemente desde la Mac (DNS/timeout). El import full corre en Linux Mint (reglafeedback_pipe_runtime_mac);downloadVerifiedreintenta 5x con backoff. - Sin histórico: SRI sobrescribe el archivo mensual; no guardamos snapshots por mes (solo estado actual, que es lo que el lookup necesita).
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.