Skip to main content

Data Sources

Spain uses three data sources for company information. Structured profile data comes from a public registry portal, document purchases from an authenticated electronic portal, and supplementary data from the BORME (official commercial gazette).

Structured Profile Data

  • OpenData Registradores (opendata.registradores.org). Operated by the Colegio de Registradores de la Propiedad y Mercantiles de Espana. This is the primary source for structured company profile data: company name (denominacion social), legal form (forma social), status (estado), NIF, IRUS, EUID, registered address (domicilio social), share capital, CNAE/NACE activity codes, legal representatives (administradores/cargos), and incorporation date (constitucion). Data is extracted from the registry.

Document Retrieval

  • SEDE Electronica del Colegio de Registradores (sede.registradores.org). The official electronic portal of the Colegio de Registradores. Used for search/NIF resolution (to obtain the IRUS identifier) and document retrieval: trade register extracts (Nota Informativa Mercantil) and financial statements (Deposito de Cuentas). Documents are purchased with real-time pricing and delivered as PDFs.

BORME (Supplementary)

  • BORME (Boletin Oficial del Registro Mercantil). Spain’s official commercial gazette, published daily. Used as a supplementary enrichment source for company profiles: activity descriptions, director appointment dates, and sole shareholder information.
Search uses SEDE for NIF resolution. Name and NIF searches query SEDE to resolve the company’s IRUS identifier, then OpenData is queried for structured profile data using that IRUS.

Company Identifiers

Query Identifiers

Identifier TypeFormatExampleNotes
NIF/CIFLetter + 7 digits + control charA82511361Primary company identifier for all API operations
DNI (individual entrepreneurs)8 digits + letter12345678AFor autonomous workers / sole proprietors
VATES + NIFESA82511361Automatically stripped to NIF for search
Primary Identifier: We use NIF (Numero de Identificacion Fiscal) as the company ID for all Spanish entities.NIF is the standard Spanish tax identification number. The first letter indicates the entity type:
  • A: Sociedad Anonima (SA)
  • B: Sociedad Limitada (SL)
  • C-H: Other entity types (cooperatives, partnerships, etc.)
  • J: Sociedad Civil
  • N: Foreign entities
  • P: Local government bodies
  • Q: Public entities
  • R: Religious congregations
  • S: Government bodies
  • U: Temporary business associations (UTE)
  • V: Other unclassified entities
  • W: Permanent establishments of non-resident entities

Identifiers in API Response

Once you retrieve company data, the identifiers object contains all available identifiers for that entity:
Identifier TypeFormatExampleFound In
NIFLetter + 7 digits + control charA82511361All companies
VATNIF value (without ES prefix)A82511361All companies
IRUS13 digits1000263762669All companies (resolved via SEDE)
EUIDESRM. + IRUSESRM.1000263762669When available from OpenData
VAT value in the API response does NOT include the ES prefix. The identifiers.VAT field contains only the NIF value itself (e.g., A82511361). The country prefix ES is stored separately in taxId.country. This is consistent with how other EU countries handle VAT numbers.

Search Capabilities

Search automatically detects the identifier type and routes to the appropriate handler:
Search TypePatternExampleMatch TypeExpected Results
By NIF/CIFLetter + 7 digits + control charA82511361ExactSingle company (1 result)
By DNI8 digits + letter12345678AExactSingle company (1 result)
By VAT NumberES + NIFESA82511361ExactSingle company (1 result, ES prefix stripped)
By IRUS13 digits1000263762669ExactSingle company (1 result)
By NameText string"Telefonica"FuzzyMultiple results (deduplicated by NIF)
Search Performance: Use identifier-based searches (NIF, VAT) for best performance and exact matching. Name searches query SEDE which returns paginated results that are deduplicated by NIF using a scoring algorithm that filters out branches and selects the main entity.
Branch filtering: When multiple IRUS entries exist for the same NIF (e.g., branches, offices, agencies), the system uses a scoring algorithm to select the main entity. Branch keywords such as SUCURSAL, URBANA, AGENCIA, OFICINA, and DELEGACION receive a heavy penalty. Current (active) status and shorter names (likely parent entities) receive a bonus.

