Immobiliare.it Scraper & API: Listings, Price Drops | $0.4/1K avatar

Immobiliare.it Scraper & API: Listings, Price Drops | $0.4/1K

Under maintenance

Pricing

from $0.40 / 1,000 listing saveds

Go to Apify Store
Immobiliare.it Scraper & API: Listings, Price Drops | $0.4/1K

Immobiliare.it Scraper & API: Listings, Price Drops | $0.4/1K

Under maintenance

Immobiliare.it scraper and API: paste a search, agency or listing URL and get price, price drop, price per m², size, rooms, GPS, photos and the agency's name and phone. No 2,000-result cap. Track new, repriced and removed listings on a schedule. From $0.40/1K.

Pricing

from $0.40 / 1,000 listing saveds

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Features

Limited permissions

Share

Immobiliare.it Scraper: median price per m² in Milan, Florence, Rome, Bologna and Naples, and 1,000 listings from $0.40

Immobiliare.it Scraper and API: Italian property listings, price per m², price drops and agency phones

🇮🇹 Italiano: leggi la guida in italiano (API, prezzo al metro quadro, elenco agenzie immobiliari).

Immobiliare.it Scraper turns any Immobiliare.it search into a spreadsheet of property listings: price, price drop, price per m², size, rooms, floor, condition, full address, GPS coordinates, photos, and the agency's name and phone number. It is built for investors, agents, analysts and proptech teams who track asking prices, rents and new stock in Italy. Paste a search URL, an agency page or a single listing, and get one clean row per property.

  • Your own search, every filter. Set up the search on immobiliare.it (city, zone, province, sale or rent, auctions, new builds, price, size, rooms, sort order), copy the address and paste it. The Actor reads every filter from the URL.
  • No 2,000-result cap. The website stops at 80 pages. This Actor reads the whole search, so even all homes for sale in Rome or Milan come back in one run.
  • Price drops built in. When an agency cuts the price, the row has originalPrice and priceDropPercent. pricePerSqm is filled for every listing with a surface.
  • Agency phone included. agencyName, agencyId and agencyPhone come with the search data whenever the agency publishes a phone, at no extra cost.
  • Only what changed. Turn on monitoring, schedule the task, and each run saves only listings that are new, repriced or removed since the last run, with the previous price.
  • Full records on demand. Turn on includeDetails for the description, energy class, year built, condo fees, availability, agent name and every characteristic Immobiliare.it lists.
  • Your own Immobiliare.it API. Call it over HTTP from any language and get JSON back, no Immobiliare.it contract needed. Or export to CSV, Excel or Google Sheets.
  • From $0.40 per 1,000 listings. Pay per listing, no subscription, proxy included.

Scope: Immobiliare.it in Italy. For Idealista (Italy, Spain, Portugal, France) use Idealista Scraper. For Italian classifieds, including private sellers, use Subito Real Estate Scraper.

What can you do with Immobiliare.it Scraper?

GoalHow
Find motivated sellersSearch a city, then filter rows where priceDropPercent is set and sort by it.
Get alerts for new listingsSave the search as a task with Only new listings and price changes on and schedule it daily.
Measure time on marketKeep monitoring on: removed listings come back with firstSeenAt and removedAt.
Compare zonesGroup by macrozone or microzone and take the median pricePerSqm.
Build a rental yield modelRun the same city for vendita and affitto and compare median pricePerSqm per zone.
Generate agency leadsCount listings per agencyName, with agencyPhone, or paste an agency page to get its whole portfolio.
Find renovation projectsFilter on condition = Da ristrutturare and a maximum price.
Map a marketPlot latitude and longitude.

How it compares

Immobiliare.it ScraperTypical Immobiliare.it scrapers
Price per 1,000 listingsFrom $0.40, no start fee$0.50–$2.00, often plus a start fee
Searches over 2,000 listingsRead in fullVaries; the website itself stops at 80 pages
InputSearch, agency and listing URLs, as many as you likeOften one search URL per run
Price drop fieldsoriginalPrice, priceDropPercentRarely
New, repriced and removed listingsBuilt in, removals checked against Immobiliare.itSeparate tools, extra cost or none
Agency phoneIncluded with the search dataVaries
Failed URLsLogged, never chargedSometimes saved as paid rows

