openapi: 3.0.3
info:
title: OpenMercantil Public Billing Stats 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: Stats
description: Aggregate statistics by region and sector
paths:
/api/v1/sectores/stats:
get:
tags:
- Stats
summary: Get Sector Aggregate Statistics
operationId: getSectorStats
description: Return aggregate company counts and growth statistics across CNAE sectors.
responses:
'200':
description: Sector stats
content:
application/json:
schema:
type: object
additionalProperties: true
'429':
$ref: '#/components/responses/TooManyRequests'
/api/v1/sectores/stats.csv:
get:
tags:
- Stats
summary: Export Sector Aggregate Statistics As CSV
operationId: getSectorStatsCsv
description: CSV download of aggregate sector statistics.
responses:
'200':
description: CSV download
content:
text/csv:
schema:
type: string
'429':
$ref: '#/components/responses/TooManyRequests'
/api/v1/ccaa/stats:
get:
tags:
- Stats
summary: Get Aggregate Statistics By Autonomous Community
operationId: getCcaaStats
description: Return aggregate company statistics grouped by Spanish autonomous community (CCAA).
responses:
'200':
description: CCAA stats
content:
application/json:
schema:
type: object
additionalProperties: true
'429':
$ref: '#/components/responses/TooManyRequests'
components:
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'
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
message:
type: string
additionalProperties: true
securitySchemes:
sessionCookie:
type: apiKey
in: cookie
name: session
description: Session cookie issued after web sign-in, required only for billing endpoints.