Quirks & Gotchas

QuirkDetails
NIF is the primary IDUnlike some countries that use a separate registry number, Spain uses the NIF (tax ID) as the company identifier for all API operations.
IRUS is internal onlyThe IRUS (Identificador Unico del Registro de Sociedades) is a 13-digit internal registry identifier used for OpenData lookups and document retrieval. It should not be used as a query identifier by API consumers.
VAT = ES + NIFSpanish VAT numbers are simply the NIF prefixed with “ES”. Having a NIF does not guarantee the company is VAT-registered — companies must be in the ROI (Registro de Operadores Intracomunitarios) for EU cross-border trade. VIES will return invalid for companies not in ROI.
Document prices are dynamicTrade register extract and financial statement prices are fetched in real-time from SEDE and may vary. Prices appear in the price field before purchase.
No shareholder dataThe Spanish public registry does not expose ownership information. Shareholder data is only available through private filings.
No UBO dataUltimate Beneficial Owner data is not publicly available through the commercial registry.
SEDE document purchasesDocument purchases are processed through the official SEDE portal of the Colegio de Registradores.
ISIC is always AI-inferredCNAE and NACE codes come directly from OpenData Registradores. ISIC is always derived via AI enrichment. Check the isAIInferred flag.
Status is free-textOpenData provides status as a free-text string (e.g., “Vigente”) rather than a fixed codelist. Status standardization is AI-enriched.
OpenData data extractionCompany data is extracted from the OpenData Registradores portal.
Multiple IRUS per NIFLarge companies (e.g., banks) can have dozens of IRUS entries for the same NIF, representing branches and offices in different provinces. The NIF resolver scoring algorithm selects the main entity.
Document delivery is asynchronousAfter purchasing a document from SEDE, there may be a short delay before the PDF is available for download.
BORME as supplementary sourceBORME gazette data enriches company profiles with activity descriptions, director appointment dates, and sole shareholder information.

Company Status

Company status is determined from the OpenData Registradores estado field. The mapping is AI-enriched — no static codelist exists. The AI analyzes the local Spanish status string to produce a standardized status.

Status Mapping

Local Status (Spanish)English TranslationStandardized StatusNotes
VigenteActive / In forceActiveCompany is currently registered and operating
ActivaActiveActiveAlternative active status label
ExtinguidaExtinguishedClosedCompany has been dissolved and removed from registry
En liquidacionIn LiquidationClosedCompany is undergoing liquidation proceedings
Baja provisionalProvisional DeregistrationClosedTemporarily removed from active registry
The active boolean is true for statuses like “Vigente” and “Activa”, and false for all other status values. The standardized status classification is produced by AI enrichment.
Legal form standardization is AI-enriched. OpenData Registradores provides a free-text forma social field. The AI produces a standardized company type and an ISO 20275 (ELF) code.

Limited Companies (Sociedades Limitadas)

Spanish Legal FormAbbreviationStandardizedNotes
Sociedad de Responsabilidad LimitadaSL / SRLLimited Liability CompanyPrivate limited company, min. capital EUR 3,000
Sociedad Limitada UnipersonalSLULimited Liability CompanySingle-shareholder SL
Sociedad Limitada Nueva EmpresaSLNELimited Liability CompanySimplified SL for new businesses
Sociedad Limitada de Formacion SucesivaSLFSLimited Liability CompanySL with no minimum capital requirement
Sociedad Limitada ProfesionalSLPLimited Liability CompanySL for regulated professional services
Sociedad Limitada LaboralSLLLimited Liability CompanyMajority employee-owned SL
Sociedad de Responsabilidad Limitada LaboralSRLLLimited Liability CompanyEmployee-owned SRL variant
Sociedad de Responsabilidad Limitada ProfesionalSRLPLimited Liability CompanyProfessional SRL variant
Sociedad Limitada Laboral ProfesionalSLLPLimited Liability CompanyCombined laboral + professional SL

