API overview
Spain鈥檚 commercial registry system is fragmented across 52 provincial Registros Mercantiles (Mercantile Registries) plus an overarching publication mechanism through the BORME (Bolet铆n Oficial del Registro Mercantil), the official commercial gazette published by the Colegio de Registradores de Espa帽a under Ministry of Justice supervision.
There is no single unified REST API for Spanish company data comparable to the UK Companies House API. What exists is:
- data.boe.es API: structured JSON/XML access to BORME publications (new registrations, capital changes, appointments, dissolutions). This is the closest thing to an official public API.
- Registro Mercantil Central search portal (registradores.org): web-based, no public API. Requires payment for certified extracts.
- Provincial registry portals: inconsistent, mostly web-only, some with PDF downloads.
- AXESOR and Informa: commercial data aggregators that consolidate all 52 provincial registries into a structured API, priced commercially.
The BORME API covers what has been published in the official gazette: entity creation, officer appointments and resignations, capital increases and decreases, and dissolutions. It does not serve financial statement data as structured JSON. Financial statements must be ordered as certified extracts through the provincial registry or intermediaries.
Endpoint reference
Base URL: https://data.boe.es/api
The data.boe.es API follows REST conventions with JSON and XML response options.
| Method | Path | Description |
|---|---|---|
GET | /api.php?op=getAnunciosBORME¶ms=... | Search BORME announcements |
GET | /api.php?op=getBORMEDiario¶ms={date} | Full BORME for a given date |
GET | /api.php?op=getAnuncioBORME¶ms={id} | Single announcement by ID |
GET | /api.php?op=getSumarioBORME¶ms={date} | BORME summary (index) for a date |
Parameters are passed as a JSON string to the params query parameter. For getAnunciosBORME: {"date": {"inicio": "YYYY-MM-DD", "fin": "YYYY-MM-DD"}, "section": "A"} where section A is new registrations and appointments, section B is judicial and administrative actions.
Authentication
No authentication is required for the data.boe.es API. The service is funded by Spain鈥檚 Official State Gazette (BOE) and is operated as open government data.
The Registro Mercantil Central (RMC) portal at registradores.org does not offer a public API. Ordering a certified company extract (Nota Simple or Certificaci贸n) through the RMC requires a registered account and payment (typically EUR 9.02 per Nota Simple for immediate delivery, approximately USD 9.80 at mid-2026 rates). There is a bulk access programme for licensed professionals (notaries, lawyers, banks) but it requires a formal agreement with the Colegio de Registradores and is not available to foreign developers without a Spanish legal entity or professional sponsorship.
Rate limits and quotas
The data.boe.es API does not publish rate limits. The service experiences degraded performance during peak hours (weekday mornings, Spanish time, CET/CEST). Queries for date ranges longer than one month can time out.
For reliable data extraction: limit date ranges to one week per request, implement retry logic with 10-second back-off on 503 responses, and cache BORME entries locally since historical data does not change.
Sample request
# Fetch BORME announcements for a specific date range
curl -G "https://data.boe.es/api/api.php" \
--data-urlencode 'op=getAnunciosBORME' \
--data-urlencode 'params={"date":{"inicio":"2026-05-01","fin":"2026-05-07"},"section":"A"}'
Note the params value is JSON. Depending on your HTTP client, you may need to URL-encode the JSON string manually. The curl --data-urlencode flag handles this.
Sample response
{
"status": "OK",
"origen": "BORME-A-2026-05-02",
"data": {
"anuncios": [
{
"id": "BORME-A-2026-87-00001",
"seccion": "A",
"tipoanuncio": "Constituci贸n",
"empresa": "DEMO INNOVACION SL",
"nif": "B12345678",
"registrante": "Madrid",
"borme": {
"fecha": "2026-05-02",
"numero": "87"
},
"actos": [
{
"tipo": "Constituci贸n",
"datos": "Capital: 3.000 Euros. Objeto social: Servicios tecnol贸gicos."
}
]
}
]
}
}
tipoanuncio indicates the type of gazette entry: Constituci贸n (incorporation), Nombramientos (appointments), Ceses/Dimisiones (resignations), Ampliaci贸n de capital (capital increase), Disoluci贸n (dissolution). The nif is the Spanish tax identification number (NIF/CIF). Field values are in Spanish.
Available data fields (via BORME API)
- BORME publication ID and date
- Company name (as published)
- NIF/CIF (Spanish tax number)
- Registry jurisdiction (provincial registry name)
- Announcement type (incorporation, appointment, dissolution, etc.)
- Act details in free-text Spanish (not structured)
- BORME section (A = companies, B = judicial/administrative)
Fields NOT available via this API:
- Directors in structured form (names appear in free-text
datosfields) - Shareholder lists
- Financial statements
- Registered address as structured data
Known limitations and edge cases
Free-text acts. The actos.datos field contains the actual announcement text as a Spanish-language string, not parsed fields. Extracting structured director names, capital amounts, or object clauses requires NLP or regex parsing against Spanish-language text.
NIF inconsistency. The NIF appears in many but not all announcement records. Some older BORME entries predate the NIF mandate and have no tax number associated.
No address data. The BORME does not consistently include the registered office address. Address data must be obtained from the provincial registry鈥檚 Nota Simple.
52 provincial registries. Commercial activities are registered in the provincial registry corresponding to the company鈥檚 registered seat. A company incorporated in Barcelona is in the Registro Mercantil de Barcelona; one in Bilbao is in the Registro Mercantil de Bizkaia. There is no single-query API that spans all 52 registries simultaneously.
Financial statements are PDF-only. Annual accounts filed with the Registro Mercantil are scanned PDFs. They are not served as structured data by any official Spanish government API. Providers like Informa (part of Equifax Spain) digitise and normalise these at commercial pricing.
Language. All official BORME content is in Spanish (Castilian). Some announcements for companies registered in Catalonia, the Basque Country, or Galicia may reference regional-language entity types.
Commercial alternatives
For production use cases requiring structured company data, director information, or financial statements from Spain, developers use commercial aggregators that handle the 52-registry complexity:
- Informa (Equifax Spain): structured company profiles, financials, credit scores. API pricing typically USD 8 to USD 60 per query depending on data depth.
- AXESOR: similar coverage to Informa, with API access for volume customers.
- Bureau van Dijk Orbis: normalised pan-European data including Spain, director networks, financials. Enterprise pricing.
See the Spain company registry guide for a full breakdown of official and commercial registry access options.
Last verified: 2026-05-17. Spain鈥檚 registry API landscape changes slowly. The data.boe.es BORME API is free and stable; provincial registry access terms change with government policy. Verify before production deployment.