Quick start

  1. Click Try for free and sign in to Apify.
  2. Open immobiliare.it, set up your search and copy the address from the browser.
  3. Paste it into Immobiliare.it URLs. Set Maximum results to 100 for a first run.
  4. Click Start, then open the Output tab and export the data.
{
"startUrls": ["https://www.immobiliare.it/vendita-case/milano/?prezzoMassimo=300000"],
"maxResults": 100
}

What URLs can you paste?

URLExampleWhat you get
Search for salehttps://www.immobiliare.it/vendita-case/roma/Every listing of the search, with all its filters
Search for renthttps://www.immobiliare.it/affitto-case/milano/?prezzoMassimo=1200Rentals; price is the monthly rent
Zone or provincehttps://www.immobiliare.it/vendita-case/genova-provincia/Everything in the area
Sorted searchhttps://www.immobiliare.it/vendita-case/roma/?criterio=data&ordine=descNewest first (any sort the site offers)
Auctionshttps://www.immobiliare.it/aste-immobiliari/torino/Auction listings
New buildshttps://www.immobiliare.it/nuove-costruzioni/milano/New developments
Agency pagehttps://www.immobiliare.it/agenzie-immobiliari/183304/All of the agency's listings
Single listinghttps://www.immobiliare.it/annunci/130722394/One row with full details

Searches drawn on the map (search-list/?vrt=…) are not supported; the run logs a message and moves on. Use the city or zone search instead.

Use it as an Immobiliare.it API

Immobiliare.it has no public API for reading listings: its APIs are for agencies publishing their ads and for its paid Insights market data. This Actor works as a listings API: send the input, get the listings back as JSON in the same HTTP call.

curl -X POST "https://api.apify.com/v2/acts/epicscrapers~immobiliare-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrls": ["https://www.immobiliare.it/vendita-case/milano/?prezzoMassimo=300000"], "maxResults": 100}'

The same works from Python or JavaScript with the Apify client, from Make, Zapier or n8n, or from an AI agent through the Apify MCP server. Build search URLs with the website's filters: prezzoMassimo, prezzoMinimo, superficieMinima, localiMinimo, criterio=data&ordine=desc (newest first).

Input reference

FieldTypeDefaultEffect
startUrlsArray of URLsRequiredImmobiliare.it search, agency or listing URLs. Strings or { "url": "…" } objects.
maxResultsInteger100Maximum listings saved in the run, across all URLs. Set it to the search's total to get everything.
includeDetailsBooleanfalseOpens each listing for the description, energy class, year built, condo fees, availability, agent and all characteristics. Extra event per listing.
monitoringModeBooleanfalseSaves only new, repriced and removed listings since the last run of the same URL.
proxyConfigurationObjectApify ProxyDatacenter proxy works and is included. The Actor changes IP by itself when one is blocked.

The Actor requests Italian texts, prices in EUR and surfaces in m², like the Immobiliare.it app. The same listing found by two URLs is saved once.

Output

Each listing is one row in the run's dataset. Export it as JSON, CSV, Excel, XML or HTML. A real row from a Genoa search with includeDetails on, photos and description shortened, phone masked:

