# Spain Property Auction MCP (Subastas BOE & Catastro) (`olican/spain-subastas-boe-catastro`) Actor

Extract Spanish property auctions from BOE (subastas.boe.es) and enrich with official Catastro data (surface, year, GPS coordinates). Returns a unified 360° investment profile with AI-ready investment score. MCP-native tool for property investors and real estate AI agents in Spain.

- **URL**: https://apify.com/olican/spain-subastas-boe-catastro.md
- **Developed by:** [Sergio Calvo](https://apify.com/olican) (community)
- **Categories:** Real estate, AI, Automation
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 subasta consolidada y enriquecida (boe + catastro)s

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 Property Auction Intelligence MCP (Subastas BOE & Catastro) - Proptech & Judicial Foreclosures API

**The only MCP-native Apify Actor that crosses Spanish judicial property auctions (subastas BOE) with official Catastro data in a single API call. Get a 360° investment profile with automatic investment score — optimized for property investors, proptech platforms, and AI agents.**

This scraper acts as a powerful proptech bridge, extracting real-time foreclosure and judicial auction data from the official Spanish government portal `subastas.boe.es` and automatically enriching each asset with physical attributes (surface area, construction year, land size, and GPS coordinates) from the Spanish Cadastre (`Sede Electrónica del Catastro`). 

To provide the best user experience on Apify Console, it returns clean, fully-flattened fields mapped as columns for the **Table View** (with user-friendly values instead of raw `null`s), while grouping the structured 360° technical blocks inside the `_json_mcp_desarrolladores` column for AI agents and database integrations.

---

### 🎯 Target Audience & 💡 Primary Use Cases

#### Casos de Uso / Valor Comercial (Commercial Value)
- **Automated Deal Sourcing:** Automatically monitor and identify high-yield property investment opportunities (oportunidades de inversión inmobiliaria) across Spanish provinces.
- **AI-Driven Property Valuation:** Fuel property analysis models, legal assistants, and proptech applications with clean, structured real-time datasets.
- **B2G & Judicial Lead Generation:** Scan active legal records and judicial files (cuenta de expediente) to track public tenders and court-ordered sales.

#### Público Objetivo (Target Audience)
- **Analistas y Tasadores:** Compare appraisal values (valor de tasación) and minimum bids (puja mínima) with official property surface data to calculate discounts and detect market inefficiencies.
- **Equipos de Negocio y Subasteros:** Scale and automate your auction monitoring pipeline without browsing the slow government portals page by page.
- **Desarrolladores e Integradores:** Access a developer-friendly API that outputs structured data in CSV, Excel, and JSON formats, with native Model Context Protocol (MCP) compatibility.

---

### 🚀 Características Clave (Key Technical Capabilities)

- **Bilingual & SEO-Optimized Discovery:** Captures search queries from both English-speaking investors and Spanish professionals searching for `subastas BOE`, `catastro subastas España`, and `API inversión inmobiliaria`.
- **Dropdown Province Selection:** Avoid typing error-prone codes. The Actor input schema includes a complete select dropdown featuring all Spanish provinces.
- **Direct & Secure HTTPS Crawling:** Queries public Catastro REST API over HTTPS, implementing batch request limiting (max 5 concurrently) and 200ms batch pacing to avoid IP bans.
- **Automatic Fallback Design:** In 20% to 30% of auctions, the cadastral reference (referencia catastral) is missing. The Actor uses regex heuristics on text descriptions, and falls back to a clean partial JSON if the data is not available, avoiding crawler crashes.
- **Legal Cargas Detection:** Scans description columns, registration details, and notes for keywords such as `hipoteca`, `embargo`, `carga`, `deuda`, and `gravamen` to flag pre-existing liens on the property.

---

### ⚙️ Input Parameters

The Actor accepts the following input parameters in its configuration form (INPUT_SCHEMA):

| Field / Campo | Type | Default | Description |
|---|---|---|---|
| `tipoBien` | String | `"inmueble"` | Type of asset to search in BOE auctions. Values: `inmueble`, `vehiculo`, `bien_mueble`, `todos`. |
| `provincia` | String | `""` | Dropdown select list of Spanish provinces (e.g. `Madrid (28)`, `Barcelona (08)`). Leave empty (Todas) to search all Spain. |
| `precioMaximo` | Integer | `null` | Maximum minimum bid in EUR (puja mínima máxima) to filter out expensive lots. |
| `scoreMinimo` | String | `"todos"` | Minimum investment score to return. Values: `MUY_ALTO`, `ALTO`, `MEDIO`, `BAJO`, `todos`. |
| `maxResultados` | Integer | `20` | Maximum number of auctions to return (1-50 limit). |

---

### 📊 Output Schema

To optimize readability, the dataset contains flattened columns for the **Apify Table View** (substituting ugly `null`s for user-friendly labels), while maintaining the full nested structures under the `_json_mcp_desarrolladores` object.

#### Flat Table View Columns (Root JSON level)
*   `subasta_id` (String): The unique BOE auction ID.
*   `score_inversion` (String): Automatic rating (`MUY_ALTO`, `ALTO`, `MEDIO`, `BAJO`).
*   `score_descripcion` (String): Explanatory reason behind the score.
*   `puja_minima_eur` (Number | String): Minimum bid value (or `-` if none).
*   `valor_tasacion_eur` (Number | String): Court appraisal reference (or `-` if none).
*   `cargas_detectadas` (String): `"Sí"` if mortgages or liens are found, `"No"` otherwise.
*   `descripcion_cargas` (String): Summary of detected liens (or `"Ninguna"`).
*   `fecha_cierre` (String): Conclusion ISO 8601 date.
*   `estado_subasta` (String): Status (e.g., `ACTIVA`).
*   `url_boe` (String): Direct link to the BOE file.
*   `expediente_juzgado` (String): Court authority.
*   `expediente_numero` (String): Case number (cuenta de expediente).
*   `expediente_tipo` (String): Type of procedure.
*   `direccion_boe` (String): Property address as listed in BOE.
*   `provincia_boe` (String): Province name.
*   `municipio_boe` (String): Municipality name.
*   `descripcion_boe` (String): Detailed text of the judicial edict.
*   `referencia_catastral` (String): 20-char cadastral reference (or `"No consta"`).
*   `catastro_disponible` (String): `"Sí"` if Catastro OVC returned data, `"No"` otherwise.
*   `uso_catastro` (String): Property use (Residencial, Comercial, etc., or `"No consta"`).
*   `superficie_construida_m2` (Number | String): Built size in square meters (or `"No consta"`).
*   `superficie_suelo_m2` (Number | String): Land size in square meters (or `"No consta"`).
*   `antiguedad_ano` (Number | String): Construction year (or `"No consta"`).
*   `direccion_catastro` (String): Official normalized cadastre address (or `"No consta"`).
*   `coordenadas_gps` (String): Latitude and longitude (e.g., `40.416, -3.703`, or `"No consta"`).
*   `fecha_extraccion` (String): Extraction date.
*   `fuentes` (String): Data sources (e.g., `BOE subastas.boe.es, Catastro OVC`).

---

### 🧠 Investment Score Methodology

To assist real estate AI agents and property investors, the Actor computes a proprietary rating:

$$\text{ratio\_precio\_tasacion} = \frac{\text{puja\_minima\_eur}}{\text{valor\_tasacion\_eur}}$$

- **`MUY_ALTO` (Very High):** Ratio is below 40% (puja < 40% tasación) and no pre-existing charges are detected.
- **`ALTO` (High):** Ratio is below 60% and no pre-existing charges are detected.
- **`MEDIO` (Medium):** Ratio is below 60% but property liens or mortgages are detected.
- **`BAJO` (Low):** Bid is equal to or greater than 60% of the appraisal value.
- **`SIN_DATOS` (No Data):** Appraisal is not published by the court (tasación no publicada).

---

### 🤖 MCP Integration (Model Context Protocol)

This Actor is MCP-native, meaning it integrates directly into AI clients (Cursor, Claude Desktop, VS Code) via `mcp.apify.com`. AI agents can query the dataset and read the raw 360° structure nested in the `_json_mcp_desarrolladores` object:

> **Example Query to AI Agent:**
> *"Find active residential property auctions in Madrid with a puja mínima under 120,000€ and a score of ALTO or higher."*

---

### 📋 Example Output (JSON)
```json
{
  "subasta_id": "SUB-JA-2026-258124",
  "score_inversion": "MUY_ALTO",
  "score_descripcion": "Puja < 40% tasación sin cargas detectadas",
  "puja_minima_eur": 0,
  "valor_tasacion_eur": 169838.37,
  "cargas_detectadas": "No",
  "descripcion_cargas": "Ninguna",
  "fecha_cierre": "2026-06-15T18:00:00+02:00",
  "estado_subasta": "ACTIVA",
  "url_boe": "https://subastas.boe.es/detalleSubasta.php?idSub=SUB-JA-2026-258124",
  "expediente_juzgado": "Sección Civil TI Madrid. Plz.n 100",
  "expediente_numero": "5066 0000 06 0046 25",
  "expediente_tipo": "JUDICIAL EN VÍA DE APREMIO",
  "direccion_boe": "CALLE MARTIN MUÑOZ DE LAS POSADAS Nº 8, 8B, 8C Y 6 PLANTA 1 ESCALERA 3 PUERTA 1",
  "provincia_boe": "Madrid",
  "municipio_boe": "MADRID",
  "descripcion_boe": "FINCA 73.435 DEL RP Nº 19 DE MADRID",
  "referencia_catastral": "6998203VK4669H0011DJ",
  "catastro_disponible": "Sí",
  "uso_catastro": "Residencial",
  "superficie_construida_m2": 67,
  "superficie_suelo_m2": 1391,
  "antiguedad_ano": 2012,
  "direccion_catastro": "CL MARTIN MUÑOZ DE POSADAS 8(C) Pl:01 Pt:I 28031 MADRID",
  "coordenadas_gps": "40.3760153304443, -3.62655521993873",
  "fecha_extraccion": "2026-06-11T08:05:42.864Z",
  "fuentes": "BOE subastas.boe.es, Catastro OVC",
  "_json_mcp_desarrolladores": {
    "datos_subasta": {
      "puja_minima_eur": 0,
      "valor_tasacion_eur": 169838.37,
      "cargas_detectadas": false,
      "descripcion_cargas": null,
      "fecha_cierre": "2026-06-15T18:00:00+02:00",
      "estado": "ACTIVA",
      "url_boe": "https://subastas.boe.es/detalleSubasta.php?idSub=SUB-JA-2026-258124"
    },
    "expediente_legal": {
      "juzgado": "Sección Civil TI Madrid. Plz.n 100",
      "numero_expediente": "5066 0000 06 0046 25",
      "tipo_procedimiento": "JUDICIAL EN VÍA DE APREMIO"
    },
    "inmueble_boe": {
      "direccion_boe": "CALLE MARTIN MUÑOZ DE LAS POSADAS...",
      "provincia": "Madrid",
      "municipio": "MADRID",
      "descripcion": "FINCA 73.435 DEL RP...",
      "referencia_catastral": "6998203VK4669H0011DJ"
    },
    "inmueble_catastro": {
      "catastro_disponible": true,
      "uso": "Residencial",
      "superficie_construida_m2": 67,
      "superficie_suelo_m2": 1391,
      "año_construccion": 2012,
      "valor_catastral_eur": null,
      "coordenadas": {
        "lat": 40.3760153304443,
        "lng": -3.62655521993873
      },
      "direccion_oficial_catastro": "CL MARTIN MUÑOZ DE POSADAS 8(C)..."
    },
    "metadatos": {
      "fecha_extraccion": "2026-06-11T08:05:42.864Z",
      "fuentes": ["BOE subastas.boe.es", "Catastro OVC"],
      "advertencias": []
    }
  }
}
````

***

### 💳 Pricing & Monetization

This Actor is configured for **Pay-Per-Event (PPE)** monetization on the Apify Store, which means you only pay for successful results instead of paying for execution time or server runtime.

#### Apify Console Monetization Settings:

When publishing or setting up monetization for this Actor, use the following configurations:

- **Event Name:** `auction-consolidated` *(matches the internal code identifier)*
- **Title:** `Subasta consolidada y enriquecida (BOE + Catastro)`
- **Description:** `Cobro por cada subasta de inmueble del BOE extraída y enriquecida con datos físicos y coordenadas GPS oficiales del Catastro.`
- **Price Options:**
  - **$0.05 USD** per event *(Standard rate - Recommended)*
  - **$0.02 USD** per event *(Competitive volume pricing)*
  - **$0.01 USD** per event *(Minimum pricing tier)*

> \[!NOTE]
> **Proxy & Platform Costs:** Spanish residential proxies (`groups: ['RESIDENTIAL'], countryCode: 'ES'`) are automatically routed for BOE requests. Outgoing platform costs (compute units, residential proxy bandwidth) are fully absorbed by the developer and covered by this PPE pricing, guaranteeing stable proptech margins with no hidden fees for the user.

***

### 🙋 Frequently Asked Questions

##### Why does the official cadastral value show as a null or "-" value?

For an *inmueble* (real estate property) in Spain, *el valor catastral* (the cadastral value) is protected under *la Ley de Protección de Datos* (data privacy regulations). It is only accessible to the verified owner using a *certificado digital* (digital certificate) or *Cl@ve*. The public API services of the *Catastro OVC* (Oficina Virtual del Catastro) only return non-protected physical data (such as *superficie construida*, construction year, and property use) which are highly useful for *valoraciones inmobiliarias* (property valuations) but never include the financial *valor catastral*.

##### Why are some columns displaying "5 fields" or similar text?

Apify Console’s Table View lists all root properties. To keep the spreadsheet clean and avoid displaying unreadable columns with '5 fields' for complex objects, the Actor packages the original, deeply-nested JSON blocks inside the `_json_mcp_desarrolladores` column. This is a technical column designed for *agentes de Inteligencia Artificial* (AI agents), developers, and Model Context Protocol integrations. If you are a human *inversor* (investor) inspecting the Table View or exporting to Excel/CSV, you can completely ignore this column, since all key metrics are already flattened at the root level.

##### How does the Actor find the referencia catastral if it is missing?

In Spanish foreclosures (*subastas judiciales*), the court records (*cuenta de expediente*) sometimes fail to publish the *referencia catastral* (cadastral reference) explicitly. The Actor scans the *descripción del bien* (property description) and legal notes using advanced regex heuristics to extract the 20-character code. If no *referencia catastral* is found or the cadastre service is down, the Actor returns `"No consta"` and falls back gracefully (*caída en cascada*), avoiding crawler crashes so you don't lose your scraping progress.

##### What does the valor de tasación represent?

The *valor de tasación* is the official appraisal value of the *inmueble* determined by the court before the auction (*subasta BOE*) begins. The Actor extracts this value from the general info tab. If the court doesn't explicitly publish the *tasación*, the Actor falls back to the *valor subasta* (auction value) or the *cantidad reclamada* (claimed debt) to calculate the investment score.

##### How can I filter the results by province using the dropdown?

You can easily select your target *provincia* (such as *Madrid (28)*, *Barcelona (08)*, or *Sevilla (41)*) from the interactive dropdown list in the Actor's input interface. If you want to run a search across the entire country (*toda España*), select the 'Todas / All Spain' option.

##### How does the Pay-Per-Event (PPE) charging model work?

This Actor charges on a *pago por evento* (PPE) basis. You only pay for each *subasta consolidada e inmueble enriquecido* (consolidated auction and enriched property) successfully saved to the dataset. If a search yields zero results, you are not charged, ensuring *eficiencia de costes* (cost efficiency) for your investment pipeline.

##### Can I run this Actor as a Model Context Protocol (MCP) tool?

Yes! This Actor is *totalmente compatible con MCP* (fully compatible with MCP). You can connect it to your local LLM client (like Cursor or Claude Desktop) via `mcp.apify.com`. This allows your AI agents to perform complex queries such as: *'Búscame subastas inmobiliarias en Valencia con un score de inversión ALTO y una puja mínima de menos de 100.000€'*.

# Actor input Schema

## `tipoBien` (type: `string`):

Type of asset to search in BOE auctions. Use 'inmueble' for real estate property auctions in Spain (recommended). | Tipo de activo a buscar. 'inmueble' es el recomendado para inversión inmobiliaria.

## `provincia` (type: `string`):

Select the Spanish province to search. Select 'Todas' to search the entire country. | Selecciona la provincia española a buscar o 'Todas' para buscar en toda España.

## `precioMaximo` (type: `integer`):

Maximum minimum bid in EUR to filter results. Useful to focus on affordable investment opportunities. | Puja mínima máxima en euros para filtrar oportunidades de inversión.

## `scoreMinimo` (type: `string`):

Minimum investment score to return. Use 'ALTO' or 'MUY\_ALTO' to filter only the best opportunities. | Puntuación mínima de inversión para filtrar los resultados.

## `maxResultados` (type: `integer`):

Maximum number of auctions to return (1–50). | Número máximo de subastas a devolver (1-50).

## Actor input object example

```json
{
  "tipoBien": "inmueble",
  "provincia": "",
  "precioMaximo": 100000,
  "scoreMinimo": "todos",
  "maxResultados": 20
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("olican/spain-subastas-boe-catastro").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("olican/spain-subastas-boe-catastro").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 '{}' |
apify call olican/spain-subastas-boe-catastro --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Spain Property Auction MCP (Subastas BOE & Catastro)",
        "description": "Extract Spanish property auctions from BOE (subastas.boe.es) and enrich with official Catastro data (surface, year, GPS coordinates). Returns a unified 360° investment profile with AI-ready investment score. MCP-native tool for property investors and real estate AI agents in Spain.",
        "version": "1.0",
        "x-build-id": "17gBkWMX1P8rYnOgf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/olican~spain-subastas-boe-catastro/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-olican-spain-subastas-boe-catastro",
                "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/olican~spain-subastas-boe-catastro/runs": {
            "post": {
                "operationId": "runs-sync-olican-spain-subastas-boe-catastro",
                "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/olican~spain-subastas-boe-catastro/run-sync": {
            "post": {
                "operationId": "run-sync-olican-spain-subastas-boe-catastro",
                "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": {
                    "tipoBien": {
                        "title": "Asset Type / Tipo de Bien",
                        "enum": [
                            "inmueble",
                            "vehiculo",
                            "bien_mueble",
                            "todos"
                        ],
                        "type": "string",
                        "description": "Type of asset to search in BOE auctions. Use 'inmueble' for real estate property auctions in Spain (recommended). | Tipo de activo a buscar. 'inmueble' es el recomendado para inversión inmobiliaria.",
                        "default": "inmueble"
                    },
                    "provincia": {
                        "title": "Province / Provincia",
                        "enum": [
                            "",
                            "01",
                            "02",
                            "03",
                            "04",
                            "05",
                            "06",
                            "07",
                            "08",
                            "09",
                            "10",
                            "11",
                            "12",
                            "13",
                            "14",
                            "15",
                            "16",
                            "17",
                            "18",
                            "19",
                            "20",
                            "21",
                            "22",
                            "23",
                            "24",
                            "25",
                            "26",
                            "27",
                            "28",
                            "29",
                            "30",
                            "31",
                            "32",
                            "33",
                            "34",
                            "35",
                            "36",
                            "37",
                            "38",
                            "39",
                            "40",
                            "41",
                            "42",
                            "43",
                            "44",
                            "45",
                            "46",
                            "47",
                            "48",
                            "49",
                            "50",
                            "51",
                            "52"
                        ],
                        "type": "string",
                        "description": "Select the Spanish province to search. Select 'Todas' to search the entire country. | Selecciona la provincia española a buscar o 'Todas' para buscar en toda España.",
                        "default": ""
                    },
                    "precioMaximo": {
                        "title": "Maximum Minimum Bid / Puja Mínima Máxima",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum minimum bid in EUR to filter results. Useful to focus on affordable investment opportunities. | Puja mínima máxima en euros para filtrar oportunidades de inversión."
                    },
                    "scoreMinimo": {
                        "title": "Minimum Investment Score / Score Mínimo de Inversión",
                        "enum": [
                            "MUY_ALTO",
                            "ALTO",
                            "MEDIO",
                            "BAJO",
                            "todos"
                        ],
                        "type": "string",
                        "description": "Minimum investment score to return. Use 'ALTO' or 'MUY_ALTO' to filter only the best opportunities. | Puntuación mínima de inversión para filtrar los resultados.",
                        "default": "todos"
                    },
                    "maxResultados": {
                        "title": "Maximum Results / Número Máximo de Resultados",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of auctions to return (1–50). | Número máximo de subastas a devolver (1-50).",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
