Immobiliare.it Scraper - Italy Listings, Price Drops & Agencies avatar

Immobiliare.it Scraper - Italy Listings, Price Drops & Agencies

Pricing

from $0.50 / 1,000 listings

Go to Apify Store
Immobiliare.it Scraper - Italy Listings, Price Drops & Agencies

Immobiliare.it Scraper - Italy Listings, Price Drops & Agencies

Scrape immobiliare.it listings for sale or rent by place, search URL, radius or polygon: price, price drops, m², rooms, floor, features, GPS, photos, agency, phones. Add-ons: listing details (energy class, dates, fees) and agency profiles. Monitor mode, past the 2,000 cap. $0.50 per 1,000 listings.

Pricing

from $0.50 / 1,000 listings

Rating

0.0

(0)

Developer

Top Api

Top Api

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

What does Immobiliare.it Scraper do?

Immobiliare.it Scraper extracts property listings for sale and rent from immobiliare.it, Italy's largest property portal. Give it a place (comune, province, region or zone), immobiliare.it search URLs with your filters, a point and radius, a map polygon, or listing URLs, and get one row per listing: price and price drop, m², rooms, bedrooms, bathrooms, floor, condition, heating, features, address, zones, coordinates, photos, agency and phone numbers. Built for property investors, agencies, price trackers, relocation services and market researchers.

Immobiliare.it scraper · Immobiliare.it API alternative · Italy real estate data · Italian property listings export

  • Every way to search: a place name, any immobiliare.it search URL (zones, map areas, /search-list/ links, any language version), a point + radius, a polygon, or listing URLs and ids
  • immobiliare.it's own filters: sale or rent, property type, price, m², rooms, bathrooms, condition, floor, garage, garden, terrace, balcony, lift, cellar, pool, furnished, heating, air conditioning, sea view, virtual tour, exclude auctions, and 10 sort orders
  • Past the 2,000-listing cap: immobiliare.it shows at most 80 pages (2,000 listings) per search; larger searches are split into price bands so every listing is reachable (2,500 listings from an 8,754-listing search, measured)
  • Price drops on every row: the former price, the drop in € and %, and the day of the drop, whenever immobiliare.it shows one
  • Add-ons when you need them: listing details (full description, creation and update dates, ZIP code, energy class, year built, availability, condominium fees, every photo in HD, floor plans, videos) and agency profiles (website, office address, phones, opening hours, listings on sale and sold)
  • Monitor mode: scheduled runs return only new listings (and price changes if you want)
  • No login, cookies or API key. Pay only for delivered rows: no start fee

What data can you get from immobiliare.it?

🏷️ Title, URL, listing id💶 Price, formatted price, price bracket📉 Previous price, drop € / %, drop date
📐 Size m², price per m²🛏️ Rooms, bedrooms, bathrooms🏢 Floor, lift
✨ Condition, heating, garage🧾 Features (balcony, cellar, terrace…)🌊 Views (sea, panoramic)
📍 Address, comune, province, region🗺️ Zone + sub-zone, latitude, longitude📷 Main photo, all photos, captions
🏢 Agency name, page, logo, phones👤 Agent name and phones, private-seller flag🏗️ New-build projects with their units
📅 Created / updated dates (details)⚡ Energy class + consumption (details)🧱 Year built, floors, kitchen, availability (details)
💡 Condominium fees, costs (details)🖼️ HD photos by room, floor plans, videos (details)🌐 Agency website, address, hours, sold count (agency)

How to scrape immobiliare.it

  1. Type a place in Location (for example Milano, Provincia di Bergamo or Toscana), or paste immobiliare.it URLs.
  2. Choose For sale or to rent and the Property type, and set any Filters.
  3. Set Max listings, switch on an add-on if you need it, and press Start.
  4. Download the dataset as JSON, CSV or Excel, or connect it to your tools.

⬇️ Input