{
"id": 133099264,
"url": "https://www.immobiliare.it/annunci/133099264/",
"title": "Appartamento",
"contract": "Vendita",
"typology": "Appartamento",
"category": "Residenziale",
"price": 99900,
"priceFormatted": "€ 99.900",
"currency": "EUR",
"pricePerSqm": 1816,
"originalPrice": null,
"priceDropPercent": null,
"surface": 55,
"rooms": "2",
"bedrooms": 1,
"bathrooms": 1,
"floor": "4",
"elevator": false,
"heating": "Autonomo",
"condition": "Buono / Abitabile",
"isLuxury": false,
"isNewConstruction": false,
"features": ["fibra ottica", "porta blindata", "armadio a muro"],
"address": "Via delle Casette, 80",
"zipcode": "16132",
"city": "Genova",
"province": "Genova",
"provinceCode": "GE",
"region": "Liguria",
"macrozone": "Albaro, Sturla",
"microzone": "Sturla",
"latitude": 44.4021,
"longitude": 8.9843,
"advertiserType": "agency",
"agencyName": "Casa Gold Immobiliare",
"agencyId": 434097,
"agencyPhone": "+39010…",
"images": ["https://pwm.im-cdn.it/image/2047873025/xxl.jpg"],
"imageCount": 33,
"createdAt": "2026-09-30T15:07:36.000Z",
"updatedAt": "2026-11-03T21:11:00.000Z",
"visibility": "Sky",
"description": "In una zona strategica del quartiere di Sturla, in Via delle Casette, proponiamo in vendita un accogliente appartamento di circa 55 mq…",
"energyClass": "F",
"energyConsumption": "≥ 175 kWh/m² anno",
"yearBuilt": 1920,
"condoFees": "€ 60/mese",
"availability": "libero",
"agentName": "Laura Bertazzo",
"featureTags": ["Armadio a muro", "Esposizione esterna", "Fibra ottica", "Porta blindata"],
"characteristics": {
"Tipologia": "Appartamento | Intera proprietà | Classe immobile media",
"Cucina": "Cucina angolo cottura",
"Balcone": "No",
"Cantina": "No",
"Piani edificio": "4 piani",
"Riscaldamento": "Autonomo, a radiatori, alimentato a gas"
}
}

With monitoring on, rows also have changeType (new or priceChanged), previousPrice and firstSeenAt. A listing that was taken down comes back as a short row like this:

{
"id": 128455012,
"url": "https://www.immobiliare.it/annunci/128455012/",
"changeType": "removed",
"previousPrice": 245000,
"firstSeenAt": "2026-10-01T06:00:12.000Z",
"removedAt": "2026-11-08T06:00:41.000Z"
}

Notes on fields

  • price is a number in EUR; for rentals it is the monthly rent. For auctions it is the starting bid, and priceFormatted reads da € ….
  • originalPrice and priceDropPercent are set only when the agency has cut the price.
  • pricePerSqm is price divided by surface, rounded.
  • rooms is text because Immobiliare.it uses values like "5+". bedrooms and bathrooms are numbers.
  • createdAt and updatedAt are ISO dates (UTC).
  • The fields from description to characteristics are present only with includeDetails on, or for listing URLs.
  • Missing values are null.

Track Immobiliare.it over time with scheduled runs

Most of the value comes from running the same search again. Apify can run the Actor for you on a schedule and send the results wherever you need them.

1. Save your input as a task

Set your URLs, turn on Only new listings and price changes, set Maximum results at least as high as the search's total, and click Save as a new task. Monitoring remembers each URL separately, so one task can watch several searches.

2. Schedule the task

In Apify Console, go to Schedules, click Create new, choose how often to run and add your task. See Schedules.

Use caseFrequencyCron expression
New listing alertsDaily at 06:000 6 * * *
Price drop watchTwice a day0 6,18 * * *
Market report by zoneWeekly, Monday0 6 * * 1

3. Send the results to a spreadsheet or your inbox

Connect Google Sheets, Slack, email or a webhook in the task's Integrations tab, so each run's new listings land where you work:

4. Read the changes

  • New listings: changeType = new.
  • Price cuts and raises: changeType = priceChanged, compare price with previousPrice.
  • Sold or withdrawn: changeType = removed; removedAt minus firstSeenAt is the time on market.

The first monitored run saves everything as new. Later runs save only changes.

Ready-to-run examples

Homes under €300,000 in Milan, newest first:

{
"startUrls": ["https://www.immobiliare.it/vendita-case/milano/?prezzoMassimo=300000&criterio=data&ordine=desc"],
"maxResults": 500
}

Every rental in Bologna, with full details:

{
"startUrls": ["https://www.immobiliare.it/affitto-case/bologna/"],
"maxResults": 5000,
"includeDetails": true
}

Daily watch of Turin auctions and one agency:

