Spain Company Registry — BORME Events API (English) avatar

Spain Company Registry — BORME Events API (English)

Pricing

from $3.00 / 1,000 company events

Go to Apify Store
Spain Company Registry — BORME Events API (English)

Spain Company Registry — BORME Events API (English)

Normalized, typed English events from Spain's official commercial registry gazette (BORME): incorporations, director appointments/terminations, capital changes, insolvencies, dissolutions. Source: official BOE open-data API.

Pricing

from $3.00 / 1,000 company events

Rating

0.0

(0)

Developer

George K.

George K.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Get typed, English-language company events from Spain's official commercial registry (BORME — Boletín Oficial del Registro Mercantil) as clean JSON: incorporations, director appointments and terminations, capital increases, insolvencies, dissolutions, address changes and 40+ more event types. Data comes straight from the official BOE open-data API — every record traceable to its official gazette entry.

No Spanish required. No PDF scraping. No manual monitoring of gazette announcements.

Why this actor

BORME is published only in Spanish, only as daily gazette issues, and the raw acts are dense legal shorthand ("Ceses/Dimisiones. Adm. Unico: ..."). This actor turns them into a normalized event stream:

  • 47 typed event kinds (English enums): INCORPORATION, APPOINTMENTS, TERMINATIONS, CAPITAL_INCREASE, MERGER_BY_ABSORPTION, INSOLVENCY_DECLARATION, DISSOLUTION, SOLE_SHAREHOLDER_CHANGE, PROVISIONAL_SHEET_CLOSURE_NIF_REVOKED, …
  • 56 normalized officer roles: SOLE_DIRECTOR, JOINT_AND_SEVERAL_DIRECTOR, PROXY_HOLDER, LIQUIDATOR, AUDITOR, … with person/entity names extracted per role.
  • Registry coordinates (Datos registrales: sheet, section, inscription, registration date) parsed into fields.
  • Nothing silently dropped: parse completeness is measured per file (long-run average 99.9%+); any unrecognized fragment is preserved verbatim in unparsed_spans, and the full original text is always in raw_text.
  • Full history: any publication date from 2009-01-02 to today (BORME publishes Mon–Fri).
  • Stable IDs: event_id is deterministic — safe to deduplicate across re-runs.

Use cases

  • KYC / AML / onboarding — verify a Spanish counterparty's current directors, check for insolvency proceedings, liquidation status, or a tax-authority sheet closure before signing.
  • Sales intelligence & lead generation — newly incorporated companies by province and day; leadership changes as buying signals.
  • Credit & supplier risk monitoring — watch portfolio companies for INSOLVENCY_DECLARATION, DISSOLUTION, CAPITAL_REDUCTION, EXTINCTION.
  • AI agents & LLM pipelines — typed JSON with English enums slots directly into agent tools, RAG corpora and workflow automations (n8n, Make, Zapier via Apify integrations). This actor runs with limited permissions and plain run-to-completion semantics, so it is safe to call from autonomous agents.
  • Journalism & research — corporate activity by region, sector dynamics, officer networks.

Input

All fields are optional — the default run fetches yesterday's issue, all provinces, all event types.

{
"dateFrom": "2026-06-30",
"dateTo": "2026-06-30",
"provinces": ["MADRID", "BARCELONA"],
"actTypes": ["INCORPORATION", "APPOINTMENTS", "TERMINATIONS"],
"companyNameFilter": "metales"
}
FieldMeaning
dateFrom / dateToPublication date range (YYYY-MM-DD), any dates since 2009-01-02. Defaults: yesterday / dateFrom.
provincesProvince names as printed in BORME (MADRID, VALENCIA, …). Empty = all ~50.
actTypesFilter by typed event kind (see full list below). Empty = all.
companyNameFilterCase-insensitive substring match on company name — cheap way to watch specific companies.

Output

One dataset record per company per gazette entry. A real example (one Madrid company, five chained acts in a single entry):