InputWhat it does
location / locationsA comune, province, region or zone, as you would type it on immobiliare.it. Matched with immobiliare.it's own place search; each place is one search.
province, areaA province code (RM, MI…) to search a whole province or to pick the right town when a name exists twice; a zone inside the town (Navigli, Centro Storico).
startUrls / urlsFromFileimmobiliare.it search URLs with their filters, zone and map URLs, /search-list/ URLs, and listing URLs (/annunci/<id>/), from any language version.
listingIdsListing ids: the full record of each listing.
latitude, longitude, radiusKmSearch around a point.
polygonA map area as lat,lng points separated by ;.
operationsale, rent, or auction (sale listings that are court auctions).
propertyTypehomes, apartments, penthouses, villas, detachedHouses, lofts, newBuilds, rooms, offices, shops, warehouses, garages, land, buildings, sheds.
minPrice, maxPrice, minSize, maxSize, minRooms, maxRooms, bathroomsApplied by immobiliare.it before anything is read.
condition, floor, garage, garden, terrace, balcony, lift, cellar, pool, furnished, autonomousHeating, airConditioning, seaView, virtualTour, excludeAuctionsimmobiliare.it's own filters.
sortByrelevance, newest, oldest, priceLow, priceHigh, sizeLarge, sizeSmall, roomsMost, roomsLeast, privateFirst.
sellerTypeany, private (private sellers only) or agency.
minBedrooms, maxBedrooms, requirePhone, onlyPriceDrops, minPriceDropPercent, includeKeywords, excludeKeywords, postedAfterRow filters, run before anything is charged.
maxItems, maxItemsPerSearch, maxPagesPerSearchHow many listings (0 = no limit).
splitLargeSearchesRead past the 2,000-listing cap by splitting into price bands (on by default).
includeDetails➕ Listing details add-on.
includeAgencyDetails➕ Agency profiles add-on (once per agency per run).
languageTitles and labels in it, en, de, es, fr, pt, el or ru.
monitorMode, includePriceChanges, skipFirstRun, monitorStoreName, resetMonitorScheduled runs that return only new listings / price changes.
maxConcurrency, proxyConfigurationWorkers (default 12) and proxy (Apify residential, Italy).

Input JSON

{
"location": "Milano",
"operation": "rent",
"propertyType": "apartments",
"minRooms": 2,
"maxPrice": 2000,
"lift": true,
"sortBy": "newest",
"maxItems": 200,
"includeDetails": true
}

Set the filters on immobiliare.it and paste the address, for example https://www.immobiliare.it/vendita-case/bologna/con-ascensore/?prezzoMassimo=300000&localiMinimo=3. The town, zone, contract, category, typology and every filter in the address are read with immobiliare.it's own URL resolver. Map searches (/search-list/?vrt=… or a radius) work too. If a URL carries a filter immobiliare.it's search data has no equivalent for (con-lusso, con-prezzo-basso), the URL is skipped and the status says so, so no unfiltered listings are sold as filtered.

Private sellers only

Set Seller to private: the search is read in immobiliare.it's "private sellers first" order and stops at the first page without one (measured: 10 private listings in Bologna from 1 page).

⬆️ Output

One row per listing. A real row from a run on 2026-10-28 (Milano, for sale):

{
"id": 132096140,
"url": "https://www.immobiliare.it/annunci/132096140/",
"title": "Monolocale via Privata Martiri Triestini 10, San Siro, Milano",
"contract": "sale",
"typology": "Monolocale",
"price": 200000,
"previousPrice": 220000,
"priceDropPercent": 9.1,
"priceDropDate": "2026-10-21",
"pricePerM2": 4762,
"size": 42,
"rooms": "1",
"bathrooms": "1",
"floor": "7",
"condition": "Buono / Abitabile",
"heating": "Centralizzato",
"macrozone": "San Siro, Trenno",
"latitude": 45.474,
"longitude": 9.1428,
"agencyName": "Affiliato Tecnorete: SVILUPPO IMMOBILIARE ZAVATTARI SRL",
"agencyPhones": ["02 8126 9318"]
}

With Listing details and Agency profiles on, a row also carries (Napoli, for rent):

{
"creationDate": "2026-09-10T17:37:32.000Z",
"lastModified": "2026-10-26T09:48:11.000Z",
"zipcode": "80132",
"energyClass": "G",
"energyConsumption": "≥ 175 kWh/m² anno",
"yearBuilt": 1700,
"availability": "libero",
"kitchen": "Cucina abitabile",
"condominiumFees": "€ 300/mese",
"reference": "VIA NICOTERA 38",
"agencyProfileName": "Fabrizio Berti Immobiliare",
"agencyWebsite": "https://www.fabriziobertiimmobiliare.it/",
"agencyListingsCount": 37
}

Fields and how often they are filled

Measured on real runs of 2026-10-28: 2,200 search rows (Torino and Milano, for sale) and 100 rows with both add-ons (Napoli, for rent).

FieldFilled
id, url, title, priceFormatted, size, address, city, macrozone, microzone, latitude, longitude, heating, mainPhoto, photos100%
price99.5% (the rest are "price on request")
rooms 99.8% · bedrooms 95.1% · bathrooms 94.9% · floor 93.9% · condition 95.8% · features 99.4%as published
agencyName, agencyPhones100% / 99.8% of agency listings (private sellers show none)
hasLift 75% · garage 29.3% · views 19.5%only when the advertiser states it
previousPrice, priceDropPercent, priceDropDate4.7% (listings with a price drop)
creationDate, lastModified, description, reference (details)100%
energyClass 88% · zipcode 85% · condominiumFees 88% · availability 89% · yearBuilt 68% · floorPlans 42% · videos 27% (details)as published
agencyWebsite 75% · agencyListingsCount, agencySoldCount, agencyFullAddress 87% (agency profiles)per listing; private sellers have no agency

How much does it cost to scrape immobiliare.it?

