# Wikicasa Agency Search Scraper (`stealth_mode/wikicasa-agency-search-scraper`) Actor

Scrape detailed real estate agency profiles from WikiCasa.it across Italian regions. Collect agency names, contact info, subscription levels, property counts, visibility metrics, and more — perfect for market analysis, lead generation, and competitive intelligence in Italian real estate.

- **URL**: https://apify.com/stealth\_mode/wikicasa-agency-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## WikiCasa.it Real Estate Agency Scraper: Extract Italian Agency Data

---

### What Is WikiCasa.it?

WikiCasa.it is Italy's comprehensive real estate agency directory, listing thousands of accredited agencies across all regions. Each agency profile includes contact details, service descriptions, property portfolio metrics, and premium listing indicators. For real estate professionals, market researchers, and proptech companies, manually compiling agency data is tedious — the **WikiCasa.it Agency Scraper** automates this, extracting structured agency records in minutes rather than hours.

---

### Overview

The **WikiCasa Agency Scraper** extracts detailed agency listings from WikiCasa.it's regional agency directories, converting unstructured web pages into clean, queryable datasets. It serves:

- **Real estate aggregators** building comprehensive agency databases
- **Market researchers** analyzing regional agency distribution and market structure
- **Sales teams** generating leads from agency networks in target regions
- **Competitive analysts** tracking competitor agency portfolios and subscription tiers
- **Business intelligence platforms** enriching real estate market data

Key strengths include region-based URL targeting (e.g., Lazio, Tuscany, Lombardy), configurable scraping limits, and robust error handling to ensure uninterrupted data collection.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.wikicasa.it/agenzie-immobiliari/regione-lazio/",
    "https://www.wikicasa.it/agenzie-immobiliari/regione-toscana/"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Field | Description |
|---|---|
| `urls` | Array of WikiCasa agency directory URLs; typically follows the pattern `/agenzie-immobiliari/regione-[REGION]/` to target specific Italian regions |
| `max_items_per_url` | Maximum number of agencies to scrape per URL (e.g., `200` collects up to 200 agencies per region) |
| `ignore_url_failures` | If `true`, continues scraping remaining URLs if one fails; recommended for bulk regional runs |

> **Tip:** Use region-specific URLs (e.g., Lazio, Campania, Piemonte) to scope your data collection. WikiCasa organizes agencies by Italian administrative regions for efficient filtering.

***

### Output Format

**Sample output**

```json
{
  "id": 234679,
  "name": "REALTY ONE GROUP",
  "agency_extra_visibility": false,
  "prestigious": false,
  "top_agency": false,
  "subscription_type": 2,
  "address": "Via Ferdinando di Savoia 3",
  "city_name": "Roma",
  "zip": "00196",
  "image_id": null,
  "company_name": "ZONE CENTER SRL",
  "description": "Realty ONE Group A Modern, Lifestyle Real Estate Brand! Il marchio immobiliare in più rapida crescita nel mondo! 21K+ professionisti in oltre 62 Stati.\n\nPuoi trovarci a Roma in:\nVia Ferdinando di Savoia, 3\nVia Massa di San Giuliano, 251 \nVia Trinitapoli, 28\nVia Flavio Stilicone, 316 \nVia Benedetto Croce, 49\n\n Pomezia:\nVia Largo Plinio, 2\n\nMonte Porzio Catone:\nViale Guglielmo Marconi, 9/11\n\nMarina di Ardea in:\nViale delle Pinete, 154",
  "hidden_display_phone": "068637",
  "io_vox_phone": "0686373031",
  "website": "https://www.realtyonegroup.it",
  "active_real_estates": 297,
  "visible_real_estates": 297,
  "premium": true,
  "from_url": "https://www.wikicasa.it/agenzie-immobiliari/roma/"
}
```

Each scraped agency returns a rich profile with 18+ fields:

#### Identification & Profile

| Field | Meaning |
|---|---|
| `ID` | Unique WikiCasa identifier for the agency |
| `Name` | Official agency business name as listed |
| `Company Name` | Registered company name (may differ from trading name) |
| `Description` | Agency profile text, services offered, and specializations |
| `Website` | Agency's official website URL |

