Caso de uso

Datos mercantiles de empresas españolas para tu CRM o ERP

Guarda el CIF de tu cliente o proveedor y completa su ficha con datos del BORME: denominación, provincia, situación, capital y cargos vigentes. Y mantenla al día volviendo a pedirla cuando haga falta.

Estado del acceso

El acceso está abierto

Crea tu cuenta de desarrollador, confirma el correo y activa el segundo factor (obligatorio) para crear tu clave. Biblioteca, calculadoras y plazos no gastan saldo; empresas y asistente tienen 100 consultas de prueba, sin tarjeta.

El acceso será para empresas de cualquier país, previa verificación.

Para quién es

  • Equipos de producto de CRM, ERP, facturación y gestión que quieren enriquecer fichas de empresa españolas.
  • Gestorías y asesorías que mantienen carteras de clientes y quieren detectar cambios.
  • Integradores que conectan el software de un cliente con datos oficiales.

Cómo se usa, paso a paso

  1. 1. Busca por CIF

    Con GET /v1/dev/empresas?q=<CIF> obtienes el identificador de la sociedad. Guárdalo junto al CIF en tu registro.

  2. 2. Completa la ficha

    Con GET /v1/dev/empresas/{empresaId} traes denominación, provincia, situación, capital en céntimos, cargos vigentes y la última inscripción con su boletín.

  3. 3. Mantenla al día

    Vuelve a pedir la ficha cuando te convenga (al abrir el cliente, o cada semana) y compara con lo guardado. Mil empresas, con una búsqueda y una ficha cada una, son 2.000 consultas: 20 € de saldo al precio actual.

  4. 4. Avisa de cambios relevantes

    La situación (situacion) y la fecha de la última inscripción te dicen si algo ha cambiado; el boletín enlazado enseña de dónde sale.

Las operaciones

  • GET/empresas

    Buscar empresas en el BORME Detalle

    1 céntimo por consulta
  • GET/empresas/{empresaId}

    Cabecera de la ficha de una empresa Detalle

    1 céntimo por consulta
  • GET/provincias

    Provincias con algún boletín del BORME cargado Detalle

    Gratis
  • GET/estado

    Hasta dónde está cargado el BORME Detalle

    Gratis

Ejemplos de petición y respuesta

Los ejemplos usan tu clave desde la variable de entorno JURILIA_API_KEY.

Buscar por nombre o CIF

La respuesta trae el identificador que necesitas para la ficha.

curl

curl "https://api.jurilia.com/v1/dev/empresas?q=acme&limite=5" \
  -H "Authorization: Bearer $JURILIA_API_KEY"

Python

import os
import requests

r = requests.get(
    "https://api.jurilia.com/v1/dev/empresas",
    headers={"Authorization": f"Bearer {os.environ['JURILIA_API_KEY']}"},
    params={"q":"acme","limite":"5"},
    timeout=30,
)
r.raise_for_status()
print(r.json())

JavaScript

const url = new URL("https://api.jurilia.com/v1/dev/empresas");
url.search = new URLSearchParams({"q":"acme","limite":"5"});
const r = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.JURILIA_API_KEY}` },
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
console.log(await r.json());

Respuesta (la forma; los valores son de ejemplo)

{
  "tipo": "nombre",
  "sugerencia": null,
  "empresas": [
    {
      "id": "1234567",
      "denominacion": "ACME SOCIEDAD LIMITADA",
      "provincia": "Madrid",
      "hoja": "M 167931",
      "titular": "sociedad",
      "primeraPublicacion": "2010-03-15",
      "ultimaPublicacion": "2026-06-02",
      "concursalPublicadoEn": null,
      "disolucionPublicadaEn": null,
      "extincionPublicadaEn": null,
      "nombreQueCasa": null
    }
  ]
}

Los valores son ilustrativos para que veas la forma exacta de la respuesta, no datos de una consulta real.

Traer la ficha

Los campos son estables y el dinero va en céntimos.

curl

curl "https://api.jurilia.com/v1/dev/empresas/1234567" \
  -H "Authorization: Bearer $JURILIA_API_KEY"

Python

import os
import requests

r = requests.get(
    "https://api.jurilia.com/v1/dev/empresas/1234567",
    headers={"Authorization": f"Bearer {os.environ['JURILIA_API_KEY']}"},
    timeout=30,
)
r.raise_for_status()
print(r.json())

JavaScript

const url = new URL("https://api.jurilia.com/v1/dev/empresas/1234567");
const r = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.JURILIA_API_KEY}` },
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
console.log(await r.json());