{
"startUrls": [
"https://www.immobiliare.it/aste-immobiliari/torino/",
"https://www.immobiliare.it/agenzie-immobiliari/183304/"
],
"maxResults": 5000,
"monitoringMode": true
}

For AI agents

Call epicscrapers/immobiliare-scraper with a list of immobiliare.it URLs. Minimal input:

{ "startUrls": ["https://www.immobiliare.it/vendita-case/roma/"], "maxResults": 50 }

Key output fields: id, url, price, pricePerSqm, priceDropPercent, surface, rooms, bedrooms, bathrooms, city, macrozone, latitude, longitude, agencyName, agencyPhone, createdAt. Add "includeDetails": true for description, energyClass, yearBuilt and condoFees. To build a search URL, use the immobiliare.it path pattern /{vendita|affitto}-case/{city}/ with filters such as prezzoMassimo, superficieMinima and localiMinimo.

FAQ

Why did I get fewer results than my limit?

The search has fewer listings than maxResults, or the same listing appeared under several of your URLs and was saved once. The run log shows the total for each URL.

Can I get a whole city?

Yes. Set maxResults to the search's total (the log prints it). There is no 2,000-result cap, so a whole city fits in one run.

How fast is it?

Search data comes in at thousands of listings per minute. With includeDetails on, each listing needs one more request, so runs take a few times longer.

Should I turn on includeDetails?

Search rows already have the price, price drop, surface, rooms, floor, condition, address, coordinates, photos and agency phone. Turn it on when you need the description, energy class, year built, condo fees or the full characteristics list.

How does it know a listing was removed?

At the end of a complete monitored scan, every listing that the search no longer returns is checked with Immobiliare.it. Only listings Immobiliare.it no longer has are reported as removed; listings that just moved out of your filters (for example above your maximum price) are not.

Do I need proxies, an account or an API key?

No. Apify Proxy is used by default and included in the price.

The Actor collects publicly visible listing data. You are responsible for how you use it, including Immobiliare.it's terms and laws such as GDPR, especially for phone numbers and agent names.

Cost

Pay per event, no subscription. Platform usage and proxy are included.

EventFree planStarterScaleBusiness and up
Listing saved$0.80 / 1,000$0.60 / 1,000$0.50 / 1,000$0.40 / 1,000
Full listing details (includeDetails or listing URL)$0.80 / 1,000$0.70 / 1,000$0.60 / 1,000$0.50 / 1,000
Monitoring scan, per 1,000 listings checked$0.01$0.01$0.01$0.01
Run (Free plan)Cost
1,000 listings$0.80
1,000 listings with full details$1.60
Daily monitoring of a 1,000-listing search, about 15 changes a dayabout $0.66 per month

Set a spending limit on the run and the Actor stops cleanly when it is reached, keeping what it saved.

In italiano: Immobiliare.it API e scraper

Immobiliare.it Scraper trasforma qualsiasi ricerca di Immobiliare.it in un foglio di calcolo di annunci immobiliari: prezzo, ribasso, prezzo al metro quadro, superficie, locali, piano, stato, indirizzo, coordinate GPS, foto, nome e telefono dell'agenzia. È pensato per investitori, agenzie, analisti e aziende proptech che seguono prezzi di vendita, affitti e nuovi annunci in Italia.

Un'API per gli annunci di Immobiliare.it

Immobiliare.it non ha un'API pubblica per leggere gli annunci: le sue API servono alle agenzie per pubblicare e ai dati a pagamento di Insights. Questo Actor funziona come un'API di Immobiliare.it: invii l'URL di una ricerca e ricevi gli annunci in JSON nella stessa chiamata HTTP, senza contratto e senza account Immobiliare.it.

curl -X POST "https://api.apify.com/v2/acts/epicscrapers~immobiliare-scraper/run-sync-get-dataset-items?token=<IL_TUO_TOKEN_APIFY>" \
-H "Content-Type: application/json" \
-d '{"startUrls": ["https://www.immobiliare.it/vendita-case/milano/?prezzoMassimo=300000"], "maxResults": 100}'

Funziona anche da Python, JavaScript, Make, Zapier, n8n o da un agente AI tramite il server MCP di Apify.