Corporations (Sociedades Anonimas)

Spanish Legal FormAbbreviationStandardizedNotes
Sociedad AnonimaSACorporationPublic limited company, min. capital EUR 60,000
Sociedad Anonima UnipersonalSAUCorporationSingle-shareholder SA
Sociedad Anonima LaboralSALCorporationMajority employee-owned SA
Sociedad Anonima ProfesionalSAPCorporationSA for regulated professional services
Sociedad Anonima DeportivaSADCorporationMandatory form for professional sports clubs
Sociedad por Acciones SimplificadaSASCorporationSimplified joint-stock company

Partnerships (Sociedades Personalistas)

Spanish Legal FormAbbreviationStandardized
Sociedad Comanditaria SimpleS.Com.Partnership
Sociedad Comanditaria por AccionesS.Com.p.A.Partnership
Sociedad ColectivaS.C.Partnership
Sociedad Regular ColectivaSRCPartnership
Sociedad CivilS.Civ.Partnership
Sociedad Civil ProfesionalSCPPartnership

Cooperatives & Special Forms

Spanish Legal FormAbbreviationStandardized
Sociedad CooperativaS.Coop.Cooperative
Sociedad Cooperativa EuropeaSCECooperative
Sociedad Agraria de TransformacionSATCooperative
Agrupacion de Interes EconomicoAIEPartnership
Agrupacion Europea de Interes EconomicoAEIEPartnership
Sociedad de Garantia ReciprocaSGROther
Societas EuropaeaSECorporation
Sociedad Mercantil EstatalSMEGovernment-Owned Entity

Investment & Financial Vehicles

Spanish Legal FormAbbreviationStandardized
Sociedad de Inversion de Capital VariableSICAVCorporation
Sociedades Cotizadas de Inversion InmobiliariaSOCIMICorporation
Fondo de InversionFIOther
Fondo de PensionesFPOther

Other Entity Types

Spanish Legal FormAbbreviationStandardized
Empresario Individual / AutonomoEISole Proprietorship
Empresario de Responsabilidad LimitadaERLSole Proprietorship
Union Temporal de EmpresasUTEPartnership
Sucursal en EspanaBranch or Representative Office
Establecimiento PermanenteBranch or Representative Office

Foreign Company Forms (registered in Spain)

Legal FormAbbreviationOrigin
Besloten VennootschapBVNetherlands / Belgium
Naamloze VennootschapNVNetherlands / Belgium
Limited CompanyLTDUnited Kingdom
The AI enrichment maps any forma social string from OpenData Registradores to a standardized type and ISO 20275 code. The local Spanish legal form name is always preserved verbatim.
Legal representatives are extracted from the OpenData Registradores administradores/cargos section. Role classification as legal representative vs. other key person is AI-enriched based on the role string and the company’s legal form context.

Role Types from OpenData

Spanish RoleEnglish TranslationTypical Classification
Administrador unicoSole DirectorLegal Representative
Administrador solidarioJoint and Several DirectorLegal Representative
Administrador mancomunadoJoint DirectorLegal Representative
PresidenteChairmanLegal Representative
DirectorDirectorLegal Representative
GerenteGeneral ManagerLegal Representative
Consejero DelegadoManaging Director / CEOLegal Representative
Spanish RoleEnglish TranslationTypical Classification
ConsejeroBoard MemberOther Key Person
VicepresidenteVice ChairmanOther Key Person
SecretarioSecretaryOther Key Person
VocalBoard Member (non-executive)Other Key Person
Secretario no consejeroNon-Director SecretaryOther Key Person
VicesecretarioVice SecretaryOther Key Person
Spanish RoleEnglish TranslationTypical Classification
ApoderadoAttorney-in-fact / ProxyOther Key Person
Apoderado generalGeneral Power of AttorneyOther Key Person
LiquidadorLiquidatorOther Key Person
AuditorAuditorOther Key Person
RepresentanteRepresentativeOther Key Person
The classification of each role as legal representative or other key person is AI-enriched and depends on the company’s legal form context. For example, an “Administrador unico” is always a legal representative, while an “Apoderado” (attorney-in-fact) is typically classified as an other key person despite having signing authority. The AI uses the ISO 20275 (ELF) code of the company’s legal form to determine the appropriate classification.