Respuesta (la forma; los valores son de ejemplo)

{
  "id": "1234567",
  "denominacion": "ACME SOCIEDAD LIMITADA",
  "provincia": "Madrid",
  "hoja": "M 167931",
  "titular": "sociedad",
  "situacion": "activa",
  "situacionFecha": null,
  "constitucionFecha": "2010-03-15",
  "primeraPublicacion": "2010-03-15",
  "ultimaPublicacion": "2026-06-02",
  "capitalCentimos": 300000,
  "totalInscripciones": 14,
  "denominaciones": [],
  "cargosVigentes": [{ "cargo": "Administrador único", "nombre": "…" }],
  "ultimaInscripcion": {
    "fecha": "2026-06-02",
    "boletin": "BORME-A-2026-104-12",
    "urlPdf": "https://www.boe.es/borme/dias/2026/06/02/pdfs/…pdf",
    "actos": [{ "tipo": "cambio_de_administradores", "etiqueta": null }]
  }
}

Los valores son ilustrativos para que veas la forma exacta de la respuesta, no datos de una consulta real.

Por qué fiarse de lo que devuelve

JSON estable, sin leer PDF

Campos con nombre y tipo fijos en el contrato OpenAPI, para generar tu cliente.

Precio por consulta

1 céntimo por consulta, sin cuota mensual ni llamada comercial.

La fuente, en cada ficha

El boletín y el PDF oficial de la última inscripción.

Límites y lo que no hace

  • Sólo lo que publica el BORME: no incluye teléfono, correo, web, plantilla ni facturación.
  • Es información publicada en el boletín, no una certificación registral.
  • Sólo lo cargado: /estado dice hasta qué día.
  • 120 llamadas por minuto por clave.

Precio

Las 100 primeras consultas de empresas y asistente son de prueba, una sola vez y compartidas. Después, 1 céntimo por consulta, de un saldo de prepago por paquetes, sin suscripción ni caducidad. Sin saldo, la llamada no se sirve (402) y nunca se genera deuda.

Autenticación y errores

Cada llamada lleva la clave de tu cuenta de desarrollador en la cabecera Authorization: Bearer iuris_sk_…. La dirección base es https://api.jurilia.com. Hay un límite de 120 llamadas por minuto por clave, con las cabeceras X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset en cada respuesta. Una clave puede llevar una lista blanca de IP o redes (CIDR).

Los fallos llegan en JSON con un código estable: 401 (clave ausente o inválida), 402 (sin saldo: no se sirve ni se cobra), 403 (IP no permitida), 409 (falta un dato que decide el cálculo: no se cobra) y 429 (demasiadas llamadas seguidas).

Preguntas frecuentes

¿Puedo enriquecer mi CRM con una API de datos mercantiles?
Sí: busca por CIF con GET /v1/dev/empresas, guarda el identificador y trae la ficha con GET /v1/dev/empresas/{empresaId}: denominación, provincia, situación, capital y cargos vigentes.
¿Qué datos no trae?
Sólo lo que publica el BORME: no trae teléfono, correo, web, número de empleados ni facturación.
¿Cuánto cuesta completar mil empresas?
Una búsqueda y una ficha son dos consultas por empresa: 2.000 consultas, 20 € de saldo a 1 céntimo por consulta, pasada la prueba.
¿Hay un OpenAPI para generar un cliente?
Sí: la referencia documenta el contrato OpenAPI 3.1 de la API, que se puede importar en las herramientas habituales para generar un cliente.