immobiliare.it Listings Scraper avatar

immobiliare.it Listings Scraper

Pricing

from $0.60 / 1,000 results

Go to Apify Store
immobiliare.it Listings Scraper

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

Farhan Febrian Nauval

Maintained by Community

Actor 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 maxResults to 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

  1. You provide one or more Italian city names (or paste existing search URLs with filters already applied).
  2. The actor resolves each city to its correct search path and retrieves pages of listings automatically.
  3. Each listing is written to your dataset as soon as it is collected — price, location, rooms, surface, photos, and agency are all included.
  4. 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.
  5. 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": {}
}
FieldTypeDescription
searchUrlsarrayPaste immobiliare.it search page URLs directly. Takes priority over cities. Example: https://www.immobiliare.it/vendita-case/roma/.
citiesarrayItalian city names to search (e.g. "Roma", "Milano", "Napoli"). Used when no search URLs are provided.
contractTypestring"sale" — for-sale listings. "rent" — rental listings. "both" — runs both searches per city.
categoryIdstringProperty category: "1" Residential (apartments, houses, villas), "2" Commercial, "6" New builds, "24" Land.
maxPagesintegerPages to fetch per search (25 listings per page). 0 = no page limit. Default: 40.
maxResultsintegerMaximum listings to collect per search target. 0 = no limit (use maxPages instead).
maxConcurrencyintegerSimultaneous page requests (keep 2–4). Default: 3.
requestDelayMsintegerMilliseconds between requests per worker (random variation applied). Default: 1000.
proxyConfigurationobjectProxy 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

FieldTypeDescription
recordTypestring"LISTING" or "CITY_SNAPSHOT".
idintegerUnique listing ID on immobiliare.it.
titlestringListing headline as shown on the site.
contractstring"sale" or "rent".
price.valueintegerPrice in euros (null if hidden by the seller).
price.formattedValuestringHuman-readable price string (e.g. "€ 389.000").
properties[0].surfacestringFloor area (e.g. "184 m²").
properties[0].roomsstringNumber of rooms.
properties[0].bathroomsstringNumber of bathrooms.
properties[0].floor.valuestringFloor description (e.g. "6°, con ascensore").
properties[0].location.citystringCity name.
properties[0].location.provincestringProvince (e.g. "Varese").
properties[0].location.latitudenumberGPS latitude.
properties[0].location.longitudenumberGPS longitude.
properties[0].location.microzonestringNeighborhood or district.
properties[0].multimedia.photosarrayPhoto objects with id and urls (small/medium/large).
advertiser.agency.displayNamestringListing agency name.
advertiser.agency.agencyUrlstringAgency profile URL.
typology.namestringProperty type (e.g. "Trilocale", "Villa").
seo_urlstringDirect link to the listing page.
_scrapedAtstringISO 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

ActorSource
mobile.de Listings ScraperGermany's largest used-car marketplace
Eventbrite Events ScraperLive events and tickets worldwide
Kickstarter Projects ScraperCrowdfunding campaigns
Leboncoin Listings ScraperFrance's largest classifieds site
Idealista Listings ScraperSpain and Portugal real estate
Semrush Website Overview ScraperWebsite traffic and SEO metrics