API de empresas españolas: CIF/NIF, Registro Mercantil y BORME

Filings.es es la API REST de los datos oficiales del Registro Mercantil: valida un número de IVA intracomunitario (VIES), un CIF o un NIF, busca empresas por nombre o CIF, consulta administradores, propiedad, concursos y todo el historial del BORME de más de 3 millones de empresas españolas, y prospecta las nuevas empresas constituidas por provincia y código de actividad (CNAE).

Especificación OpenAPI 3.1: /openapi.json - para abrir en Postman, Insomnia o un generador de clientes.

La clave DEMO pública solo sirve para los ejemplos de esta página. Regístrate para consultar cualquier empresa (100 llamadas gratis).

Autenticación

Envía tu clave en la cabecera X-Api-Key (recomendado) o como parámetro ?apikey= (útil en el navegador). Genera y renueva tu clave desde tu cuenta.

Autorización por cabecera

Incluye tu clave en la cabecera de la petición: X-Api-Key: demo

Copiar

Autorización por URL

Para autorizar tus peticiones, añade ?apikey=demo al final de cada petición.

Copiar

Nota: usa &apikey= si el endpoint ya tiene otros parámetros en la query.

Búsqueda

Autocompletar

Sugerencias en tiempo real (empresas + administradores).

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/autocomplete?query=iberdro&limit=5 Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
query*stringiberdroPrefijo (mín. 2 caracteres).
limitinteger5Sugerencias (def. 15, máx. 100). Sin paginación: afina escribiendo.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "query": "iberdro",
3 "limit": 5,
4 "count": 5,
5 "matches": [
6 {
7 "tax_id": "A48010615",
8 "registry_id": "BI167",
9 "name": "IBERDROLA SOCIEDAD ANONIMA",
10 "province_code": "48",
11 "province": "Bizkaia",
12 "announcement_count": "859"
13 },
14 {
15 "tax_id": "A95075586",
16 "registry_id": "BI27059",
17 "name": "IBERDROLA GENERACION SOCIEDAD ANONIMA",
18 "province_code": "48",

Empresas

Ficha de empresa

Todos los datos de una empresa por su NIF, CIF o número de hoja registral: identidad, forma jurídica, capital, domicilio, CNAE, estado, administradores, propiedad y concursos.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/company/B54226691 Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
id*stringB54226691NIF/CIF o hoja registral. Lo obtienes con «Buscar empresas» o «Autocompletar» (p. ej. B54226691 o A105993).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "registry_id": "A105993",
3 "name": "SOLER BULILLA SL",
4 "province_code": "03",
5 "actualizado_el": "2026-09-19 14:25:38.680603+00",
6 "first_seen": "2013-01-23",
7 "last_seen": "2022-02-28",
8 "announcement_count": "17",
9 "act_types": [
10 "Cambio de denominación social",
11 "Ceses/Dimisiones",
12 "Declaración de unipersonalidad",
13 "Nombramientos",
14 "Revocaciones",
15 "Situación concursal"
16 ],
17 "turismo": null,
18 "webs": [],

Administradores de la empresa

Administradores y apoderados (actuales e históricos) reconstruidos de los nombramientos y ceses del BORME. Cada relación incluye un person_id (para /person/{person_id}), is_entity (persona jurídica o física), el cargo tal como figura en el BORME (roles_borme) y sus pruebas: los anuncios del BORME que la crean o la terminan, con la referencia oficial y el enlace al PDF (sources).

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/company/B54226691/directors Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
id*stringB54226691NIF, CIF o hoja registral.
statusstring—active o ceased.
sourcesstring—0 para no devolver los anuncios de origen (respuesta más rápida).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "id": "A105993",
3 "total": 8,
4 "limit": 100,
5 "offset": 0,
6 "sources_included": true,
7 "directors": [
8 {
9 "name": "MARTINEZ MIGUELEZ MIGUEL FAUSTINO",
10 "person_id": "faustino-martinez-miguel-miguelez",
11 "is_entity": false,
12 "role": "Administrador Único",
13 "roles": [
14 "Administrador Único"
15 ],
16 "roles_borme": [
17 "Adm. Unico"
18 ],

Propiedad

Socio único, cap-table y titular real cuando están disponibles en el BORME.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/company/B54226691/owners Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
id*stringB54226691NIF, CIF o hoja registral.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "tax_id": "B54226691",
3 "registry_id": "A105993",
4 "name": "SOLER BULILLA SL",
5 "sole_shareholder": "CRISTALERIA SOLER-HERMANOS SA",
6 "cap_table": [
7 {
8 "holder": "CRISTALERIA SOLER-HERMANOS SA",
9 "percent": 100,
10 "is_entity": true,
11 "since": "2013-01-23",
12 "resolution": {
13 "country": "es",
14 "identifier": "A21897",
15 "identifier_kind": "hoja_registral",
16 "identifier_label": "Hoja A21897",
17 "matched_denomination": "CRISTALERIA SOLER-HERMANOS SA",
18 "tax_id": "A03196680",

Grafo de vinculaciones

Nodos y aristas que unen la empresa con sus administradores y las demás sociedades que dirigen.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/company/B54226691/network Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
id*stringB54226691NIF, CIF o hoja registral.
statusstringformerEje temporal: active (cargos actuales, por defecto), former (solo antiguos), all (ver todos).
depthinteger31 = solo consejo · 2 = + red de los miembros (por defecto) · 3 = + sus consejos · 4 = + consejos de las filiales.
kindstringassociesdirigeants (por defecto), associes o beneficiaires.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "central": {
3 "kind": "siren",
4 "id": "co:A105993",
5 "displayName": "SOLER BULILLA SL",
6 "inactive": false
7 },
8 "nodes": [
9 {
10 "id": "co:A105993",
11 "kind": "siren",
12 "displayName": "SOLER BULILLA SL",
13 "siren": "A105993",
14 "tax_id": "B54226691",
15 "sources": [
16 "borme"
17 ]
18 },

Concursos de la empresa

Procedimientos concursales asociados a la empresa.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/company/B54226691/insolvency Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
id*stringB54226691NIF, CIF o hoja registral.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "tax_id": "B54226691",
3 "registry_id": "A105993",
4 "name": "SOLER BULILLA SL",
5 "insolvency": [
6 {
7 "id": "BOE-B-2014-33478",
8 "publication_date": "2014-09-27",
9 "city": "ALICANTE",
10 "tax_id": "B54226691",
11 "name": "Que en el procedimiento concursal número 930/12, referente al deudor Bilyana - Glass, S.L",
12 "type": "declaration",
13 "class": null,
14 "procedure_number": "09/2014",
15 "court": null,
16 "insolvency_administrator": null,
17 "order_date": "2014-09-08",
18 "contenido_edicto": "Doña Pilar Solanot García, Secretaria Judicial del Juzgado de lo Mercantil número 1 de Alicante en sustitución, Anuncia: Que en el procedimiento concursal número 930/12, referente al deudor Bilyana - Glass, S.L, con CIF: B-54226691, con domicilio en polígono industrial de Bulilla, parcela 2-4, Villena (Alicante), se ha dictado el 1/09/2014 sentencia, aprobando judicialmente el convenio propuesto por el deudor, cuyo fallo es el siguiente: Fallo: 1.º Se aprueba el Convenio de fecha 7/05/14 de la mercantil concursada Bilyana-Glass, S.L., con todos los efectos legales desde esta resolución en los términos del fundamento jurídico segundo. 2.º Los Administradores concursales rendirán cuentas de su actuación ante el Juez del concurso dentro del plazo de 15 días. 3.º Fórmese la sección sexta que se encabezará con testimonio de esta resolución, del auto de declaración del concurso, de la propuesta de Convenio y de la evaluación de la propuesta de Convenio por el AC (artículo 167.1 LC ). Hágase constar en el edicto que dentro de los diez días siguientes a la última publicación de esta resolución acordando la formación de la sección sexta, cualquier acreedor o persona que acredite interés legítimo, podrá personarse y ser parte en dicha sección, alegando por escrito cuanto considere relevante para la calificación del concurso como culpable y pretensiones ejercitadas. Líbrese mandamiento al Registro Mercantil en el que figure inscrita la declaración de concurso para la inscripción de la sentencia y del cese de la Admón. concursal (arts. 23 y 38). Líbrese mandamiento al Registro de la Propiedad y de bienes muebles en los que figuren bienes en los que se haya practicado inscripción de la declaración de concurso para su cancelación y cese de la Admón. concursal. Notifíquese la presente resolución al concursado a la Administración concursal y a todas las partes personadas en esta sección. Publíquese por edictos en el tablón de anuncios de este Juzgado y en defecto de Registro Público Concursal en el Boletín Oficial del Estado. Contra esta sentencia cabe interponer recurso de apelación en el plazo de 20 días ante este mismo Juzgado de conformidad con lo previsto en los artículos 458 y siguientes de la Ley de Enjuiciamiento Civil y del que conocerá la Ilma. Audiencia Provincial de Alicante. Para la apelación será necesario previo depósito de la suma de 50 euros que deberá ingresar en la cuenta de depósitos y consignaciones de este Juzgado abierta en el Grupo Banesto consignando como código 02 y como concepto \"pago recurso de apelación\", sin cuyos requisitos no se admitirá el recurso (artículos 451 y 452 de la LEC y Disposición adicional decimoquinta de la LOPJ añadida por la LO 1/2009, de 3 de noviembre). Así por esta mí sentencia, lo pronuncio, mando y firmo. Publicidad.-A la anterior sentencia se le dio la publicidad permitida por las leyes. Doy fe. Alicante, 8 de septiembre de 2014.- La Secretaria Judicial.",

Historial BORME

Cronología de anuncios oficiales de la empresa.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/company/B54226691/announcements Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
id*stringB54226691NIF, CIF o hoja registral.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "tax_id": "B54226691",
3 "registry_id": "A105993",
4 "name": "SOLER BULILLA SL",
5 "announcement_count": "17",
6 "timeline": [
7 {
8 "id": "6831845",
9 "publication_date": "2022-02-28",
10 "name": "SOLER BULILLA SL",
11 "act_types": [
12 "Revocaciones"
13 ],
14 "parsed_fields": {
15 "revocaciones": [
16 {
17 "name": "GONZALEZ JATO MIGUEL ANGEL",
18 "role": "Attorney-in-fact"

Administradores

Ficha de persona

Todos los mandatos (actuales e históricos) de una persona.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/director/GARCIA%20GARCIA%20JOSE Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
name*stringGARCIA GARCIA JOSENombre completo (como en el BORME).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "person": {
3 "name": "GARCIA GARCIA JOSE",
4 "person_id": "garcia-garcia-jose",
5 "mandateCount": 297,
6 "currentCount": 126,
7 "formerCount": 171
8 },
9 "turismo": {
10 "n": 6,
11 "sociedades": 62,
12 "nivel": "moyen",
13 "provincias": [
14 "ALMERIA",
15 "MALAGA"
16 ]
17 },
18 "mandates": [

Persona por identificador

Todas las relaciones de una persona, por el person_id devuelto con los administradores de una sociedad. Con from_company, cada relación se clasifica según lo que la vincula a esa sociedad: same_company, shared_directors (administradores en común), ownership (socio único) o name_match_only. Los registros españoles solo publican el nombre (sin DNI): una relación name_match_only puede corresponder a un homónimo. La misma respuesta incluye, para cada relación, la titularidad (ownership: 100 %, directa o indirecta a través de sociedades a su vez participadas al 100 %, ya que el registro solo publica el socio único) y los procedimientos concursales de la sociedad (insolvency); y, para la propia persona, sus concursos como deudora (insolvency_as_debtor) y sus inhabilitaciones extraídas de las sentencias de calificación (disqualifications, con la frase citada). Estos tres cruces también se hacen por el nombre. risk_checks indica si cada parte pudo calcularse.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/person/faustino-martinez-miguel-miguelez?from_company=B54226691 Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
person_id*stringfaustino-martinez-miguel-miguelezIdentificador devuelto por /company/{id}/directors (person_id).
from_companystringB54226691NIF, CIF u hoja de la sociedad de partida.
limitinteger—1 a 200 (50 por defecto).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "person_id": "faustino-martinez-miguel-miguelez",
3 "name": "MARTINEZ MIGUELEZ MIGUEL-FAUSTINO",
4 "name_variants": [
5 "MARTINEZ MIGUELEZ MIGUEL FAUSTINO",
6 "MARTINEZ MIGUELEZ MIGUEL-FAUSTINO"
7 ],
8 "is_entity": false,
9 "total": 100,
10 "limit": 50,
11 "offset": 0,
12 "from_company": {
13 "id": "A105993",
14 "name": "SOLER BULILLA SL",
15 "tax_id": "B54226691"
16 },
17 "links_summary": {
18 "name_match_only": 47,

Cumplimiento (KYB)

Validar un número de IVA (VIES)

Comprueba el número de IVA intracomunitario en VIES, el servicio oficial de la Comisión Europea, y lo cruza con nuestra ficha registral. Es la verificación exigida antes de facturar sin IVA a un cliente europeo. Respuesta: valid, invalid o unavailable, una caída de la administración nunca se presenta como invalidez.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/vat/A15075062 Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
nif*stringA15075062NIF/CIF español, con o sin el prefijo ES.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "tax_id": "A15075062",
3 "vat_number": "ESA15075062",
4 "country": "ES",
5 "status": "valid",
6 "checked_at": "2026-10-08 20:41:08.563024+00",
7 "cached": true,
8 "name": null,
9 "address": null,
10 "company": {
11 "tax_id": "A15075062",
12 "registry_id": "C3342",
13 "name": "INDUSTRIA DE DISEÑO TEXTIL, S.A.",
14 "province": "A CORUÑA",
15 "active": true
16 }
17}

Prospección

Nuevas empresas constituidas

Las sociedades constituidas recientemente, filtrables por provincia, sector (código CNAE) y capital. Devuelve domicilio y teléfono cuando constan. Por defecto: últimos 30 días.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/new-companies?provincia=29&since=2026-07-01&limit=5 Copiar URL

Parámetros

ParámetroTipoEjemploDescripción
sincestring2026-07-01Constituidas desde esta fecha (AAAA-MM-DD). Def.: hace 30 días.
provinciastring29Código INE de provincia (29 = Málaga). Lista en /provinces.
cnaestring6920Código de actividad, por PREFIJO: «64» abarca toda la finanza, «6920» las asesorías. Lista en /cnae.
min_capitalstring3000Capital social mínimo, en euros.
limitinteger5Resultados por página (def. 50, máx. 100).
pageinteger2Página, desde 1 (máx. 20).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "page": 1,
3 "per_page": 5,
4 "count": 5,
5 "has_more": true,
6 "filters": {
7 "since": "2026-07-01",
8 "until": null,
9 "province": "29",
10 "activity": null
11 },
12 "results": [
13 {
14 "tax_id": "B05699889",
15 "registry_id": "MA201487",
16 "name": "WE TOLD YOU SL",
17 "legal_form": "Sociedad Limitada (SL)",
18 "activity_code": "7311",

Directorio por sector

Todas las sociedades de un sector y una provincia, no solo las nuevas. «Soy asesor, dame las gestorías de Málaga.» Se exige al menos un criterio: provincia o sector.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/directory?cnae=6920&provincia=29&limit=5 Copiar URL

Parámetros

ParámetroTipoEjemploDescripción
cnaestring6920Código de actividad, por prefijo. Obligatorio si falta provincia.
provinciastring29Código INE de provincia. Obligatorio si falta cnae.
active_onlystringfalseExcluye las sociedades extinguidas (def. true).
min_capitalstring60000Capital social mínimo, en euros.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "page": 1,
3 "per_page": 5,
4 "count": 5,
5 "has_more": true,
6 "filters": {
7 "province": "29",
8 "activity": "6920",
9 "active_only": true
10 },
11 "results": [
12 {
13 "tax_id": "B82190851",
14 "registry_id": "MA112044",
15 "name": "PRICEWATERHOUSECOOPERS SERVICE DELIVERY CENTER (MALAGA) SL",
16 "legal_form": "Sociedad Limitada (SL)",
17 "activity_code": "6920",
18 "activity_label": "Actividades de contabilidad, teneduría de libros, auditoría y asesoría fiscal",

Códigos de actividad (CNAE)

La nomenclatura completa, con el NÚMERO de sociedades por código, para valorar de inmediato si un objetivo es realista. Busca por descripción («agricultura», «software») para dar con el código sin conocerlo.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/cnae?query=informatica Copiar URL

Parámetros

ParámetroTipoEjemploDescripción
querystringinformaticaFiltra por código o descripción.
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "count": 8,
3 "query": "informatica",
4 "results": [
5 {
6 "code": "6209",
7 "label": "Otros servicios relacionados con las tecnologías de la información y la informática",
8 "companies": 13654
9 },
10 {
11 "code": "6201",
12 "label": "Actividades de programación informática",
13 "companies": 11557
14 },
15 {
16 "code": "6202",
17 "label": "Actividades de consultoría informática",
18 "companies": 8574

Provincias

Los códigos INE de provincia con su nombre y el número de sociedades. Es la clave del parámetro provincia de los demás endpoints.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/provinces Copiar URL
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "count": 52,
3 "results": [
4 {
5 "code": "01",
6 "name": "Álava",
7 "companies": 16520
8 },
9 {
10 "code": "02",
11 "name": "Albacete",
12 "companies": 25313
13 },
14 {
15 "code": "03",
16 "name": "Alicante",
17 "companies": 167939
18 },

Justicia (concursal)

Edicto íntegro

Texto completo de un edicto concursal. El identificador NO se inventa: lo devuelve «Buscar concursos» (campo boe_id) · RPC-N viene del Registro Público Concursal, BOE-B-AAAA-N de los edictos del BOE.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/insolvency/RPC-455662 Copiar URL

Parámetros

(*) Obligatorio

ParámetroTipoEjemploDescripción
boe_id*stringRPC-455662boe_id devuelto por «Buscar concursos» (p. ej. RPC-455662).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "id": "RPC-455662",
3 "publication_date": "2025-01-24",
4 "name": "CONSTRUCCIONES MURIAS SA",
5 "tax_id": "A20038279",
6 "type": "otro",
7 "court": "Mercantil de San Sebastián - 1",
8 "raw_text": "Informe de la Administración concursal",
9 "type_label": "Otro acto concursal"
10}

Screener

Filtrar eventos BORME

Filtra los anuncios del BORME por tipo de acto, provincia y fechas.

¡Haz clic para probar el endpoint!Endpointhttps://api.filings.es/api/public/v1/es/screener?provincia=28&acto=Constituci%C3%B3n&limit=5 Copiar URL

Parámetros

ParámetroTipoEjemploDescripción
actostringConstituciónTipo de acto.
provinciastring28Código INE (p. ej. 28).
sincestring2026-01-01Desde (YYYY-MM-DD).
limitinteger5Resultados (def. 50, máx. 100).
Respuesta200Abrir JSON ↗ Copiar respuesta
1{
2 "filters": {
3 "acto": "Constitución",
4 "province": "28",
5 "since": "",
6 "until": "",
7 "limit": 5
8 },
9 "results": [
10 {
11 "id": "11661814",
12 "publication_date": "2026-10-09",
13 "name": "QUORUMTAX SL",
14 "registry_id": "M898152",
15 "province_code": "28",
16 "act_types": [
17 "Constitución",
18 "Nombramientos"

Planes y precios

Pagas por llamadas/mes (1 llamada = 1 unidad). Todos los planes incluyen todos los endpoints, sin límite de peticiones por minuto.

Hasta −25 % al año

¿Más volumen? A partir de 100 000 llamadas/mes, volcados completos o SLA a medida: te preparamos un plan.

Contactar

Códigos de respuesta

200OKPetición correcta.
401UnauthorizedFalta la clave (cabecera X-Api-Key o ?apikey=), o es inválida.
402Payment RequiredLímite mensual de llamadas agotado (100 en el plan gratuito). Suscríbete o sube de plan.
404Not FoundRecurso no encontrado.

¿Listo para empezar?

Crear una cuenta gratis