Spain BORME Company Events — Directors, Capital & Insolvency avatar

Spain BORME Company Events — Directors, Capital & Insolvency

Pricing

from $1.00 / 1,000 company events

Go to Apify Store
Spain BORME Company Events — Directors, Capital & Insolvency

Spain BORME Company Events — Directors, Capital & Insolvency

Extract audit-ready JSON company events from Spain's official BORME gazette by publication date, province, company name, or 51 normalized event types. Get incorporations, director and officer changes, capital events, dissolutions, and insolvency notices with deterministic IDs and source text.

Pricing

from $1.00 / 1,000 company events

Rating

0.0

(0)

Developer

Heorhii Kozlitin

Heorhii Kozlitin

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

11 days ago

Last modified

Share

Extract Spain BORME company events from the official commercial-registry gazette as normalized, audit-ready JSON. Filter the publication dates you request by province, company name, or 51 emitted English event types, and receive structured directors and officers, capital changes, insolvency notices, deterministic IDs, and retained source text.

The Actor turns dense Spanish registry shorthand into stable English event types, structured officer roles and names, registral coordinates, and act-specific fields. It keeps related acts from one published company entry together in one event. Use these published events as company registry data for event ingestion; BORME remains not the complete Registro Mercantil database. One run extracts events from the publication dates you request; it does not calculate a company's current directors, current status, or complete profile.

Example result

This is an explicitly abridged representative record. The returned item also includes the full raw_text; acts may include fields, unparsed_tail, and other empty values omitted below for readability.

{
"event_id": "sha1:02030cddb9436152cfcfa64e5a4acb5b5fd81744",
"date": "2026-08-06",
"borme_id": "BORME-A-2026-150-41",
"province": "SEVILLA",
"act_number": 368350,
"company_name": "CEMEK-ALO 26 SL.",
"company_slug": "cemek-alo-26-sl",
"company_flags": [],
"acts": [
{
"act_type_raw": "Sociedad unipersonal",
"act_type": "SOLE_SHAREHOLDER_STATUS"
},
{
"act_type_raw": "Cambio de identidad del socio único",
"act_type": "SOLE_SHAREHOLDER_CHANGE",
"payload_raw": "THE SEVEN HOUSE FAMILY PROJECT MANAGEMENT LLC."
},
{
"act_type_raw": "Ceses/Dimisiones",
"act_type": "TERMINATIONS",
"roles": [
{
"role_raw": "Adm. Unico",
"role": "SOLE_DIRECTOR",
"names": ["MONTESA KAIJSER CARLOS DAVID"]
}
]
},
{
"act_type_raw": "Nombramientos",
"act_type": "APPOINTMENTS",
"roles": [
{
"role_raw": "Adm. Unico",
"role": "SOLE_DIRECTOR",
"names": ["THE SEVEN HOUSE FAMILY PROJECT MANAGEMENT LLC"]
},
{
"role_raw": "Apoderado",
"role": "PROXY_HOLDER",
"names": ["MONTESA KAIJSER CARLOS DAVID"]
}
]
}
],
"registral": {
"seccion": 8,
"hoja": "SE155277",
"inscription": "2",
"reg_date": "2026-07-30",
"raw": "S 8 , H SE155277, I/A 2 (30.07.26)."
},
"unparsed_spans": [],
"source": "parser"
}

date is the BORME publication date. registral.reg_date, when present, is the registration date printed in the entry; the two dates are not interchangeable. borme_id identifies the source province-level Section A document, while act_number identifies the printed company article inside that document.

Why normalization is the paid work

BORME is Spain's official commercial-registry gazette. Its publication corresponds to the Registro Mercantil Central, while the Agencia Estatal Boletín Oficial del Estado (AEBOE) is the official journal's editor and distributor. Its company entries are useful but difficult to automate directly: labels are Spanish, officer roles are abbreviated, multiple legal acts can be chained in one entry, and formatting varies across years and registries.

The Actor does more than download documents:

  • Emits deterministic event_id values for repeatable ingestion and deduplication.
  • Recognizes 52 normalized vocabulary values: 51 emitted event types plus the internal REGISTRAL_DATA boundary used to parse the top-level registral object.
  • Maps 114 observed raw role labels and spelling variants to 77 unique normalized role values.
  • Applies your province, event-type, and company-name filters before matching events are pushed and charged.
  • Extracts officer names by role and keeps related acts together in the same company event.
  • Retains act_type_raw, role_raw, payload_raw, fields.text, raw_text, unparsed_tail, and unparsed_spans as applicable for audit and parser-drift review.
  • Parses registral coordinates and selected act-specific values, such as incorporation, capital, and insolvency fields, into acts[].fields.

Normalization is deterministic for the same source bytes, parser version, and vocabulary. Later parser or vocabulary releases may improve how an older entry is interpreted, so retain source fields when reproducibility across versions matters.

Quickstart

Apify Console

Open zon4a/spain-company-registry-borme-events, choose a publication-date range, optionally add filters, and start the Actor. Results are written to the run's default dataset as one JSON item per published company entry.