Pay per event, no start fee:

EventPriceCharged when
Listing (listing)$0.0005 ($0.50 per 1,000)a listing row is delivered
Listing details (listing-details)$0.00063Listing details is on and the listing's record was read
Agency profile (agency-details)$0.009Agency profiles is on: once per agency per run, never for a private seller

Listings removed by a filter, duplicates and listings seen by earlier monitor runs are never charged. A listing URL / id row is read from its full record and costs one listing (the details come with it). Set a maximum charge on the run and the actor stops cleanly at it, delivering only what fits.

Measured runs (Apify platform, 256 MB):

RunRowsTime
Roma, for sale, 20 listings (the prefill)203.4 s
Roma, for sale, 100 listings (empty input)1004.5 s
Milano, to rent, 2+ rooms, max €2,000, lift10030 s
Torino, for sale, 1,200 listings1,20024 s
Torino, for sale, 2,500 listings (8,754 found: split into price bands)2,500230-280 s
Bologna, for sale, 100 listings + Listing details100 + 100 details100 s
Napoli, to rent, 100 listings + Listing details + Agency profiles100 + 100 details + 57 agencies71 s
monitor poll with nothing new0 (nothing charged)3.2 s

Run it on a schedule

  1. Turn on Monitor mode and give the schedule its own Monitor memory name.
  2. Optional: Skip first run remembers what is listed now without delivering it; Also deliver price changes adds listings seen before whose price changed (changeType: "priceChange", monitorPreviousPrice, priceChange).
  3. Create an Apify Schedule (for example every hour). Monitor mode reads newest first and stops at the first page with nothing new: a poll with nothing new reads one page and charges nothing.

Integrations, API & MCP

Run it from the Apify API, the JavaScript or Python client, Make, Zapier, n8n, Google Sheets, webhooks or the Apify MCP server for AI agents. Example API call:

curl -X POST "https://api.apify.com/v2/acts/TopApi~immobiliare-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"location":"Firenze","operation":"rent","maxItems":50}'

Limits & empty runs

  • 2,000 listings per search is immobiliare.it's own cap (80 pages of 25); splitLargeSearches reads past it with price bands. Listings with the price on request (about 0.5%) belong to no price band, so a split search does not include them.
  • immobiliare.it's bot check: the actor reads immobiliare.it's own data through Italian residential connections. About 1 request in 25 meets the bot check (26 of 659 on the platform, 2026-10-28); that worker then moves to the Apify Unblocker for the rest of the run (no CAPTCHA is ever answered). Listing details read through the Unblocker cost more than they bill, so they have a small per-run share: on a very large details run, a few listings may come without details (never charged for details, and the status says how many). More workers (maxConcurrency) keep more of a run on the cheaper route.
  • Auctions only has no immobiliare.it filter: operation: auction reads sale listings and keeps the court auctions.
  • Bedrooms and keywords have no immobiliare.it filter either; they run on the rows before the charge.
  • Detail labels (energy, kitchen, availability) are in Italian, as immobiliare.it publishes them.
  • If immobiliare.it refuses every route, the run ends with an error status and nothing is charged; a search that matches nothing ends with a status saying what to change.

FAQ

How many listings can Immobiliare.it Scraper collect in one run?

As many as you set in Max listings. One search returns up to 2,000 (immobiliare.it's limit); with splitting on, 2,500 listings were read from an 8,754-listing search in one run.

Can I search a whole province or region?

Yes. Type the province or region in Location (Provincia di Roma, Lombardia) or set the Province code.

Does Immobiliare.it Scraper show price drops?

Yes, on every row: previousPrice, priceDropValue, priceDropPercent, priceDropDate and priceDropDaysAgo whenever immobiliare.it shows a reduction. Set onlyPriceDrops to keep only those.

Can I get only new immobiliare.it listings?

Yes. Monitor mode remembers what earlier runs delivered and returns only new listings, optionally price changes.

Does it return the full description, energy class and dates?

Yes, with Listing details on (or for listing URLs / ids): full description, creation and update dates, ZIP code, energy class and consumption, year built, availability, condominium fees, every photo in HD, floor plans and videos.

Does it return agency contacts?

Every agency listing carries the agency name, page, logo and phone numbers. With Agency profiles on, it also carries the agency's website, office address and position, all phones, opening hours, listings on sale and sold.

Can I use English labels?

Set Language to en for English titles and labels on the search rows; listing-detail labels stay in Italian.

Do I need an immobiliare.it account, cookies or an API key?

No.

Can I use it with the Apify API or an MCP server?

Yes: start it from the API, a client library, a schedule, or through the Apify MCP server from an AI agent.

Why did my run return no listings?

Your filters matched nothing, every listing was removed by a row filter, the place or URL was not found, or (in monitor mode) nothing is new. The status message and the RUN_SUMMARY record say which.

Your feedback

Found a bug or need a field? Open an issue on the actor's Issues tab.