Cosa ottieni

  • Le tue ricerche, con tutti i filtri. Imposta la ricerca su immobiliare.it (città, zona, provincia, vendita o affitto, aste, nuove costruzioni, prezzo, superficie, locali, ordinamento), copia l'indirizzo e incollalo.
  • Nessun limite di 2.000 risultati. Il sito si ferma a 80 pagine; l'Actor legge tutta la ricerca, anche un'intera città come Roma o Milano.
  • Prezzo al metro quadro e ribassi. pricePerSqm è calcolato per ogni annuncio con superficie; originalPrice e priceDropPercent indicano quando l'agenzia ha abbassato il prezzo.
  • Elenco agenzie immobiliari con telefono. agencyName, agencyId e agencyPhone sono inclusi nei dati di ricerca. Incolla la pagina di un'agenzia (immobiliare.it/agenzie-immobiliari/…) per avere tutti i suoi annunci.
  • Solo le novità. Con il monitoraggio attivo e un'esecuzione pianificata, ogni esecuzione salva solo gli annunci nuovi, quelli con il prezzo cambiato e quelli rimossi, con il prezzo precedente.
  • Scheda completa su richiesta. Con includeDetails aggiungi descrizione, classe energetica, anno di costruzione, spese condominiali, disponibilità, nome dell'agente e tutte le caratteristiche.

A cosa serve

ObiettivoCome
Prezzo al mq per zonaRaggruppa per macrozone o microzone e calcola la mediana di pricePerSqm. Ad esempio, i prezzi delle case a Milano o a Roma quartiere per quartiere.
Trovare venditori motivatiFiltra gli annunci con priceDropPercent e ordinali per ribasso.
Avvisi sui nuovi annunciSalva la ricerca come task con Only new listings and price changes e pianificala ogni giorno.
Tempo sul mercatoCon il monitoraggio, gli annunci rimossi hanno firstSeenAt e removedAt.
Rendimento degli affittiEsegui la stessa città per vendita e affitto e confronta il prezzo al metro quadro per zona.
Lead per agenzieConta gli annunci per agencyName con agencyPhone, oppure scarica il portafoglio di un'agenzia.
Immobili da ristrutturareFiltra condition = Da ristrutturare e un price massimo.

Come iniziare

  1. Clicca Try for free e accedi ad Apify.
  2. Apri immobiliare.it, imposta la ricerca e copia l'indirizzo dal browser.
  3. Incollalo in Immobiliare.it URLs e, per la prima prova, imposta Maximum results a 100.
  4. Clicca Start, poi apri la scheda Output ed esporta in Excel, CSV, JSON o Google Sheets.

Quanto costa

Paghi per annuncio, senza abbonamento, proxy incluso: da $0,80 per 1.000 annunci con il piano Free fino a $0,40 con i piani a pagamento più alti. La scheda completa costa da $0,50 a $0,80 per 1.000 annunci in più. I prezzi aggiornati sono nella scheda Pricing e nella sezione Cost.

Domande frequenti

Posso scaricare tutti gli annunci di una città? Sì. Imposta Maximum results al totale della ricerca (lo trovi nel log). Non c'è il limite di 2.000 risultati.

Funziona per affitti, aste e nuove costruzioni? Sì, con qualsiasi URL di ricerca di immobiliare.it. Le ricerche disegnate sulla mappa non sono supportate: usa la ricerca per città, zona o provincia.

Serve un account o una chiave API? No. Serve solo un account Apify; il proxy è incluso.

È legale? L'Actor raccoglie dati pubblicamente visibili. Sei responsabile dell'uso che ne fai, inclusi i termini di Immobiliare.it e il GDPR, soprattutto per numeri di telefono e nomi degli agenti.

Support

Report problems or request features in the Issues tab. Include the run ID, the input and what you expected.

This Actor is not affiliated with or endorsed by Immobiliare.it or Immobiliare.it Insights. "Immobiliare.it" is a trademark of its owner. Questo Actor non è un prodotto di Immobiliare.it né di Immobiliare.it Insights.