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 25 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 34 operations across 34 paths, and defines 74 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

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

34 operations 34 paths 74 schemas 33 GET1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Server
https://openmercantil.es
Authentication
API Key, API Key, HTTP Bearer, API Key
Terms of Service
Resource Areas
1

Authentication & Security 4

OpenMercantil Companies API declares 4 security schemes for authenticating requests. An API key is passed in the cookie as ob_sess (cookieAuth). 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 session (sessionCookie).

  • 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).
  • 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.
  • sessionCookie — Session cookie issued after web sign-in, required only for billing endpoints.

Paths & Operations 34

Across 34 paths, the API surfaces 34 operations — 33 GET, 1 POST. Each is listed below with its method, path, parameters, and response codes.

Companies 34

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/datasets/public
List generation-bound public company downloads
listPublicCompanyDownloads 1 param → 200304429503
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/sector/{cnae}/companies
Get companies by CNAE sector code
getSectorByCnaeCompanies 5 params → 200400422429503
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
POST
/api/v1/empresa/{slug}/informe-legal
Create the authenticated user's redacted corporate legal report
createCompanyLegalReport 2 params body → 200400401402403404413429
GET
/api/v1/company/{slug}/trust-score
Get Company Trust Score
getCompanyTrustScore 1 param → 200404429

Schemas 74

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

LegalReportResponse
object
7 properties 7 required
CompanyWikidataResponse
object
Generation-bound minimized Wikidata company view. Empty describes the bounded projection only.
13 properties 12 required
WikidataCompanyRecord
object
Structured CC0 subset only; no label, logo, website, CEO, LEI, Wikipedia text or media.
4 properties 4 required
TenderCoverage
object
8 properties
LegalReportPaymentRequiredError
CompanyEventsResponse
object
7 properties 7 required
PublicSourcePolicyMetadata
object
12 properties 8 required
CompanyActivityScoreResponse
object
4 properties 3 required
CompanyEmbargoesResponse
object
6 properties 5 required
CompanyIdentity
object
Stable company identity fields. Historical report builders may append documented BORME fields.
12 properties
OfficerDocumentaryMention
object
Documentary officer mention. It never contains DNI, contact details or a personal address.
7 properties
CnmvEventRecord
object
4 properties 4 required
TenderNotice
object
31 properties 31 required
CompanyReport
object
Sanitized company report. The stable envelope is explicit; versioned BORME report fields may be added.
7 properties
CompanyActivityResponse
object
3 properties 3 required
CompanySanctionsResponse
object
5 properties
CompanyCnmvResponse
object
Generation-bound minimized CNMV view. A null listing or empty events array describes this bounded projection only.
16 properties 15 required
LegalReportDocument
object
3 properties 3 required
JsonValue
A JSON value used only inside explicitly documented extension maps.
SourceCatalogEnvelope
object
4 properties 3 required
OfflineProjectionError
object
4 properties 1 required
CompanyIntegrationProjection
object
4 properties 4 required
CnmvListingRecord
object
3 properties 3 required
BormeEvent
object
Sanitized documentary BORME event; additional source fields remain backward compatible.
10 properties
RelationshipRecord
object
Policy-authorized corporate relationship record.
6 properties
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
CompanySimilarResponse
object
3 properties 3 required
CompanyCompareResponse
object
Stable companycomparev1 response. All three arrays are index-aligned and sorted lexicographically by canonical slug.
7 properties 7 required
CompanyCompareInvalidRequest
object
2 properties 2 required
CompanySearchItem
object
12 properties 4 required
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
PublicCompanyDownloadCatalog
object
15 properties 15 required
LegalReportRequest
object
The body carries only the CSRF fallback. Entitlement, pricing, beta status and the daily idempotency key are server-owned.
1 property
TenderMoney
object
2 properties 2 required
RequestBodyTooLargeError
object
2 properties 2 required
ErrorResponse
object
Closed compatibility envelope for public/account errors. Route-specific schemas narrow these fields further where required.
35 properties 1 required
CompanyCompareAuthority
object
Public generation authority. Internal paths and identity/content/contract/policy fingerprints are deliberately omitted.
7 properties 7 required
OfficerList
array
CompanySourcesResponse
object
Coverage summary for exactly four sources in one companyintegrationspublicv1 generation. It is not the global legal catalog.
13 properties 12 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
CompanyFactsResponse
object
8 properties 6 required
TedContractRecord
object
Minimized, attested TED notice. Tenderer, currency and connector free text are excluded.
4 properties 4 required
GrantRecord
object
Minimized, attested BDNS row. awardamountcents is an awarded amount, never proof of payment.
9 properties 9 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
ProjectionUnavailableError
object
Fail-closed projection outage. Clients must not reinterpret this response as an empty or negative result.
3 properties 3 required
BdeSectorMetric
object
4 properties 4 required
TenderParty
object
6 properties
CompanyCompareLegalUnavailable
object
The active public-source policy could not authorize BORME before comparison admission.
3 properties 3 required
CompanyIntegrationSourceMetadata
object
Projection-bound legal metadata plus the exact governed acquisition boundary for a company integration source.
13 properties 13 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
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
CompanyRelationshipsResponse
object
6 properties
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
CompanyTedResponse
object
Generation-bound minimized TED view. count is the total projected row count; returnedcount is the bounded slice length.
15 properties 14 required
CompanySourceCoverageRecord
object
4 properties 4 required
PublicCompanyDownload
object
7 properties 7 required
SectorCompaniesResponse
object
7 properties 7 required
CompanyCompareNotFound
object
Neutral absence envelope; it does not identify which input was absent or withheld.
1 property 1 required
DocumentarySanction
object
Sanitized documentary sanction record; appearance does not imply current liability.
6 properties
CompanyAeatDebtorResponse
object
7 properties 2 required
BormeFact
object
Sanitized structured BORME fact; DNI/NIE is redacted before caching.
7 properties
CompanyProcurementResponse
object
12 properties 7 required
CompanyEnrichmentResponse
object
Policy-filtered enrichment envelope. Only public catalog sources survive egress filtering.
4 properties
EmbargoRecord
object
Documentary official-notice record; may not reflect later unpublished resolutions.
5 properties
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
ErrorResponse_2
object
2 properties
CompanyScore
object
3 properties
OfficerList_2
object
2 properties
CompanyReport_2
object
13 properties
TrustScore
object
3 properties
Geocode
object
4 properties
Officer
object
5 properties
CompanyEvent
object
5 properties
EventList
object
6 properties

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 Search API
OpenMercantil Sectors API
OpenMercantil Sources 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.