#### Location & Contact

| Field | Meaning |
|---|---|
| `Address` | Full street address of the agency office |
| `City Name` | City or municipality where the agency is located |
| `ZIP` | Postal code (CAP in Italy) |
| `Hidden Display Phone` | Primary phone number (shown with privacy obfuscation to users) |
| `IO Vox Phone` | Alternative or VoIP phone contact number |

#### Subscription & Status

| Field | Meaning |
|---|---|
| `Subscription Type` | Level of WikiCasa listing (e.g., basic, premium, pro) |
| `Premium` | Boolean flag indicating if the agency has a paid premium subscription |
| `Agency Extra Visibility` | Flag for enhanced visibility add-ons or sponsored placement |
| `Prestigious` | Boolean indicating prestigious or award-winning status |
| `Top Agency` | Flag for agencies ranked in WikiCasa's top-tier selection |
| `Image ID` | Reference ID for the agency's logo or profile image |

#### Portfolio Metrics

| Field | Meaning |
|---|---|
| `Active Real Estates` | Number of currently active property listings under the agency |
| `Visible Real Estates` | Count of publicly visible properties in their portfolio |

***

### How to Use

1. **Identify target regions** — Navigate to WikiCasa.it's agency directory and identify regional URLs (e.g., `/regione-lazio/`, `/regione-campania/`).
2. **Prepare URL list** — Paste region URLs into the `urls` array. You can target single or multiple regions in one run.
3. **Set item limits** — Adjust `max_items_per_url` based on your needs (e.g., `50` for quick sampling, `200` for comprehensive regional coverage).
4. **Enable error handling** — Set `ignore_url_failures: true` for robust multi-region runs.
5. **Execute and export** — Run the scraper and download results as JSON, CSV, or Excel.

**Best practices:**

- Spread large runs across multiple URLs to avoid timeouts.
- Use `max_items_per_url: 50-100` for incremental testing before scaling to full regions.
- If a regional URL is unavailable, the scraper gracefully skips it and continues with remaining URLs.

***

### Use Cases & Business Value

- **Agency database building:** Create a master directory of Italian real estate agencies with subscription levels and contact info
- **Market segmentation:** Analyze premium vs. basic agency distribution by region to identify market concentration
- **Lead generation:** Extract contact details and portfolios for outreach and partnership development
- **Market research:** Track agency growth, property inventory trends, and subscription adoption across regions
- **Competitive benchmarking:** Compare your agency's portfolio size and visibility to competitors in the same region

The WikiCasa Agency Scraper transforms time-consuming manual research into actionable market data, enabling data-driven decision-making in Italy's real estate sector.

***

### Conclusion

The **WikiCasa.it Agency Scraper** is an essential tool for anyone seeking to understand Italy's real estate agency landscape. By automating data extraction across regions, it uncovers market structure, competitive positioning, and growth opportunities in seconds. Whether you're building an aggregator, conducting market research, or generating qualified leads, this scraper delivers comprehensive, clean agency data ready for analysis.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the agency list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.wikicasa.it/agenzie-immobiliari/regione-lazio/"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 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 = {
    "urls": [
        "https://www.wikicasa.it/agenzie-immobiliari/regione-lazio/"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/wikicasa-agency-search-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 = {
    "urls": ["https://www.wikicasa.it/agenzie-immobiliari/regione-lazio/"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/wikicasa-agency-search-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 '{
  "urls": [
    "https://www.wikicasa.it/agenzie-immobiliari/regione-lazio/"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/wikicasa-agency-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wikicasa Agency Search Scraper",
        "description": "Scrape detailed real estate agency profiles from WikiCasa.it across Italian regions. Collect agency names, contact info, subscription levels, property counts, visibility metrics, and more — perfect for market analysis, lead generation, and competitive intelligence in Italian real estate.",
        "version": "0.0",
        "x-build-id": "UzrHu82jIIx85ZXdP"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~wikicasa-agency-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-wikicasa-agency-search-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/stealth_mode~wikicasa-agency-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-wikicasa-agency-search-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/stealth_mode~wikicasa-agency-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-wikicasa-agency-search-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": {
                    "urls": {
                        "title": "URLs of the agency list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the agency list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
