OpenMercantil · Capability

OpenMercantil Public API — Companies

OpenMercantil Public API — Companies. 14 operations. Lead operation: Get A Company Report. Self-contained Naftiko capability covering one Openmercantil business surface.

Run with Naftiko OpenmercantilCompanies

What You Can Do

GET
Getcompany — Get A Company Report
/v1/api/v1/company/{slug}
GET
Getcompanyactivity — Get Company Activity Timeseries
/v1/api/v1/company/{slug}/activity
GET
Getcompanycnmv — Get CNMV Records For Company
/v1/api/v1/company/{slug}/cnmv
GET
Getcompanyembargoes — List Company Embargoes
/v1/api/v1/company/{slug}/embargoes
GET
Getcompanyevents — Get Paginated Company Events
/v1/api/v1/company/{slug}/events
GET
Exportcompany — Export A Company Report
/v1/api/v1/company/{slug}/export
GET
Geocodecompany — Geocode A Company Address
/v1/api/v1/company/{slug}/geocode
GET
Getcompanygrants — List Company Grants From BDNS
/v1/api/v1/company/{slug}/grants
GET
Getcompanynetwork — Get Company Relationship Network
/v1/api/v1/company/{slug}/network
GET
Getcompanyofficers — List Company Officers
/v1/api/v1/company/{slug}/officers
GET
Getcompanysanctions — List Company Sanctions
/v1/api/v1/company/{slug}/sanctions
GET
Getcompanyscore — Get Company Score
/v1/api/v1/company/{slug}/score
GET
Getsimilarcompanies — List Similar Companies
/v1/api/v1/company/{slug}/similar
GET
Getcompanytrustscore — Get Company Trust Score
/v1/api/v1/company/{slug}/trust-score

MCP Tools

get-company-report

Get A Company Report

read-only idempotent
get-company-activity-timeseries

Get Company Activity Timeseries

read-only idempotent
get-cnmv-records-company

Get CNMV Records For Company

read-only idempotent
list-company-embargoes

List Company Embargoes

read-only idempotent
get-paginated-company-events

Get Paginated Company Events

read-only idempotent
export-company-report

Export A Company Report

read-only idempotent
geocode-company-address

Geocode A Company Address

read-only idempotent
list-company-grants-bdns

List Company Grants From BDNS

read-only idempotent
get-company-relationship-network

Get Company Relationship Network

read-only idempotent
list-company-officers

List Company Officers

read-only idempotent
list-company-sanctions

List Company Sanctions

read-only idempotent
get-company-score

Get Company Score

read-only idempotent
list-similar-companies

List Similar Companies

read-only idempotent
get-company-trust-score

Get Company Trust Score

read-only idempotent

Capability Spec