If you leave dateFrom empty, the Actor starts with the previous calendar day and looks backward across up to 10 calendar days for the first weekday with an available published issue. It never selects today's issue through this default lookup. If you leave dateTo empty, it uses the same date as the selected dateFrom.

Python client

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("zon4a/spain-company-registry-borme-events").call(
run_input={
"dateFrom": "2026-08-03",
"dateTo": "2026-08-07",
"provinces": ["MADRID", "BARCELONA"],
"actTypes": ["INCORPORATION", "APPOINTMENTS", "TERMINATIONS"],
"companyNameFilter": "metales",
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["date"], item["company_name"])
print([act["act_type"] for act in item["acts"]])

Actor input

All input fields are optional:

{
"dateFrom": "2026-08-03",
"dateTo": "2026-08-07",
"provinces": ["MADRID", "BARCELONA"],
"actTypes": ["INCORPORATION", "APPOINTMENTS", "TERMINATIONS"],
"companyNameFilter": "metales"
}
InputMeaning
dateFromInclusive first BORME publication date, formatted YYYY-MM-DD. When omitted, lookup starts from the previous calendar day and checks up to 10 calendar days backward for an available weekday issue.
dateToInclusive last publication date. When omitted, it equals dateFrom.
provincesOptional province names as printed in BORME. Matching is case- and accent-insensitive; an empty list includes every province.
actTypesOptional emitted normalized event types. A company entry is included when any of its acts matches; an empty list includes every emitted event type.
companyNameFilterOptional case- and accent-insensitive substring match on the company name published in the entry. Blank includes every company in the requested dates.

Weekends and public holidays without a BORME issue produce no records and are skipped. companyNameFilter filters entries within the selected publications; it is not an archive-wide company search.

Output fields

Each dataset item is one company entry from one BORME publication. An entry can contain several related acts.

FieldTypeMeaning
event_idstringDeterministic identifier for the normalized company event, suitable for deduplication.
datestring (YYYY-MM-DD)BORME issue publication date.
borme_idstringSource province-level BORME Section A document identifier.
provincestringProvince printed on the BORME entry.
act_numberintegerNumber of the printed company article within the source Section A document.
company_namestringCompany name published in this entry.
company_slugstringNormalized company-name slug; this is not a verified tax identifier.
company_flagsarrayFlags derived from the entry heading, such as liquidation or branch markers, when present.
actsarrayZero or more normalized acts kept together from the source company article. An empty array means no known act label was recognized; inspect raw_text and unparsed_spans.
acts[].act_type_rawstringOriginal Spanish act label.
acts[].act_typestringNormalized English event type.
acts[].payload_rawstringSource text associated with the act.
acts[].rolesarrayRole changes with role_raw, normalized role, and extracted names.
acts[].fieldsobjectAct-specific structured fields when the parser recognizes them.
acts[].unparsed_tailstringUnclassified remainder within an act, retained for review.
registralobject or nullPrinted volume, book, folio, section, sheet, inscription, registration date, and raw registral text when available.
raw_textstringSource text retained with the normalized event for audit.
unparsed_spansarraySource offsets and text that the parser did not classify.
sourcestringParser source marker, normally parser.

51 emitted and filterable act types

ACCOUNTS_NON_APPROVAL_JUSTIFICATION, ADDRESS_CHANGE, APPOINTMENTS, APPOINTMENT_CANCELLATIONS, BAD_DEBT_WRITE_OFF, BANKRUPTCY_LEGACY, BOND_ISSUE, BRANCH, CALLED_UP_CAPITAL_PAID, CAPITAL_INCREASE, CAPITAL_INCREASE_UNEXECUTED, CAPITAL_REDUCTION, COMPANY_REACTIVATION, COMPANY_WEBSITE, DISSOLUTION, DURATION_CHANGE, ERRATUM, EXTINCTION, FIRST_INSCRIPTION, FOREIGN_BRANCH_FIRST, GLOBAL_TRANSFER_ASSETS_LIABILITIES, INCORPORATION, INSOLVENCY_DECLARATION, INSOLVENCY_STATUS, LEGAL_ADAPTATION, MERGER_BY_ABSORPTION, MERGER_BY_UNION, NAME_CHANGE, OTHER, PARTIAL_SPIN_OFF, POWERS_MODIFICATION, PREVENTIVE_ANNOTATION, PROVISIONAL_SHEET_CLOSURE_INSOLVENCY, PROVISIONAL_SHEET_CLOSURE_NIF_REVOKED, PROVISIONAL_SHEET_CLOSURE_TAX, PURPOSE_CHANGE, PURPOSE_EXTENSION, REGISTRY_SHEET_REOPENED, REVOCATIONS, RE_ELECTIONS, SEGREGATION, SOLE_SHAREHOLDER_CHANGE, SOLE_SHAREHOLDER_DECLARATION, SOLE_SHAREHOLDER_STATUS, SOLE_SHAREHOLDER_STATUS_LOST, SOLE_TRADER, STATUTORY_AMENDMENTS, SUSPENSION_OF_PAYMENTS, TERMINATIONS, TOTAL_SPIN_OFF, TRANSFORMATION

The 52nd vocabulary value, REGISTRAL_DATA, is an internal parser boundary. It is not emitted as acts[].act_type, cannot be selected with actTypes, and instead populates the top-level registral object.

Unknown or not-yet-mapped material remains in raw_text. Depending on where it occurs, it may also remain in payload_raw, fields.text, unparsed_spans, or unparsed_tail; it is not necessarily flagged as a separate unknown fragment.

Use cases

  • Ingest incorporations, appointments, removals, capital changes, insolvency entries, dissolutions, and other published events for a selected period.
  • Build a daily or periodic event feed by scheduling runs and deduplicating on event_id.
  • Create lead or research datasets from newly published activity by province and event type.
  • Add dated BORME evidence to KYC, supplier-risk, credit, journalism, or due-diligence workflows.
  • Feed normalized event records into data warehouses, RAG corpora, n8n, Make, Zapier, or other Apify integrations.

These workflows consume published events. Deciding a company's present officers, legal state, ownership, or risk requires additional history, entity resolution, business rules, and verification.

Coverage, freshness, and data quality

  • This Actor's BOE-summary API coverage starts at publication date 2009-01-02. That is an extraction boundary of this Actor and the BOE summary source it uses, not a claim about when BORME's digital record began. It fetches the Section A company-act documents for the requested dates; it does not query an indexed archive by company identity.
  • A run can retrieve a same-day issue after AEBOE makes it available. Non-publication dates and source documents unavailable from AEBOE return no corresponding rows.
  • The parser vocabulary currently contains 52 normalized values: 51 emitted/filterable act types and the internal REGISTRAL_DATA boundary. It also contains 77 unique normalized role values from 114 raw role mappings.
  • Parse completeness is measured per source file as 1 - recorded unparsed-span and unparsed-tail characters / source characters. A documented 30-day measurement in August 2026 was 99.89%.
  • That percentage covers only the parser's recorded unparsed_spans and acts[].unparsed_tail. Unfamiliar text can remain inside payload_raw or fields.text and still count as consumed, so raw_text is the final audit fallback.
  • The percentage does not measure legal correctness, field-level accuracy, archive completeness, or company-state accuracy.
  • No LLM is used in the Actor's normal parsing path. The same input bytes, parser version, and vocabulary produce the same normalization.
  • Records retain borme_id, publication date, act number, and raw source-derived text so users can trace and review the result.

Live verification

Version 0.4 processed the BORME issue dated 2026-08-06 in a bounded production run checked on 2026-08-26, producing one schema-valid company event with the expected company match. A current issue is retrievable after BOE publishes it; this dated check is not a continuous freshness guarantee.

Pricing

The current pay-per-event price is $0.01 per Actor start plus $0.001 per company event delivered.

The start charge applies once per run. Province, normalized event-type, and company-name filters are evaluated before matching events are pushed and charged. If you set an Apify maximum total charge, the Actor stops cleanly when that limit is reached; records already delivered remain in the dataset.

Prices can change, so confirm the current rate shown on the Apify run page before starting a large extraction.

Actor or hosted API?

Actor

Choose the Actor when you want a run-to-completion date-range extraction from official BORME publications, with optional filters and paid event normalization into a fresh Apify dataset. It is a good fit for scheduled publication-day ingestion, bounded historical backfills, and pipelines that manage their own storage and downstream logic.

Hosted API

Choose the separate hosted API when you need indexed company search, assembled company profiles, historical timelines, cross-run monitoring, webhooks, or read-oriented MCP access. Those capabilities operate over the hosted service's indexed dataset and are not features of an individual Actor run.

The products can complement each other, but their contracts differ: the Actor extracts and normalizes events for specified publication dates; the hosted service answers indexed, company-oriented and monitoring queries.

Limitations

  • BORME is the official commercial-registry gazette, not the complete Registro Mercantil database. It does not provide full deeds or annual-account documents in these event records.
  • The Actor processes province-level Section A company-act documents only. It does not deliver BORME summary items coded as sections B or C, including separate legal-notice and announcement documents.
  • An Actor result is a dated publication event, not a computed current company record. The Actor does not assert current directors, current capital, current legal status, beneficial ownership, or a complete company profile.
  • companyNameFilter is a substring filter within the selected publication dates. It does not resolve renames, similar names, tax identifiers, or legal entities across runs.
  • A single run does not assemble a complete company timeline or persist monitoring state. It does not send webhooks for future changes.
  • Normalization can be incomplete or wrong. Review raw_text, raw labels, unparsed content, and the official source before making legal, compliance, or high-impact decisions.
  • Publication availability and wording are controlled by BOE. Missing, corrected, or delayed source documents can affect the corresponding output.

The source is public-sector BORME information. Official BOE guidance states that publication corresponds to the Registro Mercantil Central and that AEBOE is the editor of the official journal; AEBOE also distributes the source through its website and open-data service. Reuse is subject to the applicable BOE terms and Spanish public-sector information rules, including Law 18/2015 and Royal Decree 1495/2011. This Actor is independent and is not affiliated with, endorsed by, or an official service of AEBOE or Spain's commercial registries.

Registry events are enriched from other public datasets, each carrying its own terms. A company payload names the ones it used in a sources array, and GET /v1/sources (no key required) resolves those slugs to publisher, licence, and the exact wording that publisher requires.

  • Plataforma de Contratación del Sector PúblicoOrigen de los datos: Ministerio de Hacienda (Ley 37/2007 / RD 1495/2011; commercial reuse permitted), taken from the ministry's own daily open-data distribution listed on datos.gob.es. Its terms also require the citation to carry the date the data was last updated, so /v1/sources returns data_as_of beside the wording.
  • Registro de huella de carbono (MITECO)Origen de los datos: Ministerio para la Transición Ecológica y el Reto Demográfico (CC BY 4.0).
  • GLEIF LEI Level-1 golden copySource: GLEIF LEI data (CC0 1.0).
  • BDNS, AEAT, OEPM and CDTI carry a citation too, but one built from the state-wide reuse conditions that bind every AGE publisher, because each body's own page proved unreadable. Those entries report terms_basis: "state-general" and terms_confirmed: false, so a reuser can tell a citation read at the source from one reasoned to. Every other source now carries terms read at the publisher itself.

BORME entries can contain personal names and other public registry information. Users are responsible for having an appropriate purpose and legal basis for their processing, applying retention and access controls, and complying with applicable data-protection law. Documented suppression requests may cause a name to appear as [REDACTED] in derived output.

FAQ

What date does date represent?

It is the publication date of the BORME issue. It is not necessarily the date the underlying act occurred or was registered. When available, the printed registration date is in registral.reg_date.

Does it return a company's current directors or status?

No. It returns events published during the requested date range. Current state must be derived from an appropriately complete, ordered history and separately verified. Use the hosted service if you need assembled company profiles or timelines.

Can I search the whole archive for a company name?

Not with one unbounded search request. companyNameFilter scans only the publication dates in that run. Use the hosted API for indexed company search.

What happens on weekends or holidays?

Dates without a BORME issue produce no rows and are skipped. When dateFrom is omitted, the Actor starts with the previous calendar day and checks up to 10 calendar days backward for the first available weekday issue; it does not consider today's issue.

Are unknown labels lost?

No. raw_text remains the audit fallback. Depending on its position, unfamiliar material may also remain in payload_raw, fields.text, unparsed_spans, or acts[].unparsed_tail, but not every unfamiliar fragment is separately flagged.

How can an AI agent use the data?

An agent can start this Actor through Apify's tooling and read the resulting dataset. For indexed, read-oriented MCP queries such as company search and timelines, use the separate hosted API's MCP service.

Engineering notes

You don't need to scrape BORME explains the source pipeline, format traps, completeness method, and reproducibility boundary.

Compare direct BORME Actors

Checked on 2026-08-25. “Verified” means visible in the public contract or reproduced in a bounded run. “Vendor claim” means stated by the publisher but not independently reproduced. “Not documented” means we found no public evidence; it does not mean the capability is unsupported. “Test failed” means a valid bounded attempt did not produce the claimed or expected result. Prices preserve the captured Store display qualifier, unit, and any displayed usage condition; they are not workload estimates.

ActorPriceDate inputTyped eventsStructured officersAudit/source fieldsDeterministic IDsEvidence note
scrapers_lat/spain-borme-scraperVerified: from $12.75 / 1,000 resultsVerified: date inputNot documentedNot documentedNot documentedNot documentedVerified: date, province, and act-text filtering; limitations documented.
jdepablos/borme-company-feedVerified: from $0.80 / 1,000 company actsVerified: date inputNot documentedNot documentedVerified: rawText, bormeIdNot documentedVerified: province, event, and company filters; historical start not documented.
studio-amba/registro-mercantil-scraperVerified: from $12.00 / 1,000 result scrapedsVerified: date inputNot documentedNot documentedVerified: raw text and source coordinatesNot documentedVerified: province, company/CIF, and act filters; limitations not documented.
parseforge/spain-borme-scraperVerified: from $19.00 / 1,000 resultsVerified: date inputNot documentedNot documentedVerified: full text, sourceUrl, identifierNot documentedVerified: date and maxItems; other filters and historical start not documented.
automation-lab/borme-corporate-acts-scraperVerified: from $0.02 / 1,000 result extractedsVerified: start/end dateNot documentedNot documentedVerified: raw text and source coordinatesNot documentedVerified: province, company, and act filters; limitations not documented.
spain-data-solutions/borme-scraper-proVerified: $8.00/month + usageVerified: date inputNot documentedNot documentedVerified: id_anuncio, texto_completo, url_origenNot documentedVerified: province, event, and company filters; historical start and limitations not documented.
regdata/borme-corporate-acts-scraperVerified: from $3.50 / 1,000 corporate actsVerified: date input; ~2009Not documentedNot documentedVerified: sourceUrl, bormeIdNot documentedVerified: province and event filters; limitations documented.
agoradelmediterraneo/spain-new-companies-bormeVerified: from $10.00 / 1,000 resultsVerified: date inputNot documentedNot documentedVerified: source coordinatesNot documentedVerified: new-company focus and province filter; historical start not documented.
zon4a/spain-company-registry-borme-eventsVerified: from $1.00 / 1,000 company events; pay per event; usage charges applyVerified: range; 2009-01-02Verified: 51 emitted English typesVerified: roles + namesVerified: raw labels/text, registral and source fieldsVerified: event_idVerified: public contract; documented limitations and filters before delivery/charge.
startquicklabs/borme-scraper-proVerified: $1.25 / 1,000 rowsVerified: date inputNot documentedNot documentedVerified: raw text and source coordinatesNot documentedVerified: province input; historical start not documented.
xamto1987/spain-borme-companiesVerified: from $2.00 / 1,000 resultsVerified: date input; 2009-01-05Not documentedVerified: normalized roles + namesVerified: raw text and source coordinatesNot documentedVerified: province, event, and company filters; limitations documented.
ivosandoval/spain-borme-scraperVerified: from $4.00 / 1,000 resultsVerified: date inputNot documentedNot documentedVerified: source_url and BORME document IDNot documentedVerified: province, event, and company filters; historical start and limitations not documented.

This comparison covers only the captured public contracts. It does not compare parser accuracy, archive completeness, reliability, revenue, or actual output quality; no competitor Actor was run for this snapshot. A source document or announcement ID is not treated as a deterministic normalized-event ID, and an officer-name list is not treated as a role-and-name structure.

Español

Datos del BORME en JSON — administradores, capital y concursos

Extrae actos societarios publicados en el BORME y recíbelos como eventos JSON normalizados y auditables. Filtra por fecha de publicación, provincia, nombre de empresa o tipo de evento antes de que los registros se entreguen y se cobren.

Convierte las abreviaturas registrales españolas en tipos de evento estables en inglés, roles y nombres estructurados de administradores, coordenadas registrales y campos específicos de cada acto. Conserva actos relacionados de una misma entrada publicada en un solo evento. Una ejecución extrae las fechas de publicación solicitadas; no calcula los administradores actuales, el estado actual ni un perfil completo de una empresa.

Resultado de ejemplo

El registro JSON representativo anterior está abreviado explícitamente. El elemento devuelto también incluye raw_text completo; los actos pueden incluir fields, unparsed_tail y otros valores vacíos omitidos para legibilidad. date es la fecha de publicación BORME; registral.reg_date, si existe, es la fecha de inscripción impresa y no es intercambiable. borme_id identifica el documento provincial de Sección A, y act_number el artículo impreso dentro de él.

Por qué se paga la normalización

El BORME es la gaceta oficial del Registro Mercantil español. La publicación corresponde al Registro Mercantil Central y la Agencia Estatal Boletín Oficial del Estado (AEBOE) es editora y distribuidora del diario oficial. Sus entradas son difíciles de automatizar: las etiquetas están en español, los roles se abrevian, pueden encadenarse varios actos y el formato varía por años y registros.

  • Emite event_id deterministas para ingestión repetible y deduplicación.
  • Reconoce 52 valores de vocabulario: 51 tipos de evento emitidos y el marcador interno del parser REGISTRAL_DATA para analizar registral.
  • Asigna 114 etiquetas de rol observadas y variantes a 77 valores de rol normalizados únicos, y vincula nombres extraídos a cada rol.
  • Aplica los filtros de provincia, tipo de evento y denominación social antes de entregar y cobrar eventos coincidentes.
  • Conserva los actos relacionados de una misma entrada juntos en el mismo evento de empresa.
  • Retiene act_type_raw, role_raw, payload_raw, fields.text, raw_text, unparsed_tail y unparsed_spans según corresponda para auditoría y revisión.
  • Extrae coordenadas registrales y campos por acto en acts[].fields, incluidos valores de constitución, capital y concursos.

Una versión posterior del parser o vocabulario puede interpretar de otra manera una entrada antigua. Conserva los campos de origen cuando sea importante reproducir resultados entre versiones.

Casos de uso

  • Ingiere constituciones, nombramientos, ceses, cambios de capital, concursos, disoluciones y otros actos de un período seleccionado.
  • Construye un feed diario o periódico y deduplica con event_id.
  • Crea conjuntos para oportunidades e investigación por provincia y tipo de evento, o evidencia BORME fechada para KYB, cumplimiento, riesgo, crédito, periodismo y diligencia debida.
  • Alimenta almacenes de datos, corpus RAG, n8n, Make, Zapier y otras integraciones de Apify.

Estos flujos consumen eventos publicados. Decidir administradores actuales, situación jurídica, propiedad o riesgo exige historial adicional, resolución de entidades, reglas de negocio y verificación.

Inicio rápido

Consola de Apify

Abre zon4a/spain-company-registry-borme-events, elige un intervalo de fechas de publicación, añade filtros opcionales e inicia el Actor. Los resultados se escriben como un elemento JSON por entrada empresarial publicada en el dataset predeterminado de la ejecución.

Si dateFrom está vacío, el Actor empieza el día natural anterior y busca hacia atrás hasta 10 días naturales el primer día laborable con una edición disponible. Nunca selecciona la edición de hoy mediante esta búsqueda. Si dateTo está vacío, usa la misma fecha que dateFrom.

Cliente de Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("zon4a/spain-company-registry-borme-events").call(
run_input={
"dateFrom": "2026-08-03",
"dateTo": "2026-08-07",
"provinces": ["MADRID", "BARCELONA"],
"actTypes": ["INCORPORATION", "APPOINTMENTS", "TERMINATIONS"],
"companyNameFilter": "metales",
}
)

Entrada del Actor

Todos los campos son opcionales. dateFrom es la primera fecha de publicación inclusiva (YYYY-MM-DD) y usa la búsqueda predeterminada anterior de hasta 10 días si se omite. dateTo es la última fecha inclusiva y, si se omite, coincide con dateFrom. provinces contiene nombres de provincia BORME, sin distinción de mayúsculas ni acentos; una lista vacía incluye todas. actTypes contiene tipos emitidos normalizados; una lista vacía incluye todos. companyNameFilter es una subcadena de denominación social, sin distinción de mayúsculas ni acentos; en blanco incluye todas las empresas de las fechas solicitadas.

{
"dateFrom": "2026-08-03",
"dateTo": "2026-08-07",
"provinces": ["MADRID", "BARCELONA"],
"actTypes": ["INCORPORATION", "APPOINTMENTS", "TERMINATIONS"],
"companyNameFilter": "metales"
}

Los fines de semana y festivos sin edición no producen registros y se omiten. companyNameFilter filtra solo las entradas de las publicaciones seleccionadas; no busca la empresa en todo el archivo.

Campos de salida

Cada elemento es una entrada de empresa de una publicación BORME y puede contener varios actos relacionados. event_id es el identificador determinista para deduplicación; date es la fecha de publicación; borme_id identifica el documento provincial BORME de Sección A; province, act_number, company_name, company_slug y company_flags conservan los datos publicados o derivados del encabezado. company_slug no es un identificador fiscal verificado.

acts contiene cero o más actos normalizados de la entrada. Un array vacío significa que no se reconoció una etiqueta conocida; revisa raw_text y unparsed_spans. Cada acto puede contener act_type_raw, act_type, payload_raw, roles con role_raw, role y names, fields y unparsed_tail. registral contiene, cuando existe, tomo, libro, folio, sección, hoja, inscripción, fecha registral y texto registral. raw_text conserva el texto de origen, unparsed_spans conserva texto y desplazamientos no clasificados y source normalmente es parser.

51 tipos de acto emitidos y filtrables

ACCOUNTS_NON_APPROVAL_JUSTIFICATION, ADDRESS_CHANGE, APPOINTMENTS, APPOINTMENT_CANCELLATIONS, BAD_DEBT_WRITE_OFF, BANKRUPTCY_LEGACY, BOND_ISSUE, BRANCH, CALLED_UP_CAPITAL_PAID, CAPITAL_INCREASE, CAPITAL_INCREASE_UNEXECUTED, CAPITAL_REDUCTION, COMPANY_REACTIVATION, COMPANY_WEBSITE, DISSOLUTION, DURATION_CHANGE, ERRATUM, EXTINCTION, FIRST_INSCRIPTION, FOREIGN_BRANCH_FIRST, GLOBAL_TRANSFER_ASSETS_LIABILITIES, INCORPORATION, INSOLVENCY_DECLARATION, INSOLVENCY_STATUS, LEGAL_ADAPTATION, MERGER_BY_ABSORPTION, MERGER_BY_UNION, NAME_CHANGE, OTHER, PARTIAL_SPIN_OFF, POWERS_MODIFICATION, PREVENTIVE_ANNOTATION, PROVISIONAL_SHEET_CLOSURE_INSOLVENCY, PROVISIONAL_SHEET_CLOSURE_NIF_REVOKED, PROVISIONAL_SHEET_CLOSURE_TAX, PURPOSE_CHANGE, PURPOSE_EXTENSION, REGISTRY_SHEET_REOPENED, REVOCATIONS, RE_ELECTIONS, SEGREGATION, SOLE_SHAREHOLDER_CHANGE, SOLE_SHAREHOLDER_DECLARATION, SOLE_SHAREHOLDER_STATUS, SOLE_SHAREHOLDER_STATUS_LOST, SOLE_TRADER, STATUTORY_AMENDMENTS, SUSPENSION_OF_PAYMENTS, TERMINATIONS, TOTAL_SPIN_OFF, TRANSFORMATION

El valor 52, REGISTRAL_DATA, es un marcador interno del parser: no se emite como acts[].act_type, no se puede seleccionar con actTypes y completa el objeto registral. El material aún no asignado permanece en raw_text y, según su posición, en payload_raw, fields.text, unparsed_spans o unparsed_tail; no siempre se marca como fragmento independiente.

Cobertura, frescura y calidad de datos

  • La cobertura de este Actor sobre la API de sumarios de BOE comienza en la fecha de publicación 2009-01-02. Es un límite de extracción de este Actor y de la fuente de sumarios que utiliza, no una afirmación sobre el inicio del registro digital del BORME. Obtiene documentos de actos de Sección A para las fechas solicitadas; no consulta un archivo indexado por identidad de empresa.
  • Puede recuperar una edición del mismo día después de publicarse en AEBOE. Fechas sin publicación y documentos no disponibles no devuelven filas correspondientes.
  • El vocabulario contiene 52 valores (51 emitidos/filtrables y REGISTRAL_DATA) y 77 valores de rol únicos a partir de 114 etiquetas en bruto.
  • La medición documentada de 30 días de agosto de 2026 fue 99.89 % de completitud: 1 - caracteres registrados en unparsed-span y unparsed-tail / caracteres de origen.
  • Solo mide esos caracteres registrados. Texto desconocido puede quedar en payload_raw o fields.text y contar como consumido; raw_text es el respaldo final de auditoría. No mide corrección jurídica, precisión de campos, completitud del archivo ni estado actual de una empresa.
  • No se usa LLM en la ruta normal. Los registros conservan borme_id, fecha de publicación, número de acto y texto derivado del origen para rastreo.

Verificación en vivo

La versión 0.4 procesó la edición BORME del 2026-08-06 en una ejecución de producción acotada comprobada el 2026-08-26, con un evento de empresa válido según el esquema y la empresa esperada. Una edición actual se puede obtener después de que BOE la publique; esta comprobación fechada no es una garantía continua de actualización.

Precios

El precio actual por evento es $0.01 por inicio de Actor más $0.001 por evento de empresa entregado. El cargo de inicio se aplica una vez por ejecución; los filtros de provincia, tipo y denominación se evalúan antes de enviar y cobrar. Con un cargo máximo total de Apify, el Actor se detiene limpiamente al alcanzarlo y los registros ya entregados permanecen en el dataset. Los precios pueden cambiar: confirma la tarifa de la página de ejecución antes de una extracción grande.

¿Actor o API alojada?

Actor

Elige el Actor para una extracción por intervalo de fechas que termina al completarse desde publicaciones oficiales BORME, con filtros opcionales y eventos de empresa normalizados que se cobran al entregarse en un conjunto de datos nuevo de Apify. Es apropiado para la ingestión por día de publicación, recuperaciones históricas acotadas y flujos de datos con almacenamiento y lógica propios.

API alojada

Elige la API alojada independiente para búsqueda indexada de empresas, perfiles ensamblados, líneas de tiempo históricas, monitorización entre ejecuciones, webhooks o acceso MCP de lectura. Esas funciones usan el dataset indexado del servicio y no pertenecen a una ejecución individual del Actor. Los productos pueden complementarse, pero el Actor extrae y normaliza eventos de fechas especificadas y el servicio alojado responde consultas indexadas orientadas a empresa y monitorización.

Limitaciones

  • BORME es la gaceta oficial del registro mercantil; no es la base de datos completa del Registro Mercantil. Estos eventos no contienen escrituras completas ni cuentas anuales.
  • El Actor procesa solo documentos provinciales de actos empresariales de Sección A, no elementos BORME de las secciones B o C ni anuncios y avisos jurídicos separados.
  • El resultado es un evento de publicación fechado, no un registro actual: no afirma administradores actuales, capital actual, situación jurídica actual, titularidad real ni perfil completo.
  • companyNameFilter no resuelve cambios de nombre, nombres similares, identificadores fiscales ni entidades entre ejecuciones. Una ejecución no reúne una línea de tiempo completa, no persiste monitorización y no envía webhooks futuros.
  • La normalización puede ser incompleta o incorrecta. Revisa raw_text, etiquetas en bruto, contenido sin analizar y la fuente oficial antes de decisiones jurídicas, de cumplimiento o de alto impacto.
  • La disponibilidad y redacción dependen de BOE; documentos ausentes, corregidos o retrasados pueden afectar la salida.

La fuente es información BORME del sector público. La guía oficial de BOE indica que la publicación corresponde al Registro Mercantil Central y que AEBOE es editora del diario oficial, además de distribuir la fuente por su sitio y servicio de datos abiertos. La reutilización está sujeta a las condiciones BOE y reglas españolas aplicables, incluidas la Ley 18/2015 y el Real Decreto 1495/2011. Este Actor es independiente y no está afiliado, respaldado ni es un servicio oficial de AEBOE ni de los registros mercantiles españoles.

Las entradas pueden contener nombres personales y otra información pública. Los usuarios deben tener finalidad y base jurídica adecuadas, aplicar controles de conservación y acceso, y cumplir la normativa de protección de datos. Solicitudes de supresión documentadas pueden mostrar un nombre como [REDACTED] en resultados derivados.

Preguntas frecuentes

¿Qué fecha representa date?

Es la fecha de publicación de la edición BORME, no necesariamente la fecha del acto ni de inscripción. Cuando existe, la fecha de inscripción impresa está en registral.reg_date.

¿Devuelve administradores o estado actuales?

No. Devuelve eventos publicados en el intervalo solicitado. El estado actual exige un historial completo y ordenado y verificación independiente. Usa el servicio alojado para perfiles y líneas de tiempo ensamblados.

¿Puedo buscar una empresa en todo el archivo?

No mediante una única búsqueda ilimitada. companyNameFilter explora solo las fechas de publicación de esa ejecución. Usa la API alojada para búsqueda indexada.

¿Qué ocurre en fines de semana o festivos?

Las fechas sin edición no producen filas y se omiten. Si se omite dateFrom, el Actor empieza el día anterior y revisa hasta 10 días naturales hacia atrás; no considera hoy.

¿Se pierden las etiquetas desconocidas?

No. raw_text es el respaldo de auditoría; según su posición el material también puede quedar en payload_raw, fields.text, unparsed_spans o acts[].unparsed_tail, pero no todos los fragmentos se señalan por separado.

¿Cómo puede usar los datos un agente de IA?

Puede iniciar este Actor mediante herramientas de Apify y leer el dataset. Para consultas MCP indexadas y de lectura, como búsqueda de empresas y líneas de tiempo, usa el MCP de la API alojada independiente.

Comparación de Actors BORME directos

Comprobado el 2026-08-25. “Verified” significa visible en el contrato público o reproducido en una ejecución acotada. “Vendor claim” significa declarado por el editor, pero no reproducido de forma independiente. “Not documented” significa que no se encontró evidencia pública; no implica una conclusión sobre capacidad. “Test failed” significa que un intento acotado válido no produjo el resultado afirmado o esperado. Los precios conservan el calificador, la unidad y cualquier condición de uso mostrados por Store; no son estimaciones de carga.

ActorPrecioEntrada de fechaEventos tipadosAdministradores estructuradosCampos de auditoría/origenIDs deterministasNota de evidencia
scrapers_lat/spain-borme-scraperVerified: a partir de $12.75 / 1,000 resultsVerified: entrada de fechaNot documentedNot documentedNot documentedNot documentedVerified: filtros de fecha, provincia y texto del acto; limitaciones documentadas.
jdepablos/borme-company-feedVerified: a partir de $0.80 / 1,000 actos de empresaVerified: entrada de fechaNot documentedNot documentedVerified: rawText, bormeIdNot documentedVerified: filtros de provincia, evento y empresa; inicio histórico no documentado.
studio-amba/registro-mercantil-scraperVerified: a partir de $12.00 / 1,000 resultados extraídosVerified: entrada de fechaNot documentedNot documentedVerified: texto original y coordenadas de origenNot documentedVerified: filtros de provincia, empresa/CIF y acto; limitaciones no documentadas.
parseforge/spain-borme-scraperVerified: a partir de $19.00 / 1,000 resultsVerified: entrada de fechaNot documentedNot documentedVerified: texto completo, sourceUrl, identificadorNot documentedVerified: fecha y maxItems; otros filtros e inicio histórico no documentados.
automation-lab/borme-corporate-acts-scraperVerified: a partir de $0.02 / 1,000 resultados extraídosVerified: fecha de inicio/finNot documentedNot documentedVerified: texto original y coordenadas de origenNot documentedVerified: filtros de provincia, empresa y acto; limitaciones no documentadas.
spain-data-solutions/borme-scraper-proVerified: $8.00/mes + usoVerified: entrada de fechaNot documentedNot documentedVerified: id_anuncio, texto_completo, url_origenNot documentedVerified: filtros de provincia, evento y empresa; inicio histórico y limitaciones no documentados.
regdata/borme-corporate-acts-scraperVerified: a partir de $3.50 / 1,000 actos societariosVerified: entrada de fecha; ~2009Not documentedNot documentedVerified: sourceUrl, bormeIdNot documentedVerified: filtros de provincia y evento; limitaciones documentadas.
agoradelmediterraneo/spain-new-companies-bormeVerified: a partir de $10.00 / 1,000 resultsVerified: entrada de fechaNot documentedNot documentedVerified: coordenadas de origenNot documentedVerified: enfoque en nuevas empresas y filtro de provincia; inicio histórico no documentado.
zon4a/spain-company-registry-borme-eventsVerified: a partir de $1.00 / 1,000 eventos de empresa; pago por evento; se aplican cargos por usoVerified: intervalo; 2009-01-02Verified: 51 tipos emitidos en inglésVerified: roles + namesVerified: etiquetas/texto en bruto y campos registrales y de origenVerified: event_idVerified: contrato público; limitaciones documentadas y filtros antes de la entrega y el cobro.
startquicklabs/borme-scraper-proVerified: $1.25 / 1,000 filasVerified: entrada de fechaNot documentedNot documentedVerified: texto original y coordenadas de origenNot documentedVerified: entrada de provincia; inicio histórico no documentado.
xamto1987/spain-borme-companiesVerified: a partir de $2.00 / 1,000 resultsVerified: entrada de fecha; 2009-01-05Not documentedVerified: roles normalizados + namesVerified: texto original y coordenadas de origenNot documentedVerified: filtros de provincia, evento y empresa; limitaciones documentadas.
ivosandoval/spain-borme-scraperVerified: a partir de $4.00 / 1,000 resultsVerified: entrada de fechaNot documentedNot documentedVerified: source_url e ID de documento BORMENot documentedVerified: filtros de provincia, evento y empresa; inicio histórico y limitaciones no documentados.

Esta comparación cubre solo contratos públicos capturados. No compara precisión del parser, completitud del archivo, fiabilidad, ingresos ni calidad real de la salida; no se ejecutó ningún Actor competidor. Un ID de documento o anuncio de origen no se trata como ID determinista de evento normalizado y una lista de nombres de administradores no se trata como estructura de rol y nombre.