{
"event_id": "sha1:4763c574a6b992f6b9c1628cee64b0e5abb0cf2d",
"date": "2026-06-30",
"borme_id": "BORME-A-2026-123-28",
"province": "MADRID",
"act_number": 308560,
"company_name": "VAZ METALES SL.",
"company_slug": "vaz-metales-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": "CID SAEZ JESUS MIGUEL."},
{"act_type_raw": "Ceses/Dimisiones", "act_type": "TERMINATIONS",
"roles": [{"role_raw": "Adm. Unico", "role": "SOLE_DIRECTOR", "names": ["VAZ CULEBRAS JOAQUIN"]}]},
{"act_type_raw": "Nombramientos", "act_type": "APPOINTMENTS",
"roles": [{"role_raw": "Adm. Unico", "role": "SOLE_DIRECTOR", "names": ["CID SAEZ JESUS MIGUEL"]}]},
{"act_type_raw": "Cambio de domicilio social", "act_type": "ADDRESS_CHANGE",
"payload_raw": "C/ SAN JOSE DE CALASANZ 1 Ptl.2 1º C (VILLANUEVA DEL PARDILLO)."}
],
"registral": {"seccion": 8, "hoja": "M 507991", "inscription": "2", "reg_date": "2026-06-23",
"raw": "S 8 , H M 507991, I/A 2 (23.06.26)."},
"raw_text": "Sociedad unipersonal. Cambio de identidad del socio único: ...",
"unparsed_spans": [],
"source": "parser"
}

(Empty fields trimmed here for readability — records always carry the full schema, including verbatim raw_text for audit.)

All 47 event types

ACCOUNTS_NON_APPROVAL_JUSTIFICATION, ADDRESS_CHANGE, APPOINTMENTS, APPOINTMENT_CANCELLATIONS, BAD_DEBT_WRITE_OFF, BOND_ISSUE, BRANCH, CALLED_UP_CAPITAL_PAID, CAPITAL_INCREASE, CAPITAL_REDUCTION, COMPANY_REACTIVATION, COMPANY_WEBSITE, DISSOLUTION, ERRATUM, EXTINCTION, 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, REGISTRAL_DATA, REGISTRY_SHEET_REOPENED, REVOCATIONS, RE_ELECTIONS, SEGREGATION, SOLE_SHAREHOLDER_CHANGE, SOLE_SHAREHOLDER_DECLARATION, SOLE_SHAREHOLDER_STATUS, SOLE_SHAREHOLDER_STATUS_LOST, SOLE_TRADER, STATUTORY_AMENDMENTS, TERMINATIONS, TOTAL_SPIN_OFF, TRANSFORMATION

Pricing

Pay-per-event: a small fixed charge per run start plus a per-record charge for each event actually delivered after your filters. You pay for what you receive — filters are applied before charging.

Typical costs:

  • Watch one company (name filter, one month of dates): usually a few cents.
  • Daily new incorporations in Madrid (~120 records/day): ~$0.40 per day.
  • Full-country daily firehose (~2,300 events/day on average): ~$7 per day.

Data quality & guarantees

  • Source: official BOE open-data API (boe.es/datosabiertos) — the authoritative publisher of BORME. Polite fetching (≤1 req/s, identifying User-Agent).
  • Per-file parse completeness is computed as consumed-characters / total-characters and logged; a warning is emitted for any file under 99.5%. Corpus average across 3 gazette "epochs" (2009 / 2015 / 2026 formats): 99.9%+.
  • Unmapped labels come through as act_type: "OTHER" / role: "UNKNOWN_ROLE" with the raw Spanish label preserved — never dropped.
  • Deterministic parser (no LLM in the hot path): identical input always yields identical output.

Hosted API

A REST API over the full 2009+ archive — company timelines, watchlists with webhooks, MCP for agents — is opening soon: bormeapi.com.

  • Contains public-sector information from the Agencia Estatal Boletín Oficial del Estado (BORME), reused under Spanish open-data rules (Law 18/2015, RD 1495/2011). This actor is not affiliated with or endorsed by BOE.
  • BORME data is official public registry information. If you are an individual named in the registry and wish to exercise data-protection rights over derived outputs, contact the address in the actor's support section.

FAQ

Does it cover the whole history? Yes — BORME has been published digitally since 2009-01-02; any date range since then works. BORME publishes Monday–Friday (no weekend/holiday issues; those days simply produce no records).

Is this the "official" registry (Registro Mercantil) full text? BORME is the official gazette of the registry: it publishes every registrable act (appointments, capital changes, insolvency…). It does not include full deed texts or annual accounts — for those you need the registry itself. For monitoring and screening, BORME is the canonical public source.

How fresh is the data? Each issue is published in the morning (Europe/Madrid) of its date; a run with dateFrom = today after publication returns same-day events.

Can I run it from an AI agent? Yes — limited permissions, no standby mode, plain JSON output, deterministic charges per delivered record.