# Spain Registro Público Concursal Search (`regdata/spain-concursal-scraper`) Actor

Search Spain's official public insolvency register (Registro Público Concursal) by debtor name or NIF. Returns each matching party with its role - debtor, disqualified, or insolvency administrator. No API key.

- **URL**: https://apify.com/regdata/spain-concursal-scraper.md
- **Developed by:** [getregdata](https://apify.com/regdata) (community)
- **Categories:** Lead generation, Automation, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $35.00 / 1,000 concursal search sessions

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Spain Registro Público Concursal Search (Insolvency)

Search Spain's **official public insolvency register - the Registro Público Concursal** (`publicidadconcursal.es`) - by **debtor name or NIF** and get clean, structured JSON: each matching party with its **role in a concursal publication** - **debtor** (deudor), **disqualified** (inhabilitado), or **insolvency administrator** (administrador concursal). No API key.

A concursal publication is a core negative signal in Spanish B2B: it means a company or person is (or was) in an insolvency proceeding. Screening a counterparty against the Registro Público Concursal is essential for **credit risk, KYB / KYC, supplier and customer onboarding, and debtor monitoring**.

### Why this actor

The register's search is gated by a rotation **CAPTCHA** behind a Cloudflare-fronted portal, so there's no simple way to query it programmatically. This actor drives the official search, solves the challenge for you, and returns each matching party with its concursal role parsed out - so you can screen a name in one API call.

### No key, no setup

The challenge-solving and browser run on our infrastructure and are included in the price. **No API key, no CAPTCHA, no proxy to configure.** Just send a name or NIF.

### Pairs with our company & UBO actors (the source→screen flow)

This actor is the **debtor / insolvency check** half of a KYB workflow. Chain it with an **identity / UBO source**:

- **[Slovakia RPVS Beneficial Owners](https://apify.com/regdata/slovakia-rpvs-ubo-scraper)** / **[Poland CRBR Beneficial Owners](https://apify.com/regdata/crbr-beneficial-owners-scraper)** - source the owners and companies.
- **This actor** - screen those Spanish companies and people against the insolvency register.

The same pattern powers the suite: **[Poland KRZ](https://apify.com/regdata/krz-debtor-scraper)**, **[Germany Insolvency](https://apify.com/regdata/germany-insolvency-scraper)** and **[Czech ISIR](https://apify.com/regdata/czech-isir-insolvency-scraper)** are the sibling debtor screens. Source the party, then check the party.

### Quick Start

Look up a debtor by name:

```json
{
  "name": "Abengoa"
}
````

Look up by identifier (NIF/CIF):

```json
{
  "searchMode": "byNif",
  "nif": ["A91185595"]
}
```

**Monitor a watchlist** (each name is one search):

```json
{
  "watchlist": ["Abengoa", "Codere", "Duro Felguera"]
}
```

### Input

| Field | Type | Description |
|------|------|-------------|
| `searchMode` | string | `byName` (default) or `byNif`. |
| `name` | string | Debtor / party name (afectado). |
| `watchlist` | array | A list of names to check in one run. Overrides `name`. |
| `nif` | array | One or more identifiers (used in `byNif` mode). |
| `identifierType` | string | NIF / CIF / DNI / NIE. |
| `maxResults` | integer | Max party records to export across all queries. Default `100`. |
| `proxyConfiguration` | object | Optional Apify proxy (off by default). |

### Output

One dataset item per matching party:

```json
{
  "name": "ABENGOA BIOENERGÍA NUEVAS TECNOLOGÍAS. S.A.",
  "documentId": "A91185595",
  "documentType": "company (NIF/CIF)",
  "isDebtor": true,
  "isDisqualified": false,
  "isInsolvencyAdministrator": false,
  "matchedQuery": "Abengoa",
  "jurisdiction": "ES",
  "source": "Registro Público Concursal (publicidadconcursal.es)",
  "sourceUrl": "https://www.publicidadconcursal.es/consulta-publicidad-concursal-new",
  "retrievedAt": "2026-07-02T00:00:00.000Z"
}
```

The three role flags come from the register's own columns: `isDebtor` (Deudor), `isDisqualified` (Inhabilitado), `isInsolvencyAdministrator` (Administrador concursal).

### Common use cases

- **Credit risk & onboarding** - before extending terms, check whether a customer or supplier appears in the insolvency register as a debtor.
- **KYB / KYC** - screen a counterparty (or the owners/UBOs surfaced by our registry actors) against the Spanish concursal register.
- **Debtor & portfolio monitoring** - run a `watchlist` on a schedule for new insolvency appearances.
- **Disqualification / administrator checks** - see whether a person is disqualified or acting as an insolvency administrator.

### Data source & compliance

- **Source:** the official **Registro Público Concursal** (`publicidadconcursal.es`), the Spanish public insolvency-publicity register. Every record is stamped with its source URL and retrieval timestamp.
- **Public records.** The register is public and open; this actor reads the public search and logs in to nothing.
- **Query-driven** - it looks up the names / identifiers you ask for, not a bulk copy of the register.
- Use the data lawfully (KYB, credit risk, due diligence, B2B) and gently.

### Notes

- Each search solves one challenge; a `watchlist` of N names runs N searches.
- The register paginates results; the actor expands the table to export up to `maxResults` matches per query.
- The free Apify plan allows a small number of searches; upgrade to a paid plan for full, uncapped use.

# Actor input Schema

## `searchMode` (type: `string`):

Search by debtor/affected-party name, or by identifier (NIF/CIF/DNI/NIE).

## `name` (type: `string`):

Company name or person name to look up in the insolvency-publicity register (afectado). Leave empty when using a watchlist.

## `watchlist` (type: `array`):

A list of names to check in one run - the monitoring use case. Overrides "name". Each name costs one search.

## `nif` (type: `array`):

One or more Spanish identifiers to look up. Used when search mode is "By identifier".

## `identifierType` (type: `string`):

Type of identifier when searching by NIF.

## `maxResults` (type: `integer`):

Maximum party records to export across all queries.

## `proxyConfiguration` (type: `object`):

Optional. Runs without a proxy by default. Enable an Apify residential (ES) proxy if you hit blocks at volume.

## Actor input object example

```json
{
  "searchMode": "byName",
  "name": "Abengoa",
  "identifierType": "NIF",
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `parties` (type: `string`):

Matching party records in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "name": "Abengoa"
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/spain-concursal-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "name": "Abengoa" }

# Run the Actor and wait for it to finish
run = client.actor("regdata/spain-concursal-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "name": "Abengoa"
}' |
apify call regdata/spain-concursal-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=regdata/spain-concursal-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Spain Registro Público Concursal Search",
        "description": "Search Spain's official public insolvency register (Registro Público Concursal) by debtor name or NIF. Returns each matching party with its role - debtor, disqualified, or insolvency administrator. No API key.",
        "version": "1.0",
        "x-build-id": "BhQ6vQcjFfN10Hw80"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/regdata~spain-concursal-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-regdata-spain-concursal-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/regdata~spain-concursal-scraper/runs": {
            "post": {
                "operationId": "runs-sync-regdata-spain-concursal-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/regdata~spain-concursal-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-regdata-spain-concursal-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchMode": {
                        "title": "Search mode",
                        "enum": [
                            "byName",
                            "byNif"
                        ],
                        "type": "string",
                        "description": "Search by debtor/affected-party name, or by identifier (NIF/CIF/DNI/NIE).",
                        "default": "byName"
                    },
                    "name": {
                        "title": "Debtor / party name",
                        "type": "string",
                        "description": "Company name or person name to look up in the insolvency-publicity register (afectado). Leave empty when using a watchlist."
                    },
                    "watchlist": {
                        "title": "Watchlist (bulk / monitoring)",
                        "type": "array",
                        "description": "A list of names to check in one run - the monitoring use case. Overrides \"name\". Each name costs one search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "nif": {
                        "title": "Identifier(s) (NIF/CIF/DNI/NIE)",
                        "type": "array",
                        "description": "One or more Spanish identifiers to look up. Used when search mode is \"By identifier\".",
                        "items": {
                            "type": "string"
                        }
                    },
                    "identifierType": {
                        "title": "Identifier type",
                        "enum": [
                            "NIF",
                            "CIF",
                            "DNI",
                            "NIE"
                        ],
                        "type": "string",
                        "description": "Type of identifier when searching by NIF.",
                        "default": "NIF"
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum party records to export across all queries.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional. Runs without a proxy by default. Enable an Apify residential (ES) proxy if you hit blocks at volume.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