Other Key Persons

Other key persons are extracted from the same OpenData cargos section as legal representatives. The AI enrichment determines which roles fall into this category based on the legal form context. Typical roles include board members (Consejero), secretaries (Secretario), attorneys-in-fact (Apoderado), and auditors (Auditor).

Shareholders

Shareholder data is not available for Spanish companies. The Spanish Registro Mercantil does not expose shareholder information through its public registry portals (OpenData or SEDE). Ownership data is only accessible through private filings and is not part of the publicly available dataset.

Activity Code Mapping

Spain uses the CNAE (Clasificacion Nacional de Actividades Economicas) classification, which is the Spanish national adaptation of the European NACE standard. The system maps activity codes across three levels:
CNAE (Spanish) -> NACE Rev. 2 (European) -> ISIC Rev. 4 (International)
ClassificationSourceExampleAI Inferred?
CNAEOpenData Registradores6201No (official)
NACEOpenData Registradores62.01No (official)
ISICDerived from CNAE/NACE via AI6201Yes (always)
Both CNAE and NACE codes are provided directly by OpenData Registradores and are never AI-inferred. ISIC codes are always AI-inferred from the CNAE/NACE codes. Each activity item includes an isAIInferred flag to distinguish official vs. AI-derived codes.

Activity Code Fields

Activity codes are provided as two separate fields from OpenData Registradores:
FieldClassificationExample Value
CNAECNAE6201 Actividades de programacion informatica
NACENACE62.01 Computer programming activities

Data Availability Matrix

Data TypeCommercial CompaniesNotes
Company Profile✅ AsyncFull structured data from OpenData Registradores
Legal RepresentativesDirectors and officers from OpenData
Other Key PersonsBoard members, secretaries, attorneys from OpenData
ShareholdersNot available in public registry
Ultimate Beneficial OwnersNot publicly available
EstablishmentsNot available through OpenData
Activity CodesCNAE + NACE from OpenData, ISIC via AI
Trade Register Extract✅ (Paid)PDF from SEDE, real-time pricing
Financial Statements✅ (Paid)PDF per fiscal year from SEDE
Legend: ✅ Available | ❌ Not Available | Async = Asynchronous processing

Documents by Company Type

Documents are retrieved from SEDE Electronica del Colegio de Registradores with real-time pricing.

Commercial Companies (NIF)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
Nota Informativa Mercantil (Trade Register Extract)tradeRegisterExtractPDFESP_REGISTER_EXTRACT✅ All companiesReal-time pricing from SEDE
Deposito de Cuentas (Financial Statements)financialStatements[]PDFESP_FINANCIAL_STATEMENTS✅ When filedPer fiscal year, real-time pricing
Document prices are fetched in real-time from SEDE and displayed in the price field before purchase. For trade register extracts, the following data segments are included: capital, social representation, administrators, and attorneys-in-fact.
Financial statement availability varies. Not all companies file their annual accounts (Deposito de Cuentas) with the Registro Mercantil. Available fiscal years are listed via a dropdown on SEDE. Each year’s price is determined individually.

Example API Responses

