How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OpenMercantil Companies API

Company reports and registry events

OpenMercantil Companies API is one of 18 APIs that OpenMercantil publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Companies. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 33 operations across 33 paths, organized into 4 resource areas, and defines 65 schemas. It is described by OpenAPI 3.1.0, at version 1.9.3.

Requests are made against a single base URL, https://openmercantil.es.

33 operations 33 paths 65 schemas 32 GET1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.9.3
Base URL
https://openmercantil.es
Authentication
API Key, HTTP Bearer, API Key
Terms of Service
Resource Areas
4

Authentication & Security 3

OpenMercantil Companies API declares 3 security schemes for authenticating requests. An API key is passed in the header as X-API-Key (apiKey). It accepts HTTP bearer tokens (opaque omk_* credential) (bearerAuth). An API key is passed in the cookie as ob_sess (cookieAuth).

  • apiKey — Optional opaque omk API credential for public GETs. Anonymous access remains valid; a credential with the operation's x-api-credential-scope (or public:read) s…
  • bearerAuth — Optional Authorization: Bearer transport for the same opaque omk API credential accepted by X-API-Key. It is not a JWT or OAuth access token.
  • cookieAuth — Browser session cookie set after login at /mi-cuenta/login. Mutations also require X-CSRF-Token header (obtain via GET /api/v1/user/me).

Paths & Operations 33

Across 33 paths, the API surfaces 33 operations — 32 GET, 1 POST. They span 4 resource areas: Companies, Datasets, Sectors, Legal. Each is listed below with its method, path, parameters, and response codes.

Companies 30

Company reports and registry events

GET
/api/v1/company/{slug}
Get a company report
getCompanyBySlug 2 params → 200304404429503
GET
/api/v1/companies/compare
Compare exactly two admitted companies
compareCompanies 2 params → 200304400404429503
GET
/api/v1/company/{slug}/events
Get paginated company events
getCompanyBySlugEvents 5 params → 200304404400422429500503
GET
/api/v1/company/{slug}/timeline
Get unified multi-source company timeline
getCompanyBySlugTimeline 1 param → 200404503429
GET
/api/v1/company/{slug}/officers
Get current and historical company officers
getCompanyBySlugOfficers 1 param → 200404429503
GET
/api/v1/company/{slug}/contracts
Get PLACSP procurement notices linked to a legal entity
getCompanyBySlugContracts 2 params → 200400422404429500503
GET
/api/v1/company/{slug}/procurement
Alias of /contracts
getCompanyBySlugProcurement 1 param → 200400404429500503
GET
/api/v1/company/{slug}/grants
Get BDNS public grants
getCompanyBySlugGrants 3 params → 200304400422404429503
GET
/api/v1/company/{slug}/ip
Get policy-gated aggregated trademarks and patents
getCompanyBySlugIp 1 param → 200404429503
GET
/api/v1/company/{slug}/sources
Get bounded public integration coverage for a company
getCompanyBySlugSources 2 params → 200304400404429503
GET
/api/v1/company/{slug}/sanctions
Get policy-gated sanctions dataset
getCompanyBySlugSanctions 1 param → 200404429503
GET
/api/v1/empresa/{slug}/facts
Get extracted BORME facts for a company
getEmpresaBySlugFacts 3 params → 200304400422404429500503
GET
/api/v1/company/{slug}/factsdeprecated
Get extracted BORME facts through the legacy English alias
getLegacyCompanyBySlugFacts 3 params → 200304400422404429500503
GET
/api/v1/company/{slug}/relationships
Get documentary relationships of a company
getCompanyBySlugRelationships 3 params → 200400404429500503
GET
/api/v1/company/{slug}/risk-signals
Get documentary risk signals
getCompanyBySlugRiskSignals 1 param → 200404429503
GET
/api/v1/company/{slug}/lei
Get policy-gated GLEIF LEI record
getCompanyBySlugLei 1 param → 200404429503
GET
/api/v1/company/{slug}/bde
Get Banco de España sector ratios for a company CNAE
getCompanyBySlugBde 1 param → 200404429503
GET
/api/v1/company/{slug}/cnmv
Get the CNMV listed-company projection and recent events
getCompanyBySlugCnmv 3 params → 200304400422404429503
GET
/api/v1/company/{slug}/aeat-moroso
Check policy-gated AEAT debtor-list mention
getCompanyBySlugAeatMoroso 1 param → 200404429503
GET
/api/v1/company/{slug}/wikidata
Get the bounded Wikidata company metadata projection
getCompanyBySlugWikidata 2 params → 200304400404429503
GET
/api/v1/company/{slug}/ted
Get TED notice records linked to this corporate NIF
getCompanyBySlugTed 3 params → 200304400422404429503
GET
/api/v1/company/{slug}/accounts
Get policy-gated filed accounts metadata
getCompanyBySlugAccounts 1 param → 200404429503
GET
/api/v1/company/{slug}/geocodedeprecated
Company geocode projection (unavailable)
getCompanyBySlugGeocode 1 param → 404429503
GET
/api/v1/company/{slug}/activity
Activity time series
getCompanyBySlugActivity 2 params → 200304404429503
GET
/api/v1/company/{slug}/score
Documentary completeness score (no risk/credit scoring)
getCompanyBySlugScore 1 param → 200404429503
GET
/api/v1/company/{slug}/similar
Similar companies (province + CNAE2 + BORME activity)
getCompanyBySlugSimilar 2 params → 200400422404429503
GET
/api/v1/company/{slug}/embargoes
Documentary embargo/garnishment mentions
getCompanyBySlugEmbargoes 1 param → 200404429503
GET
/api/v1/company/{slug}/networkdeprecated
Documentary network projection (temporarily unavailable)
getCompanyBySlugNetwork 1 param → 404503429
GET
/api/v1/company/{slug}/enrichment
Fail-closed public enrichment payload
getCompanyBySlugEnrichment 2 params → 200304404429503
GET
/api/v1/company/{slug}/export
Export a single company report
getCompanyBySlugExport 1 param → 200400404429503
Datasets 1
GET
/api/v1/datasets/public
List generation-bound public company downloads
listPublicCompanyDownloads 1 param → 200304429503
Sectors 1
GET
/api/v1/sector/{cnae}/companies
Get companies by CNAE sector code
getSectorByCnaeCompanies 5 params → 200400422429503
Legal 1
POST
/api/v1/empresa/{slug}/informe-legal
Create the authenticated user's redacted corporate legal report
createCompanyLegalReport 2 params body → 200400401402403404413429

