# Precio Vivienda España | House Prices Scraper (`crabwalker/spain-house-prices-scraper`) Actor

Precios reales de venta y €/m² de compraventas formalizadas ante notario, no precios de anuncio de Idealista. Real sold-price data, not asking prices.

- **URL**: https://apify.com/crabwalker/spain-house-prices-scraper.md
- **Developed by:** [Crab Walker](https://apify.com/crabwalker) (community)
- **Categories:** Real estate, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 código postal / postcode results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Precio Vivienda España | Spain House Prices Scraper

### Español

Consulta el **precio de la vivienda en España** por código postal utilizando valores reales de venta agregados a partir de compraventas formalizadas ante notario. Este Actor utiliza directamente la API pública del mapa del Portal Estadístico del Notariado: no abre un navegador ni extrae precios de anuncios de Idealista.

#### Por qué importa: precio vendido frente a precio anunciado

Idealista muestra principalmente el precio que pide el vendedor. Ese precio de oferta puede negociarse, reducirse o no terminar nunca en una venta. Los datos notariales proceden de compraventas que sí se formalizaron y reflejan el precio declarado al cerrar la operación.

Por eso estos datos son una referencia más sólida para valorar una vivienda, comparar códigos postales o analizar el mercado real. Los resultados son estadísticas agregadas —no escrituras ni operaciones individuales— y no sustituyen una tasación profesional.

#### Datos disponibles

Cada código postal puede incluir:

- precio por metro cuadrado en euros
- precio medio de compraventa
- superficie media
- número de compraventas y operaciones con precio informado
- indicación de valor estimado
- geometría opcional de los límites del código postal

Los resultados son agregados de compraventas reales, no precios de oferta. El servicio de origen aplica umbrales mínimos de muestra, por lo que algunos códigos postales o combinaciones de filtros pueden devolver campos de precio con valor `null` o no devolver ninguna fila. Un valor `null` no significa que no hubiese compraventas: consulta `salesCount` y `pricedSalesCount` para interpretar la muestra.

#### Estrategia de proxy

El Actor prueba primero el proxy principal configurado. De forma predeterminada utiliza el grupo más económico de proxies de centro de datos de Apify. Si recibe un bloqueo, límite de peticiones, error temporal o una página HTML de mantenimiento, reintenta automáticamente mediante un proxy residencial situado en España.

Cada registro indica qué tipo de proxy produjo el resultado.

#### Ejemplo de entrada

```json
{
  "postalCodes": ["29700", "28001", "08001"],
  "propertyType": "all",
  "constructionType": "all",
  "includeGeometry": false,
  "primaryProxyConfiguration": { "useApifyProxy": true },
  "residentialFallback": true
}
````

Activa `allPostalCodes` para descargar todos los códigos postales disponibles con una combinación de tipo de vivienda y construcción.

#### Filtros

Los dos filtros son independientes y se pueden combinar. Por ejemplo, `propertyType: apartment` junto con `constructionType: resale` devuelve únicamente pisos libres de segunda mano. Cada combinación devuelve como máximo una fila agregada por código postal.

| Valor de entrada | Significado | ID oficial |
| --- | --- | ---: |
| `propertyType: all` | Todas las viviendas | 99 |
| `propertyType: apartment` | Vivienda-piso libre | 14 |
| `propertyType: single_family` | Vivienda unifamiliar libre | 15 |
| `constructionType: all` | Obra nueva y segunda mano | 99 |
| `constructionType: new_build` | Obra nueva | 7 |
| `constructionType: resale` | Segunda mano | 9 |

`all` no elimina el filtro ni suma resultados dentro del Actor. El ID oficial `99` selecciona la estadística agregada que el propio Portal del Notariado publica para todas las categorías. Esto evita recalcular precios medios o €/m² de forma incorrecta.

Ejemplos:

- `apartment` + `resale`: pisos libres de segunda mano
- `single_family` + `new_build`: viviendas unifamiliares libres de obra nueva
- `all` + `all`: agregado oficial de todas las viviendas y ambos tipos de construcción

#### Fuente y condiciones de publicación

Fuente: mapa público del Portal Estadístico del Notariado y su servicio público ArcGIS Feature Service. El Actor localiza dinámicamente el mapa web de producción actual para no depender de una versión concreta del servicio.

***

### English

Get **Spain house prices** by postcode using real sold values aggregated from transactions completed before a Spanish notary. This Actor queries the public Portal Estadístico del Notariado map API directly. It does not launch a browser or scrape Idealista listing prices.

#### Why it matters: sold price vs asking price

Idealista primarily shows the price requested by the seller. That asking price may be negotiated down, reduced later, or never result in a sale. Notarial data comes from transactions that were actually completed and reflects the price declared when the sale closed.

This makes the data a stronger reference for property valuation, postcode comparisons, and analysis of the real market. Results are aggregated statistics—not deeds or individual transactions—and do not replace a professional valuation.

#### Available data

Each postcode can include:

- price per square metre in euros
- average completed-sale price
- average floor area
- completed-sale count and priced-sale count
- estimated-value indicator
- optional postcode boundary geometry

Results are aggregates from completed notarised sales, not asking prices. The source applies minimum-sample rules, so some postcodes or filter combinations may return `null` price fields or no row. A `null` value does not necessarily mean there were no sales: use `salesCount` and `pricedSalesCount` to interpret the sample.

#### Proxy strategy

The Actor first uses the configured primary proxy. By default, this is the cheaper Apify datacenter pool. Responses that look blocked, rate-limited, unavailable, or replaced with maintenance HTML automatically fall back to an Apify Residential proxy in Spain.

Each dataset record identifies the proxy tier that supplied it.

#### Example input

```json
{
  "postalCodes": ["29700", "28001", "08001"],
  "propertyType": "all",
  "constructionType": "all",
  "includeGeometry": false,
  "primaryProxyConfiguration": { "useApifyProxy": true },
  "residentialFallback": true
}
```

Set `allPostalCodes` to `true` to export every available Spanish postcode for one property/construction filter combination.

#### Filters

The two filters are independent and can be combined. For example, `propertyType: apartment` with `constructionType: resale` returns only free-market resale apartments. Each combination returns at most one aggregate row per postcode.

| Input | Meaning | Official ID |
| --- | --- | ---: |
| `propertyType: all` | All homes | 99 |
| `propertyType: apartment` | Free-market apartments | 14 |
| `propertyType: single_family` | Free-market single-family homes | 15 |
| `constructionType: all` | New and resale | 99 |
| `constructionType: new_build` | New build | 7 |
| `constructionType: resale` | Resale | 9 |

`all` does not omit the filter or sum records inside the Actor. Official ID `99` selects the all-category aggregate published by the Notariat portal itself. This avoids incorrectly recomputing average prices or price per square metre.

Examples:

- `apartment` + `resale`: free-market resale apartments
- `single_family` + `new_build`: free-market new-build single-family homes
- `all` + `all`: the official aggregate for all homes and both construction types

#### Data source and publication notice

Source: the public Portal Estadístico del Notariado map and its public ArcGIS Feature Service. The Actor dynamically resolves the current production web map instead of hard-coding a particular service version.

# Actor input Schema

## `postalCodes` (type: `array`):

Códigos postales españoles de cinco cifras; se eliminan los duplicados. Five-digit Spanish postal codes; duplicates are removed.

## `allPostalCodes` (type: `boolean`):

Exporta todos los códigos postales para los filtros elegidos. Export every postcode for the selected filters.

## `propertyType` (type: `string`):

Elige todas las viviendas, pisos o viviendas unifamiliares. Choose all homes, apartments, or single-family houses.

## `constructionType` (type: `string`):

Elige todas las compraventas, obra nueva o segunda mano. Choose all transactions, new builds, or resale homes.

## `includeGeometry` (type: `boolean`):

Incluye la geometría poligonal de ArcGIS; aumenta bastante el tamaño. Include ArcGIS polygon geometry; this increases dataset size.

## `primaryProxyConfiguration` (type: `object`):

Primer intento más económico con proxies de centro de datos de Apify. Cheaper first attempt using Apify datacenter proxies.

## `residentialFallback` (type: `boolean`):

Reintenta automáticamente bloqueos y errores mediante un proxy residencial español. Automatically retries blocks and errors through an ES residential proxy.

## `batchSize` (type: `integer`):

Mantén el valor predeterminado salvo que el servicio rechace consultas largas. Keep the default unless long queries are rejected.

## `requestDelaySecs` (type: `number`):

Pausa prudente entre peticiones a la API. Polite delay between API requests.

## `maxRequestRetries` (type: `integer`):

Reintentos por tipo de proxy ante errores temporales. Retries per proxy tier for transient errors.

## Actor input object example

```json
{
  "postalCodes": [
    "29700",
    "28001",
    "08001"
  ],
  "allPostalCodes": false,
  "propertyType": "all",
  "constructionType": "all",
  "includeGeometry": false,
  "primaryProxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": true,
  "batchSize": 100,
  "requestDelaySecs": 0.5,
  "maxRequestRetries": 2
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "postalCodes": [
        "29700",
        "28001",
        "08001"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("crabwalker/spain-house-prices-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 = { "postalCodes": [
        "29700",
        "28001",
        "08001",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("crabwalker/spain-house-prices-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 '{
  "postalCodes": [
    "29700",
    "28001",
    "08001"
  ]
}' |
apify call crabwalker/spain-house-prices-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Precio Vivienda España | House Prices Scraper",
        "description": "Precios reales de venta y €/m² de compraventas formalizadas ante notario, no precios de anuncio de Idealista. Real sold-price data, not asking prices.",
        "version": "1.0",
        "x-build-id": "sWtJ5pFraE3rr67OD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crabwalker~spain-house-prices-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crabwalker-spain-house-prices-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/crabwalker~spain-house-prices-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crabwalker-spain-house-prices-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/crabwalker~spain-house-prices-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crabwalker-spain-house-prices-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": {
                    "postalCodes": {
                        "title": "Códigos postales / Postal codes",
                        "maxItems": 5000,
                        "type": "array",
                        "description": "Códigos postales españoles de cinco cifras; se eliminan los duplicados. Five-digit Spanish postal codes; duplicates are removed.",
                        "items": {
                            "type": "string",
                            "pattern": "^[0-9]{5}$"
                        },
                        "default": [
                            "29700"
                        ]
                    },
                    "allPostalCodes": {
                        "title": "Todos los códigos postales / All postal codes",
                        "type": "boolean",
                        "description": "Exporta todos los códigos postales para los filtros elegidos. Export every postcode for the selected filters.",
                        "default": false
                    },
                    "propertyType": {
                        "title": "Tipo de vivienda / Property type",
                        "enum": [
                            "all",
                            "apartment",
                            "single_family"
                        ],
                        "type": "string",
                        "description": "Elige todas las viviendas, pisos o viviendas unifamiliares. Choose all homes, apartments, or single-family houses.",
                        "default": "all"
                    },
                    "constructionType": {
                        "title": "Tipo de construcción / Construction type",
                        "enum": [
                            "all",
                            "new_build",
                            "resale"
                        ],
                        "type": "string",
                        "description": "Elige todas las compraventas, obra nueva o segunda mano. Choose all transactions, new builds, or resale homes.",
                        "default": "all"
                    },
                    "includeGeometry": {
                        "title": "Incluir límites postales / Include boundaries",
                        "type": "boolean",
                        "description": "Incluye la geometría poligonal de ArcGIS; aumenta bastante el tamaño. Include ArcGIS polygon geometry; this increases dataset size.",
                        "default": false
                    },
                    "primaryProxyConfiguration": {
                        "title": "Proxy principal / Primary proxy",
                        "type": "object",
                        "description": "Primer intento más económico con proxies de centro de datos de Apify. Cheaper first attempt using Apify datacenter proxies.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "residentialFallback": {
                        "title": "Respaldo residencial ES / Spanish residential fallback",
                        "type": "boolean",
                        "description": "Reintenta automáticamente bloqueos y errores mediante un proxy residencial español. Automatically retries blocks and errors through an ES residential proxy.",
                        "default": true
                    },
                    "batchSize": {
                        "title": "Códigos por petición / Codes per request",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Mantén el valor predeterminado salvo que el servicio rechace consultas largas. Keep the default unless long queries are rejected.",
                        "default": 100
                    },
                    "requestDelaySecs": {
                        "title": "Espera entre peticiones / Request delay",
                        "minimum": 0,
                        "maximum": 30,
                        "type": "number",
                        "description": "Pausa prudente entre peticiones a la API. Polite delay between API requests.",
                        "default": 0.5
                    },
                    "maxRequestRetries": {
                        "title": "Reintentos máximos / Maximum retries",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Reintentos por tipo de proxy ante errores temporales. Retries per proxy tier for transient errors.",
                        "default": 2
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