All examples use placeholder data. Query: POST /company with { "id": "<NIF>", "countryCode": "ES", "dataPoints": ["companyProfile"] }
{
  "company": {
    "id": "A12345678",
    "countryCode": "ES",
    "identifiers": {
      "NIF": "A12345678",
      "VAT": "A12345678",
      "IRUS": "1000263762669",
      "EUID": "ESRM.1000263762669"
    },
    "taxId": {
      "type": "eu_vat",
      "value": "A12345678",
      "country": "ES",
      "verification": {
        "status": "verified",
        "verifiedName": "EXAMPLE CORP SA",
        "verifiedAddress": "CALLE GRAN VIA 28, MADRID",
        "consultationNumber": "WAPIXXXXXXXXXXXX"
      }
    },
    "legalName": "Example Corp SA",
    "registrationDate": "2010-05-15",
    "status": {
      "localName": "Vigente",
      "active": true,
      "statusDetails": { "status": "ACTIVE" }
    },
    "legalForm": {
      "localName": "Sociedad Anonima",
      "standardized": "Corporation",
      "iso20275Code": "WWQZ"
    },
    "capital": {
      "amount": 60000,
      "currency": "EUR"
    },
    "activities": {
      "CNAE": [{ "code": "6201", "description": "Actividades de programacion informatica", "isAIInferred": false }],
      "NACE": [{ "code": "62.01", "description": "Computer programming activities", "isAIInferred": false }],
      "ISIC": [{ "code": "6201", "description": "Computer programming activities", "isAIInferred": true }]
    },
    "legalAddress": {
      "addressLine1": "Calle Gran Via 28",
      "city": "Madrid",
      "postalCode": "28013",
      "countryCode": "ES"
    }
  },
  "legalRepresentatives": [
    {
      "type": "individual",
      "role": { "localName": "Administrador unico", "standardized": "Director" },
      "individual": { "name": { "fullName": "Carlos Garcia Lopez" } }
    }
  ]
}
{
  "company": {
    "id": "B98765432",
    "countryCode": "ES",
    "identifiers": {
      "NIF": "B98765432",
      "VAT": "B98765432",
      "IRUS": "2000198745632"
    },
    "legalName": "Servicios Digitales SL",
    "registrationDate": "2018-11-20",
    "status": {
      "localName": "Vigente",
      "active": true,
      "statusDetails": { "status": "ACTIVE" }
    },
    "legalForm": {
      "localName": "Sociedad Limitada",
      "standardized": "Limited Liability Company",
      "iso20275Code": "N5GY"
    },
    "capital": {
      "amount": 3000,
      "currency": "EUR"
    },
    "activities": {
      "CNAE": [{ "code": "7022", "description": "Otras actividades de consultoria de gestion empresarial", "isAIInferred": false }],
      "NACE": [{ "code": "70.22", "description": "Business and other management consultancy activities", "isAIInferred": false }],
      "ISIC": [{ "code": "7020", "description": "Management consultancy activities", "isAIInferred": true }]
    },
    "legalAddress": {
      "addressLine1": "Passeig de Gracia 100",
      "city": "Barcelona",
      "postalCode": "08008",
      "countryCode": "ES"
    }
  },
  "legalRepresentatives": [
    {
      "type": "individual",
      "role": { "localName": "Administrador solidario", "standardized": "Director" },
      "individual": { "name": { "fullName": "Ana Martinez Ruiz" } }
    },
    {
      "type": "individual",
      "role": { "localName": "Administrador solidario", "standardized": "Director" },
      "individual": { "name": { "fullName": "Pedro Sanchez Diaz" } }
    }
  ]
}
{
  "company": {
    "id": "B55667788",
    "countryCode": "ES",
    "identifiers": {
      "NIF": "B55667788",
      "VAT": "B55667788",
      "IRUS": "3000112233445"
    },
    "legalName": "Comercio Antiguo SL",
    "registrationDate": "2005-03-10",
    "status": {
      "localName": "Extinguida",
      "active": false,
      "statusDetails": { "status": "CLOSED" }
    },
    "legalForm": {
      "localName": "Sociedad Limitada",
      "standardized": "Limited Liability Company",
      "iso20275Code": "N5GY"
    },
    "capital": {
      "amount": 3000,
      "currency": "EUR"
    },
    "activities": {
      "CNAE": [{ "code": "4771", "description": "Comercio al por menor de prendas de vestir en establecimientos especializados", "isAIInferred": false }],
      "NACE": [{ "code": "47.71", "description": "Retail sale of clothing in specialised stores", "isAIInferred": false }],
      "ISIC": [{ "code": "4771", "description": "Retail sale of clothing, footwear and leather articles in specialised stores", "isAIInferred": true }]
    },
    "legalAddress": {
      "addressLine1": "Calle Serrano 45",
      "city": "Madrid",
      "postalCode": "28001",
      "countryCode": "ES"
    }
  },
  "legalRepresentatives": [
    {
      "type": "individual",
      "role": { "localName": "Liquidador", "standardized": "Liquidator" },
      "individual": { "name": { "fullName": "Maria Lopez Fernandez" } }
    }
  ]
}
Note: Closed companies have active: false and status Extinguida. Documents may still be available from SEDE.
{
  "company": {
    "id": "B11223344",
    "countryCode": "ES",
    "identifiers": {
      "NIF": "B11223344",
      "VAT": "B11223344",
      "IRUS": "4000556677889"
    },
    "taxId": {
      "type": "eu_vat",
      "value": "B11223344",
      "country": "ES",
      "verification": {
        "status": "unverified"
      }
    },
    "legalName": "Pequena Empresa SL",
    "registrationDate": "2020-07-01",
    "status": {
      "localName": "Vigente",
      "active": true,
      "statusDetails": { "status": "ACTIVE" }
    },
    "legalForm": {
      "localName": "Sociedad Limitada",
      "standardized": "Limited Liability Company",
      "iso20275Code": "N5GY"
    }
  }
}
Note: VAT status is unverified because the company is not registered in the ROI (Registro de Operadores Intracomunitarios). This is common for small companies that do not engage in EU cross-border trade.
Documents are returned when "dataPoints": ["documents"] is requested.
API CategoryDocumentNotes
tradeRegisterExtractNota Informativa Mercantil (PDF)Real-time pricing from SEDE
financialStatements[]Deposito de Cuentas (PDF)Per fiscal year, real-time pricing
Trade Register Extract segments included:
  • Capital social (share capital)
  • Representacion social (social representation)
  • Administradores (directors)
  • Apoderados (attorneys-in-fact)

