# $0.65/1K 💚 Immobiliare.it Scraper - Listings & Agencies (`lofomachines/immobiliare-it-scraper`) Actor

🇮🇹 Raccogli annunci immobiliari e agenzie da Immobiliare.it. Incolla qualsiasi URL ed esporta prezzi, superfici, stanze, foto, classe energetica, dati geografici e contatti delle agenzie in JSON, CSV o Excel.
🇬🇧 Scrape Italian real estate listings and agencies.

- **URL**: https://apify.com/lofomachines/immobiliare-it-scraper.md
- **Developed by:** [Lofomachines](https://apify.com/lofomachines) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 3 total users, 1 monthly users, 97.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.65 / 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 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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Scraper 🏠 | Annunci & Agenzie Immobiliari → Dati Strutturati

**Estrai annunci immobiliari e agenzie da Immobiliare.it in pochi secondi.** Incolla un URL e ottieni prezzi, metratura, locali, foto, classe energetica, posizione GPS e contatti delle agenzie — pronti da esportare in **JSON, CSV, Excel o HTML**.

> 🇮🇹 **Italiano** (sotto) · 🇬🇧 [**English version**](#-immobiliareit-scraper--listings--agencies-data-in-one-click)

***

### 🚀 Cosa fa questo scraper di Immobiliare.it

Questo **scraper per Immobiliare.it** è lo strumento più semplice e completo per **estrarre dati immobiliari** dal portale immobiliare numero 1 in Italia. Un solo Actor gestisce **qualsiasi tipo di link**: non devi scegliere strumenti diversi per annunci e agenzie.

Incolla uno o più URL di ricerca e l'Actor restituisce dati puliti e strutturati:

| Tipo di URL | Esempio | Cosa ottieni |
|---|---|---|
| 🔎 **Case in vendita** | `immobiliare.it/vendita-case/milano/` | Tutti gli annunci in vendita, con paginazione automatica |
| 🏠 **Case in affitto** | `immobiliare.it/affitto-case/roma/` | Tutti gli annunci in affitto |
| 🎛️ **Ricerche filtrate** | `…/vendita-case/milano/?prezzoMassimo=300000` | Rispetta i filtri che applichi sul sito |
| 🏢 **Agenzie della zona** | `immobiliare.it/agenzie-immobiliari/bologna/` | Le agenzie che operano in quella zona, con i contatti |

Puoi anche **mischiare più link nella stessa esecuzione**: lo scraper li gestisce tutti insieme.

***

### ✨ Perché scegliere questo Actor

- ✅ **Annunci e agenzie** — estrai gli immobili e i contatti delle agenzie con un unico strumento.
- ✅ **Dati ricchi e puliti** — decine di campi normalizzati e pronti all'uso, senza HTML sporco.
- ✅ **Velocissimo e conveniente** — ottimizzato per estrarre migliaia di annunci a basso costo.
- ✅ **Paginazione automatica** — segue tutte le pagine dei risultati al posto tuo.
- ✅ **Zero competenze tecniche** — solo due campi: gli URL e quanti risultati vuoi.
- ✅ **Esporta ovunque** — JSON, CSV, Excel, HTML o via **API** e integrazioni (Make, Zapier, n8n, Google Sheets).
- ✅ **Coordinate GPS incluse** — perfetto per mappe e analisi geografiche.

***

### 📊 Quali dati estrae

#### Annunci immobiliari (case in vendita e in affitto)

Prezzo · superficie (m²) · locali · camere da letto · bagni · piano · tipologia (appartamento, trilocale, villa, attico…) · stato/condizione · riscaldamento · ascensore · box/garage · caratteristiche e accessori (balcone, terrazzo, giardino, cantina, piscina…) · descrizione completa · **tutte le foto in alta risoluzione** · indirizzo, zona, macrozona, città, provincia, regione · **latitudine e longitudine** · nome, telefono e profilo dell'agenzia · URL dell'annuncio e data di estrazione.

#### Agenzie immobiliari (lead generation)

Nome · tipologia · logo · **telefono e telefoni** · URL del profilo dell'agenzia. Vengono raccolte le agenzie che pubblicano annunci nella zona cercata — ideale per costruire liste di contatti.

#### Esempio di output (annuncio)

```json
{
  "itemType": "property",
  "url": "https://www.immobiliare.it/annunci/128386308/",
  "title": "Trilocale via Gaetano Donizetti 2, Carrozzone, Reggio Emilia",
  "contract": "sale",
  "propertyType": "Trilocale",
  "price": 169000,
  "priceFormatted": "€ 169.000",
  "surface": 89,
  "rooms": 3,
  "bedrooms": 2,
  "bathrooms": 1,
  "floor": "T, 1",
  "elevator": false,
  "garage": "1 posto auto",
  "condition": "Ottimo / Ristrutturato",
  "heating": "Autonomo",
  "features": ["fibra ottica", "porta blindata", "balcone", "terrazzo"],
  "city": "Reggio Emilia",
  "zone": "Carrozzone",
  "province": "Reggio Emilia",
  "region": "Emilia Romagna",
  "latitude": 44.7038,
  "longitude": 10.6137,
  "images": ["https://pwm.im-cdn.it/image/1916737266/l.jpg"],
  "imagesCount": 19,
  "agencyName": "AM CONSULTING",
  "agencyPhone": "02 8126 6874"
}
```

#### Esempio di output (agenzia)

```json
{
  "itemType": "agency",
  "url": "https://www.immobiliare.it/agenzie-immobiliari/420383/",
  "name": "AM CONSULTING",
  "type": "agency",
  "phone": "02 8126 6874",
  "phones": ["02 8126 6874"],
  "logoUrl": "https://pic.im-cdn.it/imagenoresize/1828871829.jpg"
}
```

***

### 🎯 Casi d'uso

- 📈 **Analisi del mercato immobiliare** — monitora prezzi, prezzo al m² e tendenze per città, zona o tipologia.
- 🧲 **Lead generation** — costruisci liste di **agenzie immobiliari** con nome e telefono per il tuo CRM.
- 🏘️ **Investitori e agenzie** — individua nuove opportunità, immobili sottoprezzo e aste.
- 🤖 **Alimenta AI e modelli** — crea dataset per valutazioni automatiche e portali comparativi.
- 🗺️ **Mappe e geomarketing** — usa le coordinate GPS per visualizzazioni territoriali.
- 📊 **Report e dashboard** — esporta su Google Sheets, Power BI o Excel e aggiorna i dati automaticamente.

***

### 🛠️ Come si usa (3 passi)

1. **Incolla gli URL di ricerca** di Immobiliare.it che ti interessano (vendita, affitto o agenzie di zona).
2. Imposta il **numero massimo di risultati** (lascialo vuoto per prendere tutto).
3. Premi **Start** ▶️ e scarica i dati in JSON, CSV o Excel.

💡 *Suggerimento:* apri Immobiliare.it, applica i filtri che vuoi (città, prezzo, locali, vendita/affitto…) e copia l'URL della pagina: lo scraper rispetterà esattamente quei filtri.

#### Parametri di input

| Campo | Descrizione |
|---|---|
| **URL di Immobiliare.it** (`startUrls`) | Uno o più link da analizzare. Puoi mischiare annunci, ricerche e agenzie. |
| **Risultati massimi** (`maxItems`) | Quanti risultati raccogliere in totale. Vuoto = tutti quelli disponibili. |

#### Automatizza con la pianificazione

Imposta uno **Schedule** su Apify per eseguire lo scraper ogni giorno o ogni settimana e avere sempre dati aggiornati su prezzi e nuovi annunci.

***

### ❓ Domande frequenti (FAQ)

**Devo saper programmare?** No. Bastano un URL e un clic.

**Posso estrarre sia gli annunci che le agenzie?** Sì. Con un URL di ricerca ottieni gli annunci; con un URL di agenzie di zona ottieni i contatti delle agenzie.

**Vengono scaricate tutte le foto?** Sì, le foto degli annunci sono incluse in alta risoluzione.

**Posso esportare in Excel o Google Sheets?** Sì: JSON, CSV, Excel, HTML e API. Integrabile con Make, Zapier, n8n e Google Sheets.

**In che formato sono i prezzi e le superfici?** Numeri puliti (es. `320000`, `80`), oltre alla versione formattata, così puoi fare subito calcoli e filtri.

**Posso pianificare esecuzioni automatiche?** Sì, con lo Scheduler di Apify.

***

## 🇬🇧 Immobiliare.it Scraper 🏠 | Listings & Agencies Data in One Click

**Extract real estate listings and agencies from Immobiliare.it in seconds.** Paste a search URL and get prices, surface area, rooms, photos, amenities, GPS coordinates and agency contacts — ready to export to **JSON, CSV, Excel or HTML**.

### 🚀 What this Immobiliare.it scraper does

This **Immobiliare.it scraper** is the simplest way to **extract Italian real estate data** from Italy's #1 property portal — listings and the agencies behind them, in one tool.

Paste one or more search URLs and the Actor returns clean, structured data:

| URL type | Example | What you get |
|---|---|---|
| 🔎 **Homes for sale** | `immobiliare.it/vendita-case/milano/` | Every listing for sale, with automatic pagination |
| 🏠 **Homes for rent** | `immobiliare.it/affitto-case/roma/` | Every listing for rent |
| 🎛️ **Filtered searches** | `…/vendita-case/milano/?prezzoMassimo=300000` | Respects the filters you apply on the site |
| 🏢 **Agencies in an area** | `immobiliare.it/agenzie-immobiliari/bologna/` | The agencies advertising in that area, with contacts |

You can even **mix several links in the same run** — the scraper handles them all at once.

### ✨ Why choose this Actor

- ✅ **Listings and agencies** — extract properties and agency contacts with one tool.
- ✅ **Rich, clean data** — dozens of normalized, ready-to-use fields, no messy HTML.
- ✅ **Fast & cost-efficient** — built to extract thousands of listings at low cost.
- ✅ **Automatic pagination** — follows every result page for you.
- ✅ **No technical skills required** — just two fields: the URLs and how many results.
- ✅ **Export anywhere** — JSON, CSV, Excel, HTML or via **API** and integrations (Make, Zapier, n8n, Google Sheets).
- ✅ **GPS coordinates included** — perfect for maps and geographic analysis.

### 📊 Data you can extract

#### Property listings (homes for sale & for rent)

Price · surface (m²) · rooms · bedrooms · bathrooms · floor · property type (apartment, villa, penthouse…) · condition · heating · elevator · garage · features & amenities (balcony, terrace, garden, cellar, pool…) · full description · **all high-resolution photos** · address, zone, macrozone, city, province, region · **latitude & longitude** · agency name, phone and profile · listing URL and scrape timestamp.

#### Real estate agencies (lead generation)

Name · type · logo · **phone and phones** · agency profile URL. The agencies advertising in the searched area are collected — ideal for building contact lists.

### 🎯 Use cases

- 📈 **Real estate market analysis** — track prices, €/m² and trends by city, zone or property type.
- 🧲 **Lead generation** — build lists of **real estate agencies** with name and phone for your CRM.
- 🏘️ **Investors & agencies** — spot new opportunities, underpriced properties and auctions.
- 🤖 **Feed AI & models** — create datasets for automated valuations and comparison portals.
- 🗺️ **Maps & geomarketing** — use GPS coordinates for territorial visualizations.
- 📊 **Reports & dashboards** — export to Google Sheets, Power BI or Excel and refresh automatically.

### 🛠️ How to use it (3 steps)

1. **Paste the Immobiliare.it search URLs** you care about (sale, rent or agencies in an area).
2. Set the **maximum number of results** (leave empty to take everything).
3. Hit **Start** ▶️ and download your data as JSON, CSV or Excel.

💡 *Tip:* open Immobiliare.it, apply any filters you want (city, price, rooms, sale/rent…) and copy the page URL — the scraper will respect exactly those filters.

#### Input parameters

| Field | Description |
|---|---|
| **Immobiliare.it search URLs** (`startUrls`) | One or more search/list URLs to scrape (sale, rent, or agencies in an area). |
| **Maximum results** (`maxItems`) | How many results to collect in total. Empty = all available. |

#### Automate with scheduling

Set up a **Schedule** on Apify to run the scraper daily or weekly and always have fresh data on prices and new listings.

### ❓ FAQ

**Do I need to code?** No. Just a URL and a click.

**Can I scrape both listings and agencies?** Yes. A search URL returns listings; an agencies-in-an-area URL returns agency contacts.

**Are all photos downloaded?** Yes, listing photos are included in high resolution.

**Can I export to Excel or Google Sheets?** Yes: JSON, CSV, Excel, HTML and API. Works with Make, Zapier, n8n and Google Sheets.

**What format are prices and surfaces in?** Clean numbers (e.g. `320000`, `80`) plus a formatted version, so you can calculate and filter instantly.

**Can I schedule automatic runs?** Yes, with the Apify Scheduler.

***

### ⚖️ Legal & responsible use

This Actor is designed to collect **publicly available information** for legitimate purposes such as market research, analytics and lead generation. You are responsible for using the extracted data in compliance with Immobiliare.it's terms, applicable laws and data-protection regulations (including GDPR) in your jurisdiction. Do not use personal data for spam or any unlawful activity.

### 💬 Support

Found an issue or need an extra field? Open a ticket on the Actor's **Issues** tab — feedback is welcome and helps make the scraper better for everyone.

# Actor input Schema

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

Paste one or more Immobiliare.it search/list URLs. You can mix several in the same run:

• Homes for sale — e.g. https://www.immobiliare.it/vendita-case/milano/
• Homes for rent — e.g. https://www.immobiliare.it/affitto-case/roma/
• Filtered searches — copy the URL after applying filters (price, rooms, size...)
• Agencies in an area — e.g. https://www.immobiliare.it/agenzie-immobiliari/bologna/ (returns the agencies advertising in that area)

Tip: open Immobiliare.it, choose your city and filters, then copy the page URL from the address bar and paste it here.

## `maxItems` (type: `integer`):

The maximum number of results (properties or agencies) to collect across all your URLs. Lower it to spend less, raise it to collect more. Leave empty to collect everything available.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.immobiliare.it/vendita-case/milano/"
    }
  ],
  "maxItems": 100
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped properties and agencies in the default dataset. Export to JSON, CSV, Excel or HTML.

# 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/milano/"
        }
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("lofomachines/immobiliare-it-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/milano/" }],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("lofomachines/immobiliare-it-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/milano/"
    }
  ],
  "maxItems": 100
}' |
apify call lofomachines/immobiliare-it-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/dF2oMjp8QiAIJTCKZ/builds/DBzNHeKQZCAcMhxYv/openapi.json