Schemas 65

The contract defines 65 schemas that model the data the API accepts and returns. The most detailed are ErrorResponse (35 properties), TenderNotice (31 properties), CompanyLeiResponse (31 properties), CompanyIntegrationAcquisitionCoverage (17 properties). Each schema is shown below with its type and property counts.

BdeSectorMetric
object
4 properties 4 required
BormeEvent
object
Sanitized documentary BORME event; additional source fields remain backward compatible.
10 properties
BormeFact
object
Sanitized structured BORME fact; DNI/NIE is redacted before caching.
7 properties
CnmvEventRecord
object
4 properties 4 required
CnmvListingRecord
object
3 properties 3 required
CompanyAccountsResponse
object
Current annual-accounts aggregate helper response. The operation remains source-policy gated; aldia and hasfinancials are runtime aggregate flags, not registry…
13 properties 12 required
CompanyActivityResponse
object
3 properties 3 required
CompanyActivityScoreResponse
object
4 properties 3 required
CompanyAeatDebtorResponse
object
7 properties 2 required
CompanyBdeResponse
object
Banco de Espana Central de Balances ratios for the company's two-digit CNAE sector. These are sector metrics, not a supervised-entity record or company score.
16 properties 13 required
CompanyCnmvResponse
object
Generation-bound minimized CNMV view. A null listing or empty events array describes this bounded projection only.
16 properties 15 required
CompanyCompareAuthority
object
Public generation authority. Internal paths and identity/content/contract/policy fingerprints are deliberately omitted.
7 properties 7 required
CompanyCompareEntity
object
Exact allowlisted companypublicv2 row used by a comparison. No report, officer, status, score, account or raw fields are permitted.
10 properties 10 required
CompanyCompareInvalidRequest
object
2 properties 2 required
CompanyCompareLegalUnavailable
object
The active public-source policy could not authorize BORME before comparison admission.
3 properties 3 required
CompanyCompareNotFound
object
Neutral absence envelope; it does not identify which input was absent or withheld.
1 property 1 required
CompanyCompareResponse
object
Stable companycomparev1 response. All three arrays are index-aligned and sorted lexicographically by canonical slug.
7 properties 7 required
CompanyEmbargoesResponse
object
6 properties 5 required
CompanyEnrichmentResponse
object
Policy-filtered enrichment envelope. Only public catalog sources survive egress filtering.
4 properties
CompanyEventsResponse
object
7 properties 7 required
CompanyFactsResponse
object
8 properties 6 required
CompanyGrantsResponse
object
Generation-bound BDNS view. count is the total projected row count; returnedcount is the bounded slice length. No monetary rollup is emitted.
15 properties 14 required
CompanyIdentity
object
Stable company identity fields. Historical report builders may append documented BORME fields.
12 properties
CompanyIntegrationAcquisitionCoverage
object
Attested acquisition boundary for one governed source package. Completeness applies only to this exact bounded scope; completehistoryclaimed and sourcesnapshot…
17 properties 17 required
CompanyIntegrationProjection
object
4 properties 4 required
CompanyIntegrationSourceMetadata
object
Projection-bound legal metadata plus the exact governed acquisition boundary for a company integration source.
13 properties 13 required
CompanyLeiResponse
object
Current GLEIF helper shape. The source-policy gate may make this operation unavailable; haslei=false is the runtime empty shape, not independent proof of non-r…
31 properties 6 required
CompanyProcurementResponse
object
12 properties 7 required
CompanyRelationshipsResponse
object
6 properties
CompanyReport
object
Sanitized company report. The stable envelope is explicit; versioned BORME report fields may be added.
7 properties
CompanySanctionsResponse
object
5 properties
CompanySearchItem
object
12 properties 4 required
CompanySimilarResponse
object
3 properties 3 required
CompanySourceCoverageRecord
object
4 properties 4 required
CompanySourcesResponse
object
Coverage summary for exactly four sources in one companyintegrationspublicv1 generation. It is not the global legal catalog.
13 properties 12 required
CompanyTedResponse
object
Generation-bound minimized TED view. count is the total projected row count; returnedcount is the bounded slice length.
15 properties 14 required
CompanyWikidataResponse
object
Generation-bound minimized Wikidata company view. Empty describes the bounded projection only.
13 properties 12 required
DocumentarySanction
object
Sanitized documentary sanction record; appearance does not imply current liability.
6 properties
EmbargoRecord
object
Documentary official-notice record; may not reflect later unpublished resolutions.
5 properties
ErrorResponse
object
Closed compatibility envelope for public/account errors. Route-specific schemas narrow these fields further where required.
35 properties 1 required
FinancialAccountsRecord
object
Source-precedence annual-accounts row emitted under a year key. Monetary values are integer euros derived from stored cents; no accounting concept is inferred.
8 properties 8 required
GrantRecord
object
Minimized, attested BDNS row. awardamountcents is an awarded amount, never proof of payment.
9 properties 9 required
JsonValue
A JSON value used only inside explicitly documented extension maps.
LegalReportAxis
object
One documentary axis in the redacted corporate legal-history projection. Presence records sourced events; it does not assert wrongdoing, solvency, current stat…
15 properties 4 required
LegalReportDocument
object
3 properties 3 required
LegalReportPaymentRequiredError
LegalReportRequest
object
The body carries only the CSRF fallback. Entitlement, pricing, beta status and the daily idempotency key are server-owned.
1 property
LegalReportResponse
object
7 properties 7 required
OfficerDocumentaryMention
object
Documentary officer mention. It never contains DNI, contact details or a personal address.
7 properties
OfficerList
array
OfflineProjectionError
object
4 properties 1 required
ProjectionUnavailableError
object
Fail-closed projection outage. Clients must not reinterpret this response as an empty or negative result.
3 properties 3 required
PublicCompanyDownload
object
7 properties 7 required
PublicCompanyDownloadCatalog
object
15 properties 15 required
PublicSourcePolicyMetadata
object
12 properties 8 required
RelationshipRecord
object
Policy-authorized corporate relationship record.
6 properties
RequestBodyTooLargeError
object
2 properties 2 required
SectorCompaniesResponse
object
7 properties 7 required
SourceCatalogEnvelope
object
4 properties 3 required
TedContractRecord
object
Minimized, attested TED notice. Tenderer, currency and connector free text are excluded.
4 properties 4 required
TenderCoverage
object
8 properties
TenderMoney
object
2 properties 2 required
TenderNotice
object
31 properties 31 required
TenderParty
object
6 properties
WikidataCompanyRecord
object
Structured CC0 subset only; no label, logo, website, CEO, LEI, Wikipedia text or media.
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

openmercantil-companies-api-openapi.yml Raw ↑

Other APIs OpenMercantil publishes across the network.

OpenMercantil API Credentials API
OpenMercantil Billing API
OpenMercantil BORME API
OpenMercantil Datasets API
OpenMercantil Graph API
OpenMercantil Integrations API
OpenMercantil Legal API
OpenMercantil Persons API
OpenMercantil Public Procurement API
OpenMercantil Risk Signals API
OpenMercantil Search API
OpenMercantil Sectors API
Where this information came from

This is an independent, third-party profile of OpenMercantil Companies API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.