openmercantil-companies.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenMercantil Public API — Companies
  description: 'OpenMercantil Public API — Companies. 14 operations. Lead operation: Get A Company Report. Self-contained
    Naftiko capability covering one Openmercantil business surface.'
  tags:
  - Openmercantil
  - Companies
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    OPENMERCANTIL_API_KEY: OPENMERCANTIL_API_KEY
capability:
  consumes:
  - type: http
    namespace: openmercantil-companies
    baseUri: https://openmercantil.es
    description: OpenMercantil Public API — Companies business capability. Self-contained, no shared references.
    resources:
    - name: api-v1-company-slug
      path: /api/v1/company/{slug}
      operations:
      - name: getcompany
        method: GET
        description: Get A Company Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          description: Company slug, typically `{name}-{cif}`.
          required: true
    - name: api-v1-company-slug-activity
      path: /api/v1/company/{slug}/activity
      operations:
      - name: getcompanyactivity
        method: GET
        description: Get Company Activity Timeseries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-cnmv
      path: /api/v1/company/{slug}/cnmv
      operations:
      - name: getcompanycnmv
        method: GET
        description: Get CNMV Records For Company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-embargoes
      path: /api/v1/company/{slug}/embargoes
      operations:
      - name: getcompanyembargoes
        method: GET
        description: List Company Embargoes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-events
      path: /api/v1/company/{slug}/events
      operations:
      - name: getcompanyevents
        method: GET
        description: Get Paginated Company Events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
        - name: year
          in: query
          type: integer
        - name: page
          in: query
          type: integer
        - name: page_size
          in: query
          type: integer
    - name: api-v1-company-slug-export
      path: /api/v1/company/{slug}/export
      operations:
      - name: exportcompany
        method: GET
        description: Export A Company Report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
        - name: format
          in: query
          type: string
    - name: api-v1-company-slug-geocode
      path: /api/v1/company/{slug}/geocode
      operations:
      - name: geocodecompany
        method: GET
        description: Geocode A Company Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
        - name: force
          in: query
          type: integer
          description: Set to 1 to bypass cache and force a live geocoding lookup.
    - name: api-v1-company-slug-grants
      path: /api/v1/company/{slug}/grants
      operations:
      - name: getcompanygrants
        method: GET
        description: List Company Grants From BDNS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-network
      path: /api/v1/company/{slug}/network
      operations:
      - name: getcompanynetwork
        method: GET
        description: Get Company Relationship Network
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-officers
      path: /api/v1/company/{slug}/officers
      operations:
      - name: getcompanyofficers
        method: GET
        description: List Company Officers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-sanctions
      path: /api/v1/company/{slug}/sanctions
      operations:
      - name: getcompanysanctions
        method: GET
        description: List Company Sanctions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-score
      path: /api/v1/company/{slug}/score
      operations:
      - name: getcompanyscore
        method: GET
        description: Get Company Score
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    - name: api-v1-company-slug-similar
      path: /api/v1/company/{slug}/similar
      operations:
      - name: getsimilarcompanies
        method: GET
        description: List Similar Companies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
        - name: limit
          in: query
          type: integer
    - name: api-v1-company-slug-trust-score
      path: /api/v1/company/{slug}/trust-score
      operations:
      - name: getcompanytrustscore
        method: GET
        description: Get Company Trust Score
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: session
      value: '{{env.OPENMERCANTIL_API_KEY}}'
      placement: cookie
  exposes:
  - type: rest
    namespace: openmercantil-companies-rest
    port: 8080
    description: REST adapter for OpenMercantil Public API — Companies. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/v1/company/{slug}
      name: api-v1-company-slug
      description: REST surface for api-v1-company-slug.
      operations:
      - method: GET
        name: getcompany
        description: Get A Company Report
        call: openmercantil-companies.getcompany
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/activity
      name: api-v1-company-slug-activity
      description: REST surface for api-v1-company-slug-activity.
      operations:
      - method: GET
        name: getcompanyactivity
        description: Get Company Activity Timeseries
        call: openmercantil-companies.getcompanyactivity
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/cnmv
      name: api-v1-company-slug-cnmv
      description: REST surface for api-v1-company-slug-cnmv.
      operations:
      - method: GET
        name: getcompanycnmv
        description: Get CNMV Records For Company
        call: openmercantil-companies.getcompanycnmv
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/embargoes
      name: api-v1-company-slug-embargoes
      description: REST surface for api-v1-company-slug-embargoes.
      operations:
      - method: GET
        name: getcompanyembargoes
        description: List Company Embargoes
        call: openmercantil-companies.getcompanyembargoes
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/events
      name: api-v1-company-slug-events
      description: REST surface for api-v1-company-slug-events.
      operations:
      - method: GET
        name: getcompanyevents
        description: Get Paginated Company Events
        call: openmercantil-companies.getcompanyevents
        with:
          slug: rest.slug
          year: rest.year
          page: rest.page
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/export
      name: api-v1-company-slug-export
      description: REST surface for api-v1-company-slug-export.
      operations:
      - method: GET
        name: exportcompany
        description: Export A Company Report
        call: openmercantil-companies.exportcompany
        with:
          slug: rest.slug
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/geocode
      name: api-v1-company-slug-geocode
      description: REST surface for api-v1-company-slug-geocode.
      operations:
      - method: GET
        name: geocodecompany
        description: Geocode A Company Address
        call: openmercantil-companies.geocodecompany
        with:
          slug: rest.slug
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/grants
      name: api-v1-company-slug-grants
      description: REST surface for api-v1-company-slug-grants.
      operations:
      - method: GET
        name: getcompanygrants
        description: List Company Grants From BDNS
        call: openmercantil-companies.getcompanygrants
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/network
      name: api-v1-company-slug-network
      description: REST surface for api-v1-company-slug-network.
      operations:
      - method: GET
        name: getcompanynetwork
        description: Get Company Relationship Network
        call: openmercantil-companies.getcompanynetwork
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/officers
      name: api-v1-company-slug-officers
      description: REST surface for api-v1-company-slug-officers.
      operations:
      - method: GET
        name: getcompanyofficers
        description: List Company Officers
        call: openmercantil-companies.getcompanyofficers
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/sanctions
      name: api-v1-company-slug-sanctions
      description: REST surface for api-v1-company-slug-sanctions.
      operations:
      - method: GET
        name: getcompanysanctions
        description: List Company Sanctions
        call: openmercantil-companies.getcompanysanctions
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/score
      name: api-v1-company-slug-score
      description: REST surface for api-v1-company-slug-score.
      operations:
      - method: GET
        name: getcompanyscore
        description: Get Company Score
        call: openmercantil-companies.getcompanyscore
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/similar
      name: api-v1-company-slug-similar
      description: REST surface for api-v1-company-slug-similar.
      operations:
      - method: GET
        name: getsimilarcompanies
        description: List Similar Companies
        call: openmercantil-companies.getsimilarcompanies
        with:
          slug: rest.slug
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/company/{slug}/trust-score
      name: api-v1-company-slug-trust-score
      description: REST surface for api-v1-company-slug-trust-score.
      operations:
      - method: GET
        name: getcompanytrustscore
        description: Get Company Trust Score
        call: openmercantil-companies.getcompanytrustscore
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openmercantil-companies-mcp
    port: 9090
    transport: http
    description: MCP adapter for OpenMercantil Public API — Companies. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-company-report
      description: Get A Company Report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompany
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: get-company-activity-timeseries
      description: Get Company Activity Timeseries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanyactivity
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: get-cnmv-records-company
      description: Get CNMV Records For Company
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanycnmv
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: list-company-embargoes
      description: List Company Embargoes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanyembargoes
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: get-paginated-company-events
      description: Get Paginated Company Events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanyevents
      with:
        slug: tools.slug
        year: tools.year
        page: tools.page
        page_size: tools.page_size
      outputParameters:
      - type: object
        mapping: $.
    - name: export-company-report
      description: Export A Company Report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.exportcompany
      with:
        slug: tools.slug
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: geocode-company-address
      description: Geocode A Company Address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.geocodecompany
      with:
        slug: tools.slug
        force: tools.force
      outputParameters:
      - type: object
        mapping: $.
    - name: list-company-grants-bdns
      description: List Company Grants From BDNS
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanygrants
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: get-company-relationship-network
      description: Get Company Relationship Network
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanynetwork
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: list-company-officers
      description: List Company Officers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanyofficers
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: list-company-sanctions
      description: List Company Sanctions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanysanctions
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: get-company-score
      description: Get Company Score
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanyscore
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: list-similar-companies
      description: List Similar Companies
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getsimilarcompanies
      with:
        slug: tools.slug
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-company-trust-score
      description: Get Company Trust Score
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openmercantil-companies.getcompanytrustscore
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.