OpenMercantil Score API

Company score, trust score and activity timeseries

Operations 3

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/company/{slug}/score Get a company's composite score · Get Company Score #
Ask an LLM
“What is the OpenMercantil composite score for a Spanish company?”
“Can I get a single overall rating for a company from its registry data?”
Tell an agent
Get the composite company score for {slug}.
Rate company {slug} with the overall composite score.
GET /api/v1/company/{slug}/activity Get a company's registry activity over time · Get Company Activity Timeseries #
Ask an LLM
“How active has a company been in the mercantile registry over time?”
“Is there a time series of registry events I can chart for one company?”
Tell an agent
Get the registry activity time series for {slug}.
Chart how many registry events {slug} had over time.
GET /api/v1/company/{slug}/trust-score Get a company's trust score · Get Company Trust Score #
Ask an LLM
“How trustworthy does a company look once registry, procurement and sanctions signals are combined?”
“Which signals feed the company trust score?”
Tell an agent
Get the trust score for {slug}.
Check {slug}'s trust score combining BORME, CNMV, patents, contracts and sanctions.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openmercantil:openmercantil-score-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openmercantil-score-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenMercantil Public Score API
  version: 1.4.0
  description: 'Public JSON API for Spanish company information derived from BORME and other

    public sources. OpenMercantil is independent and informational; it is not

    the BOE, BORME or Registro Mercantil and does not replace official

    certificates or registry extracts. The API is free and public, requires no

    API key, and is rate-limited per IP. Versions v1.0 through v1.4 are

    available and documented at https://openmercantil.es/api/documentacion.'
  termsOfService: https://openmercantil.es/terminos-de-uso
  contact:
    name: OpenMercantil
    url: https://openmercantil.es/soporte
    email: social@openmercantil.es
  license:
    name: CC BY 4.0 For Derived Public-Data Outputs
    url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://openmercantil.es
  description: Production
tags:
- name: Score
  description: Company score, trust score and activity timeseries
paths:
  /api/v1/company/{slug}/score:
    get:
      tags:
      - Score
      summary: Get Company Score
      operationId: getCompanyScore
      description: Return the OpenMercantil composite company score (introduced in v1.1).
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          example: inditex-sa-a15075062
      responses:
        '200':
          description: Score response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyScore'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /api/v1/company/{slug}/activity:
    get:
      tags:
      - Score
      summary: Get Company Activity Timeseries
      operationId: getCompanyActivity
      description: Return a time series of registry activity events for the company (v1.1).
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          example: inditex-sa-a15075062
      responses:
        '200':
          description: Activity timeseries
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /api/v1/company/{slug}/trust-score:
    get:
      tags:
      - Score
      summary: Get Company Trust Score
      operationId: getCompanyTrustScore
      description: Return the OpenMercantil trust score combining BORME, CNMV, OEPM, PLACSP, BOE and sanctions signals (v1.4).
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          example: inditex-sa-a15075062
      responses:
        '200':
          description: Trust score response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrustScore'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      additionalProperties: true
    CompanyScore:
      type: object
      properties:
        slug:
          type: string
        score:
          type: number
        components:
          type: object
          additionalProperties: true
      additionalProperties: true
    TrustScore:
      type: object
      properties:
        slug:
          type: string
        trust_score:
          type: number
        signals:
          type: object
          additionalProperties: true
      additionalProperties: true
  responses:
    TooManyRequests:
      description: Rate limit exceeded
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: Maximum requests per window (60 per minute by IP on the public anonymous tier).
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Remaining requests in the current window.
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix timestamp when the rate-limit counter resets.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    sessionCookie:
      type: apiKey
      in: cookie
      name: session
      description: Session cookie issued after web sign-in, required only for billing endpoints.