# Immobiliare.it Scraper (`saregaa/immobiliareit-scraper`) Actor

An advanced, high-performance scraper for Immobiliare.it. Supports scraping listings, single ads, agency profiles, and all Italian agencies using a pre-compiled index.

- **URL**: https://apify.com/saregaa/immobiliareit-scraper.md
- **Developed by:** [Saregaa](https://apify.com/saregaa) (community)
- **Categories:** Real estate, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 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 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

## 🏠 Immobiliare.it Pro Scraper

Extract property listings, single ads, agency profiles, and **all agencies across Italy** from [Immobiliare.it](https://www.immobiliare.it) — Italy's largest real estate portal. Powered by direct API calls and browser fingerprint emulation via `curl_cffi`, this actor is fast, resilient, and virtually block-proof.

> **$0.70 per 1,000 results** — one of the most cost-effective Immobiliare.it scrapers on the market.

---

### ✨ What makes this scraper different

| Feature | This Actor | Competitor A | Competitor B |
|---|---|---|---|
| Property listings (search) | ✅ | ✅ | ✅ |
| Single ad detail | ✅ | ✅ | ✅ |
| Agency profiles | ✅ | ❌ | partial |
| Agency search by city | ✅ | ❌ | ❌ |
| **Scrape ALL Italian agencies** | ✅ | ❌ | ❌ |
| Multi-language URLs (EN, RU, DE) | ✅ | ❌ | ❌ |
| `/search-list/` API URLs | ✅ | ❌ | ❌ |
| Auto-pagination | ✅ | partial | ✅ |
| Listing limit control | ✅ | ❌ | ❌ |
| Browser fingerprint emulation | ✅ | ❌ | ❌ |
| State saving (migration safe) | ✅ | ❌ | ❌ |

---

### 🔗 Supported URL types

The scraper intelligently detects the URL type and routes it to the correct API endpoint automatically. No configuration needed — just paste your URLs.

#### Property search listings

Standard search URLs with optional filters (price, energy class, floor, etc.):

````

https://www.immobiliare.it/vendita-case/roma/
https://www.immobiliare.it/affitto-case/roma/roma-70/
https://www.immobiliare.it/aste-immobiliari/favara/?criterio=rilevanza
https://www.immobiliare.it/vendita-case/favara/con-piano-terra/?criterio=prezzo\&ordine=desc\&superficieMinima=20

```

#### Advanced `/search-list/` API URLs

Full API query string URLs with typology arrays, map center, and category parameters — the exact format returned by Immobiliare's internal search:

```

https://www.immobiliare.it/search-list/?criterio=prezzo\&ordine=desc\&idContratto=1\&idCategoria=1\&fkRegione=sic\&idProvincia=AG\&idComune=10843\&idTipologia\[]=4\&idTipologia\[]=12
https://www.immobiliare.it/search-list/?\_\_lang=it\&idContratto=1\&idCategoria=6\&mapCenter=43.139074%2C11.835022\&zoom=10

```

#### Single property ads

Direct links to individual property listings:

```

https://www.immobiliare.it/annunci/128803354/
https://www.immobiliare.it/annunci/128803354/?entryPoint=map

```

#### Agency search by city

Lists all agencies operating in a given city, with full pagination:

```

https://www.immobiliare.it/agenzie-immobiliari/roma/
https://www.immobiliare.it/agenzie-immobiliari/roma/?pag=4
https://www.immobiliare.it/agenzie-immobiliari/roma/?idMZona%5B%5D=10168\&idMZona%5B%5D=10170

```

#### Individual agency profiles

Scrapes all listings associated with a specific agency:

```

https://www.immobiliare.it/agenzie-immobiliari/4946/tempocasa-roma-vigna-clara/
https://www.immobiliare.it/agenzie-immobiliari/185784/tecnocasa-roma-via-dei-genieri/

```

#### Commercial & specialty property types

Offices, land, warehouses, industrial units, retail, garages, and more:

```

https://www.immobiliare.it/vendita-uffici/milano/
https://www.immobiliare.it/vendita-terreni/roma/
https://www.immobiliare.it/vendita-capannoni/torino/
https://www.immobiliare.it/vendita-negozi/roma/
https://www.immobiliare.it/vendita-magazzini/roma/
https://www.immobiliare.it/affitto-stanze/roma/

```

#### Multi-language URLs

The scraper fully supports English, Russian, German, and other language prefixes:

```

https://www.immobiliare.it/en/sale-apartments/milan/
https://www.immobiliare.it/en/rent-properties/rome/
https://www.immobiliare.it/en/auctions-judicial/turin/
https://www.immobiliare.it/ru/vendita-case/roma/
https://www.immobiliare.it/de/affitto-case/roma/

```

#### URLs without `https://` prefix

The scraper auto-corrects bare URLs:

```

immobiliare.it/vendita-case/favara/?criterio=data\&ordine=desc

````

---

### ⚙️ Input configuration

| Parameter | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | — | List of Immobiliare.it URLs to scrape |
| `maxListingsLimit` | integer | `100` | Max properties to collect per search. Set `0` for unlimited |
| `scrapeAllAgencies` | boolean | `false` | Ignores `startUrls` and scrapes every agency in Italy using the built-in cities index |
| `proxyConfiguration` | object | Apify proxy | Proxy settings. Standard Apify datacenter proxies work fine |

#### Example input

```json
{
  "startUrls": [
    { "url": "https://www.immobiliare.it/vendita-case/roma/" },
    { "url": "https://www.immobiliare.it/agenzie-immobiliari/milano/" },
    { "url": "https://www.immobiliare.it/annunci/128803354/" }
  ],
  "maxListingsLimit": 200,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

***

### 📦 Output structure

#### Property listing result

```json
{
  "visibility": "supervetrina",
  "dataType": "list-real-estate",
  "id": 125884809,
  "uuid": "8a01ab13-e481-53ad-b265-43fdbea6691b",
  "advertiser": {
    "agency": {
      "id": 463209,
      "type": "agency",
      "showOnlyAgentPhone": false,
      "phones": [
        {
          "type": "vTel1",
          "value": "0182 196 5503"
        }
      ],
      "bookableVisit": {
        "isVisitBookable": true,
        "virtualVisitEnabled": true
      },
      "isPaid": true,
      "label": "agenzia",
      "displayName": "Santandrea Luxury Houses & Top Properties - Alassio",
      "guaranteed": false,
      "showAgentPhone": false,
      "showLogo": true,
      "imageUrls": {
        "small": "https://pic.im-cdn.it/imagenoresize/1794742429.jpg",
        "large": "https://pic.im-cdn.it/imagenoresize/1794742431.jpg"
      },
      "agencyUrl": "https://www.immobiliare.it/agenzie-immobiliari/463209/santandrea-luxury-houses-top-properties-alassio/",
      "showExternalLink": false
    },
    "supervisor": {
      "type": "agent",
      "imageGender": "male",
      "phones": [
        {
          "type": "vTel1",
          "value": "0182 196 5503"
        }
      ],
      "imageType": "agent",
      "displayName": "Alassio Santandrea",
      "label": "agente immobiliare"
    },
    "hasCallNumbers": true
  },
  "contract": "sale",
  "isNew": false,
  "luxury": true,
  "price": {
    "visible": true,
    "value": 4000000,
    "formattedValue": "€ 4.000.000",
    "priceRange": "oltre 500.000 &euro;"
  },
  "properties": [
    {
      "multimedia": {
        "photos": [
          {
            "id": 1847729683,
            "caption": "Zona",
            "urls": {
              "small": "https://pwm.im-cdn.it/image/1847729683/xxs-c.jpg"
            }
          },
          {
            "id": 1847729709,
            "caption": "Giardino",
            "urls": {
              "small": "https://pwm.im-cdn.it/image/1847729709/xxs-c.jpg"
            }
          },
          {
            "id": 1847729727,
            "caption": "Vista",
            "urls": {
              "small": "https://pwm.im-cdn.it/image/1847729727/xxs-c.jpg"
            }
          }
        ],
        "virtualTours": [],
        "hasMultimedia": true
      },
      "bathrooms": "3",
      "isMain": false,
      "floor": {
        "abbreviation": null,
        "value": "1°",
        "floorOnlyValue": "1",
        "ga4FloorValue": "1"
      },
      "ga4Condition": "Buono / Abitabile",
      "price": {
        "visible": true,
        "value": 4000000,
        "formattedValue": "€ 4.000.000",
        "priceRange": "oltre 500.000 &euro;"
      },
      "rooms": "5+",
      "surface": "316 m²",
      "typology": {
        "id": 23,
        "name": "Villa unifamiliare"
      },
      "ga4Garage": "1 in box privato/box in garage, 2 posto auto",
      "typologyGA4Translation": "Villa",
      "seaDistanceValue": "500 m",
      "views": [
        {
          "id": 1,
          "name": "mare"
        },
        {
          "id": 5,
          "name": "panoramica"
        }
      ],
      "ga4features": [
        "cancello elettrico",
        "caminetto",
        "fibra ottica",
        "videocitofono",
        "impianto di allarme",
        "porta blindata",
        "balcone",
        "impianto tv con parabola satellitare"
      ],
      "ga4Heating": "Autonomo",
      "caption": "Villa dei Mosaici – Residenza storica nel cuore di Alassio",
      "category": {
        "id": 1,
        "name": "Residenziale"
      },
      "description": "Nel cuore di Alassio, a pochi passi dal mare e immersa in un contesto di assoluta privacy, proponiamo in vendita la splendida Villa dei Mosaici, un immobile unico nel suo genere. La villa combina eleganza, comfort e raffinatezza, arricchita da dettagli architettonici di pregio e dai pregiati mosaici artigianali che impreziosiscono ogni ambiente.",
      "photo": {
        "id": 1847729683,
        "caption": "Zona",
        "urls": {
          "small": "https://pwm.im-cdn.it/image/1847729683/xxs-c.jpg",
          "medium": "https://pwm.im-cdn.it/image/1847729683/m-c.jpg",
          "large": "https://pwm.im-cdn.it/image/1847729683/xxl.jpg"
        }
      },
      "bedRoomsNumber": "4",
      "location": {
        "address": "Parco Fuor del Vento",
        "latitude": 44.0092,
        "longitude": 8.1725,
        "marker": "marker",
        "region": "Liguria",
        "province": "Savona",
        "macrozone": "Collina Centrale, Parco Fuor del Vento",
        "city": "Alassio",
        "nation": {
          "id": "IT",
          "name": "Italia"
        }
      },
      "featureList": [
        {
          "type": "rooms",
          "label": "5+ locali",
          "compactLabel": "5+"
        },
        {
          "type": "surface",
          "label": "316 m²"
        },
        {
          "type": "bathrooms",
          "label": "3 bagni",
          "compactLabel": "3"
        },
        {
          "type": "luxury",
          "label": "Lusso",
          "forceLastPosition": true
        },
        {
          "type": "elevator",
          "label": "No Ascensore",
          "compactLabel": "No"
        },
        {
          "type": "balcony",
          "label": "Balcone"
        }
      ]
    }
  ],
  "title": "Villa unifamiliare Parco Fuor del Vento 50, Collina Centrale, Parco Fuor del Vento, Alassio",
  "type": "ad",
  "typology": {
    "id": 23,
    "name": "Villa unifamiliare"
  },
  "hasMainProperty": false,
  "isProjectLike": false,
  "isMosaic": true,
  "seo": {
    "anchor": "Villa unifamiliare Parco Fuor del Vento 50, Collina Centrale, Parco Fuor del Vento, Alassio",
    "url": "https://www.immobiliare.it/annunci/125884809/"
  },
  "idGeoHash": "spvf3gxh"
}
```

#### Agency result

```json
{
  "address": "Via Mentana 135 53021 - Abbadia San Salvatore",
  "agencyUrl": "https://www.immobiliare.it/agenzie-immobiliari/3382/100-case-abbadia/",
  "description": "Benvenuti nel nostro sito, come sarete i benvenuti nei nostri uffici.\nVi proponiamo appartamenti, ville, casolari, chalet, aziende e terreni, in vendita o in affitto, in questo angolo di Toscana, in provincia di Siena, che dalla Val D'Orcia sale fino al Monte Amiata. Un territorio che comprende Castiglione D'Orcia, Abbadia San Salvatore, Piancastagnaio, Campiglia D'Orcia, Radicofani, Bagno Vignoni, Bagni San Filippo. Vi aspettiamo, per accompagnarvi… a casa.",
  "displayName": "IMMOBILIARE 100 CASE s.a.s di Morellini Licia & c.",
  "guaranteed": false,
  "id": 3382,
  "imageUrls": {
    "large": "https://pic.im-cdn.it/imagenoresize/80682810.jpg",
    "small": "https://pic.im-cdn.it/imagenoresize/550524.jpg"
  },
  "isPaid": true,
  "partnership": "Fiaip",
  "phones": [
    {
      "type": "vtel",
      "value": "0577 146 0756",
      "formattedValues": "+3905771460756",
      "isVirtual": true
    },
    {
      "type": "tel1",
      "value": "0577 777205",
      "formattedValues": "+390577777205",
      "isVirtual": false
    }
  ],
  "realEstate": 65,
  "realEstateSales": 0,
  "timeContract": 19,
  "type": "agency",
  "highlighted": false,
  "agencyLocation": {
    "nation": "Italia",
    "region": "Toscana",
    "province": "Siena",
    "city": "Abbadia San Salvatore",
    "latitude": 42.8816,
    "longitude": 11.6759
  },
  "qualityIndex": 68,
  "premiumAds": 49,
  "active_in_cities": [
    "abbadia-san-salvatore"
  ],
  "scraped_city": "abbadia-san-salvatore"
}
```

***

### 🇮🇹 Scrape all Italian agencies

Enable the `scrapeAllAgencies` option to collect every registered real estate agency across Italy. The actor uses a pre-compiled `apify_cities_index.json` file containing geo IDs for all Italian municipalities and handles full pagination for each city automatically.

This mode supports **Apify server migrations** — the actor saves its progress after every city and resumes from where it left off if interrupted, ensuring no data is lost on long runs.

***

### 🛡️ Anti-block technology

- Uses **`curl_cffi`** with Chrome browser fingerprint emulation to mimic real browser traffic at the HTTP/2 level
- Works reliably with standard **Apify datacenter proxies** — no residential proxies required
- Calls Immobiliare's **internal JSON APIs** directly — no HTML parsing, no Playwright overhead, maximum speed and stability

***

### 💰 Pricing

**$0.70 per 1,000 results**

Pay only for what you extract. There are no hidden charges for failed requests or pagination overhead.

***

### ⚡ Performance tips

- Set `maxListingsLimit: 0` only when you genuinely need all pages — large cities can have thousands of listings
- For agency data collection at national scale, use `scrapeAllAgencies: true` instead of constructing per-city URLs manually
- For targeted searches, paste the exact URL from your browser — the scraper handles all filter parameters automatically

***

### 🐛 Known limitations

- The `scrapeAllAgencies` mode requires the `apify_cities_index.json` file to be bundled with the actor
- Property description fields may be truncated in list view; use single ad URLs to get full descriptions
- Some listings use approximate location markers — exact address data depends on the advertiser's privacy settings

***

### 📬 Support

Found a bug or need a custom feature? Open an issue via the Apify platform or contact the actor author directly through the Apify store.

# Actor input Schema

## `startUrls` (type: `array`):

List of Immobiliare.it URLs to scrape (residential search, commercial search, single ads, or agencies). These will be ignored if 'Scrape all Italian agencies' is enabled.

## `maxListingsLimit` (type: `integer`):

The maximum number of properties to collect when auto-paginating through listings. Set to 0 for unlimited.

## `scrapeAllAgencies` (type: `boolean`):

If enabled, ignores startUrls and scrapes all agencies across Italy using the pre-compiled 'apify\_cities\_index.json' file.

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

Select proxies to prevent blocks. Apify residential proxies are highly recommended.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.immobiliare.it/vendita-case/lajatico/"
    }
  ],
  "maxListingsLimit": 100,
  "scrapeAllAgencies": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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 = {
    "startUrls": [
        {
            "url": "https://www.immobiliare.it/vendita-case/lajatico/"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("saregaa/immobiliareit-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 = {
    "startUrls": [{ "url": "https://www.immobiliare.it/vendita-case/lajatico/" }],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("saregaa/immobiliareit-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 '{
  "startUrls": [
    {
      "url": "https://www.immobiliare.it/vendita-case/lajatico/"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call saregaa/immobiliareit-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Immobiliare.it Scraper",
        "description": "An advanced, high-performance scraper for Immobiliare.it. Supports scraping listings, single ads, agency profiles, and all Italian agencies using a pre-compiled index.",
        "version": "0.0",
        "x-build-id": "zUuzD6YHfvcgAagQ5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/saregaa~immobiliareit-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-saregaa-immobiliareit-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/saregaa~immobiliareit-scraper/runs": {
            "post": {
                "operationId": "runs-sync-saregaa-immobiliareit-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/saregaa~immobiliareit-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-saregaa-immobiliareit-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",
                "required": [
                    "proxyConfiguration"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of Immobiliare.it URLs to scrape (residential search, commercial search, single ads, or agencies). These will be ignored if 'Scrape all Italian agencies' is enabled.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxListingsLimit": {
                        "title": "Max Listings Limit",
                        "minimum": 0,
                        "type": "integer",
                        "description": "The maximum number of properties to collect when auto-paginating through listings. Set to 0 for unlimited.",
                        "default": 100
                    },
                    "scrapeAllAgencies": {
                        "title": "Scrape all Italian agencies",
                        "type": "boolean",
                        "description": "If enabled, ignores startUrls and scrapes all agencies across Italy using the pre-compiled 'apify_cities_index.json' file.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to prevent blocks. Apify residential proxies are highly recommended."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
