En España, los cambios de una sociedad se publican uno a uno en el BORME: su constitución, nuevos administradores, ceses, un traslado, un cambio de capital, una disolución, una extinción. Leídos en orden, te dicen qué le pasó a una sociedad y cuándo. Este tutorial lo hace con la API de Fuentio: encuentra la sociedad, consúltala por su hoja registral y lee su historial como actos fechados, cada uno con un enlace a la página oficial.
Lo que vas a aprender
- Cómo encontrar una sociedad española por nombre y elegir el resultado correcto
- Cómo consultarla por su hoja registral
- Cómo leer sus actos del BORME como historial, con fechas y enlaces
- Cómo se deduce el estado de los actos
- Qué no puede darte la fuente, y cómo gestionarlo
Antes de empezar
Necesitas una clave de la API de Fuentio en una variable de entorno:
curl -X POST https://api.fuentio.com/v1/keys
export FUENTIO_API_KEY="la clave que recibiste"
Fuentio contiene las sociedades españolas con un acto de la parte A del BORME desde el 2 de enero de 2009. Si necesitas el contexto del propio BORME, lee primero el BORME explicado.
Paso 1: busca la sociedad por nombre
El BORME no incluye el número fiscal, así que no puedes empezar por un NIF o CIF: empieza por el nombre (2 unidades):
curl "https://api.fuentio.com/v1/companies/search?country=ES&q=qilovatio" -H "Authorization: Bearer $FUENTIO_API_KEY"
Con Python (httpx):
import os, httpx
H = {"Authorization": f"Bearer {os.environ['FUENTIO_API_KEY']}"}
r = httpx.get("https://api.fuentio.com/v1/companies/search", params={"country": "ES", "q": "qilovatio"}, headers=H)
for c in r.json()["data"]:
print(c["id"], c["name"]["original"], c["status"]["value"])
Con JavaScript (fetch):
const H = { Authorization: `Bearer ${process.env.FUENTIO_API_KEY}` };
const res = await fetch("https://api.fuentio.com/v1/companies/search?country=ES&q=qilovatio", { headers: H });
for (const c of (await res.json()).data) console.log(c.id, c.name.original, c.status.value);
El id de cada resultado termina en su hoja registral, por ejemplo ES-RMHOJA-B-643957: el prefijo de la provincia (B, Barcelona) y el número de hoja. Cuando varias sociedades comparten nombre, la hoja y la provincia las distinguen.
Paso 2: consulta la sociedad por su hoja
Una unidad:
curl https://api.fuentio.com/v1/companies/ES/B-643957 -H "Authorization: Bearer $FUENTIO_API_KEY"
r = httpx.get("https://api.fuentio.com/v1/companies/ES/B-643957", headers=H)
sociedad = r.json()["data"]
print(sociedad["name"]["original"], sociedad["status"])
const una = await (await fetch("https://api.fuentio.com/v1/companies/ES/B-643957", { headers: H })).json();
console.log(una.data.name.original, una.data.status);
Parte de la ficha real:
{
"id": "ES-RMHOJA-B-643957",
"name": {"original": "QILOVATIO ENERGIA IBERIA S.L."},
"status": {"value": "dissolved", "original_label": "Extinción", "as_of": "2026-05-15"},
"legal_form": {"original_code": "SL", "original_label": "Sociedad de Responsabilidad Limitada"},
"incorporation_date": "2025-10-28",
"capital": {"amount": "5000.00", "currency": "EUR"},
"provenance": {"source": "es_borme", "coverage_level": "events_only"}
}
coverage_level: events_only recuerda lo que es: una ficha construida con actos publicados, no una nota del registro completa.
Paso 3: lee el historial
El historial devuelve los actos que guarda Fuentio como eventos fechados, del más reciente al más antiguo, cada uno con su fuente oficial (1 unidad):
curl https://api.fuentio.com/v1/companies/ES/B-643957/history -H "Authorization: Bearer $FUENTIO_API_KEY"
r = httpx.get("https://api.fuentio.com/v1/companies/ES/B-643957/history", headers=H)
for e in r.json()["data"]["events"]:
print(e["date"], e["label"], e["source"]["url"])
const h = await (await fetch("https://api.fuentio.com/v1/companies/ES/B-643957/history", { headers: H })).json();
for (const e of h.data.events) console.log(e.date, e.label, e.source.url);
Así es un evento, según el ejemplo grabado de la API para otra sociedad, BAT BATEAN, S.L.:
{
"date": "2026-10-02",
"registry_date": "2026-09-25",
"type": "constitution",
"label": "Constitución",
"company_name": "BAT BATEAN, S.L.",
"people": [],
"source": {
"borme_id": "BORME-A-2026-191-01",
"entry": 439821,
"url": "https://www.boe.es/diario_borme/txt.php?id=BORME-A-2026-191-01"
}
}
Dos fechas, dos significados: registry_date es cuándo el registro provincial inscribió el acto; date, cuándo lo publicó el BORME. La parte meta de la respuesta da además history_since, la fecha en que empieza el historial de Fuentio para esta fuente.
Paso 4: entiende el estado
El estado sale de los actos, nunca de una suposición:
- Un acto de Extinción cierra la sociedad: la ficha la muestra extinguida, con la fecha.
- Un acto de Disolución abre su liquidación: la sociedad está en liquidación hasta que llega una extinción.
- Una sociedad cuyo único acto es su constitución no tiene acto de estado: su estado es desconocido, no «activa por defecto».
Para QILOVATIO ENERGIA IBERIA S.L., el historial muestra justo ese camino: constituida en octubre de 2025, cambio de administradores y extinción en mayo de 2026.
Paso 5: atención a lo que falta
Tres huecos que gestionar en tu código y en tu proceso:
- Sin acto en el periodo. Una sociedad sin ningún acto de la parte A desde el 2 de enero de 2009 no está en el flujo. La búsqueda no la devuelve. Eso no significa que no exista: consulta el registro oficial.
- Sin número fiscal. Pedir un NIF o un CIF devuelve el error
id_scheme_not_supported. Busca por nombre. - Personas. Los administradores se publican por ley; las respuestas de Fuentio dejan fuera sus nombres y los textos de los actos: un nombramiento o un cese aparece solo como un evento fechado, con su tipo. Consulta los nombres en la página oficial, como permita la normativa de protección de datos.
cuerpo = r.json()
if cuerpo["error"] and cuerpo["error"]["code"] == "id_scheme_not_supported":
print(cuerpo["error"]["hint"]) # p. ej., busca por nombre
¿Cuánto cuesta?
- Búsqueda por nombre: 2 unidades.
- Consulta por hoja: 1 unidad.
- Historial: 1 unidad.
Los errores no cuestan nada, salvo not_found con un identificador bien formado. Consulta la página de precios.
Para ver dónde encaja esto en la revisión de un cliente, lee cómo las comprobaciones de empresas apoyan las revisiones contra el blanqueo; para los demás países, consulta lo que cubrimos.
Límites. El historial cubre los actos publicados en la parte A del BORME desde el 2 de enero de 2009, no todo el pasado de una sociedad. No se puede consultar una sociedad por su NIF, CIF o número de IVA. Los actos dicen lo que se inscribió; no incluyen las cuentas. No se sirve ningún nombre de persona: administradores, socios y empresarios individuales quedan fuera de todas las respuestas.
Preguntas frecuentes
¿Por qué el historial está vacío antes de cierta fecha?
El historial español de Fuentio empieza el 2 de enero de 2009; meta.history_since lo indica en cada respuesta.
¿Qué diferencia hay entre date y registry_date?
registry_date es cuándo se inscribió el acto en el registro; date, cuándo lo publicó el BORME, normalmente unos días después.
¿Puede una sociedad estar «activa» sin acto de estado?
Fuentio muestra «desconocido» hasta que un acto diga otra cosa. El BORME no publica una marca de «activa».
¿Cómo encuentro una sociedad si dos comparten nombre?
Usa la provincia y la hoja del id, y el domicilio de cada ficha, para distinguirlas.
Fuentes
- El BORME: boe.es/diario_borme
- El acto del cierre del ejemplo: BORME-A-2026-97-08
- Las condiciones de reutilización del BOE: boe.es
