immobiliare.it Listings Scraper
Pricing
from $0.60 / 1,000 results
Go to Apify Store

immobiliare.it Listings Scraper
Scrapes real estate listings from Italy's #1 portal immobiliare.it via its internal JSON search API. Supports sale and rent search by city or URL, with price, surface, rooms, location, photos and agency data. HTTP-only; residential proxy optional for detail pages.
Pricing
from $0.60 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
immobiliare.it Scraper
Collect property listings from immobiliare.it — Italy's largest real estate portal with 750,000+ active listings — and download them as structured data ready for spreadsheets, databases, or analytics pipelines.
Why use this actor
- No account or login required — public listings are collected without signing in.
- Sale and rent in one run — search for properties for sale, to rent, or both at once.
- Rich listing detail — price, surface area, number of rooms, floor, city, neighborhood, GPS coordinates, agency name, and up to dozens of photos per listing.
- Search by city name or custom URL — type a city (e.g. "Roma", "Milano") or paste any immobiliare.it search page URL with your own filters already set.
- Precise result caps — set
maxResultsto get exactly the number of listings you need; the actor stops mid-page the moment the limit is reached. - Stable structured output — results stream directly to your dataset as they arrive; download as JSON, CSV, or Excel without any extra steps.
How it works
- You provide one or more Italian city names (or paste existing search URLs with filters already applied).
- The actor resolves each city to its correct search path and retrieves pages of listings automatically.
- Each listing is written to your dataset as soon as it is collected — price, location, rooms, surface, photos, and agency are all included.
- Once the page or result limit you set is reached, the actor stops and writes a summary record showing how many listings the site holds in total.
- Download your results as JSON, CSV, or Excel from the Apify Console — no scraping infrastructure or browsers to manage.
Input
{"cities": ["Roma"],"contractType": "sale","categoryId": "1","maxPages": 40,"maxResults": 0,"maxConcurrency": 3,"requestDelayMs": 1000,"proxyConfiguration": {}}
| Field | Type | Description |
|---|---|---|
searchUrls | array | Paste immobiliare.it search page URLs directly. Takes priority over cities. Example: https://www.immobiliare.it/vendita-case/roma/. |
cities | array | Italian city names to search (e.g. "Roma", "Milano", "Napoli"). Used when no search URLs are provided. |
contractType | string | "sale" — for-sale listings. "rent" — rental listings. "both" — runs both searches per city. |
categoryId | string | Property category: "1" Residential (apartments, houses, villas), "2" Commercial, "6" New builds, "24" Land. |
maxPages | integer | Pages to fetch per search (25 listings per page). 0 = no page limit. Default: 40. |
maxResults | integer | Maximum listings to collect per search target. 0 = no limit (use maxPages instead). |
maxConcurrency | integer | Simultaneous page requests (keep 2–4). Default: 3. |
requestDelayMs | integer | Milliseconds between requests per worker (random variation applied). Default: 1000. |
proxyConfiguration | object | Proxy settings. Not required for standard search; an Italian residential proxy (RESIDENTIAL, country IT) helps if the search starts returning errors from your location. |
Output
The dataset contains two record types:
LISTING— one row per property listing.CITY_SNAPSHOT— one row per city per run with totals (total ads found, pages available, pages scraped).
Sample listing record
{"_input": "roma:sale","_source": "S1-search-api","_scrapedAt": "2026-06-10T12:14:38Z","recordType": "LISTING","id": 100233540,"title": "Trilocale via Francesco Crispi 34, Ospedale, Busto Arsizio","contract": "sale","price": {"formattedValue": "€ 389.000","value": 389000,"visible": true},"properties": [{"surface": "184 m²","rooms": "3","bathrooms": "3","floor": { "value": "6°, con ascensore" },"location": {"address": "Via Francesco Crispi","city": "Busto Arsizio","province": "Varese","region": "Lombardia","latitude": 45.6226,"longitude": 8.8503,"microzone": "Ospedale"},"multimedia": {"photos": [{ "id": 1260970622, "urls": { "small": "https://pwm.im-cdn.it/image/1260970622/xxs-c.jpg" } },{ "id": 1260970670, "urls": { "small": "https://pwm.im-cdn.it/image/1260970670/xxs-c.jpg" } },{ "id": 1260970460, "urls": { "small": "https://pwm.im-cdn.it/image/1260970460/xxs-c.jpg" } },"... 60 more"]}}],"advertiser": {"agency": {"displayName": "Gabetti Agency SpA - Frazionamenti e Cantieri","agencyUrl": "https://www.immobiliare.it/imprese-edili/144077/gabetti-frazionamenti/"}},"typology": { "id": 14, "name": "Trilocale" },"seo_url": "https://www.immobiliare.it/annunci/100233540/"}
Output field reference
| Field | Type | Description |
|---|---|---|
recordType | string | "LISTING" or "CITY_SNAPSHOT". |
id | integer | Unique listing ID on immobiliare.it. |
title | string | Listing headline as shown on the site. |
contract | string | "sale" or "rent". |
price.value | integer | Price in euros (null if hidden by the seller). |
price.formattedValue | string | Human-readable price string (e.g. "€ 389.000"). |
properties[0].surface | string | Floor area (e.g. "184 m²"). |
properties[0].rooms | string | Number of rooms. |
properties[0].bathrooms | string | Number of bathrooms. |
properties[0].floor.value | string | Floor description (e.g. "6°, con ascensore"). |
properties[0].location.city | string | City name. |
properties[0].location.province | string | Province (e.g. "Varese"). |
properties[0].location.latitude | number | GPS latitude. |
properties[0].location.longitude | number | GPS longitude. |
properties[0].location.microzone | string | Neighborhood or district. |
properties[0].multimedia.photos | array | Photo objects with id and urls (small/medium/large). |
advertiser.agency.displayName | string | Listing agency name. |
advertiser.agency.agencyUrl | string | Agency profile URL. |
typology.name | string | Property type (e.g. "Trilocale", "Villa"). |
seo_url | string | Direct link to the listing page. |
_scrapedAt | string | ISO 8601 timestamp of when the record was collected. |
Sample city snapshot record
{"recordType": "CITY_SNAPSHOT","city_slug": "roma","contractType": "sale","totalAds": 773143,"maxPages": 30926,"pagesScraped": 2,"isResultsLimitReached": true}
Other actors in this collection
| Actor | Source |
|---|---|
| mobile.de Listings Scraper | Germany's largest used-car marketplace |
| Eventbrite Events Scraper | Live events and tickets worldwide |
| Kickstarter Projects Scraper | Crowdfunding campaigns |
| Leboncoin Listings Scraper | France's largest classifieds site |
| Idealista Listings Scraper | Spain and Portugal real estate |
| Semrush Website Overview Scraper | Website traffic and SEO metrics |