Data Source Priority & Routing

For a given entity, the system follows this resolution flow:
Company Profile Resolution Flow:
  1. SEDE search by NIF — Resolves the NIF to an IRUS identifier and returns search results. The resolver selects the main entity (filtering out branches).
  2. OpenData lookup by IRUS — Retrieves structured data from OpenData Registradores (name, legal form, status, address, capital, CNAE/NACE, officers, registration date).
  3. AI enrichment — Legal form, status, activities (ISIC), address, and capital formatting are enriched.
  4. VIES VAT validation — A qualified VIES check validates the VAT number and obtains a consultation number (legal proof for audits).
Document Resolution Flow:Documents are purchased through the official SEDE portal of the Colegio de Registradores. Available document types include trade register extracts (Nota Informativa Mercantil) and financial statements (Deposito de Cuentas). Documents are delivered as PDFs after payment processing.

Attribute-Level Source Mapping

AttributeSourceNotes
Company name (denominacion social)OpenDataOfficial registry name
Legal form (forma social)OpenDataAI-enriched for standardization + ISO 20275
Status (estado)OpenDataAI-enriched; active flag from string matching
Registered address (domicilio social)OpenDataAI-enriched for structured address components
Share capitalOpenDataAI-formatted for standardization
CNAE / NACE activity codesOpenDataOfficial, never AI-inferred
ISIC activity codesAIAlways AI-inferred from CNAE/NACE
Legal representativesOpenDataFrom cargos/administradores; roles AI-enriched
Registration date (constitucion)OpenDataCompany formation date
NIFOpenData / SEDEFrom search results
IRUSSEDEResolved during NIF search
EUIDOpenDataEuropean Unique Identifier, when available
VAT verificationVIESQualified check with consultation number