Immobiliare.it Scraper: Italy Homes and Agencies
Pricing
from $0.66 / 1,000 listings
Immobiliare.it Scraper: Italy Homes and Agencies
Export Immobiliare.it homes, rentals and auctions from any comune, zona, region or radius in Italy, pasted links, annunci or agenzie, no login. Rows: price, superficie, locali, piano, address, photos, planimetrie, agency phones; add spese condominiali, classe energetica. Pay per ad, Excel or API.
Pricing
from $0.66 / 1,000 listings
Rating
0.0
(0)
Developer
Automation Craft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Features
Share
Immobiliare.it Scraper: Italy Homes and Agencies
Immobiliare.it scraper and API for Italy's property portal Immobiliare.it: type a comune, a province, a region, "Italia" or a zone of a city, paste Immobiliare.it search links with their filters, give ad links or ad numbers, draw a radius around a point, or name an agency, and get one row per ad with its price, price cut where the site shows one, surface in m², rooms (locali), bedrooms, bathrooms, floor, condition, heating, address with its zones, coordinates, photos, floor plans and the agency with its phone numbers. Turn on Listing details for the ad's full record (description, every fact, condominium and heating costs, energy class, surface breakdown, mortgage estimate, videos, documents and every unit of a new build project) and Agency profile for the agency's address, phones, website and opening hours. List the real estate agencies of a place from Immobiliare.it's agency directory.
No login, no cookies and no browser. For sale, for rent and auctions, in ten categories: homes, new builds, rooms for rent, whole buildings, storage, garages and parking spaces, offices, land, industrial sheds, shops.
What you can do with it
- Pull every flat for sale in a Milan zone or a Rome comune into a sheet with price, m², locali, floor and the computed price per m², for a price comparison or a house hunt.
- Read the newest ads of a search every morning on a schedule (newest first is the default order).
- Collect the ads within a few kilometres of an address with the radius search: every row delivered lies inside the circle by its own coordinates.
- Build a list of the estate agencies active in a city: the agency directory of a place, each agency's own ads, and its profile with address, phones, website, opening hours and listing and sold counts.
- Study new build projects: with Listing details each project row carries every unit with its price, surface, rooms, floor and energy class, and the project's price and surface range.
Quick start
- Open the Input tab and type a place in Places, for example
Milano,provincia di Lecce,LombardiaorNavigli, Milano. - Pick the Contract (for sale by default), the Category (homes by default) and any filters: price, surface, rooms, bedrooms, bathrooms, floor, condition, energy rating, garden, terrace, lift, keywords, seller.
- Or paste one or more Immobiliare.it links into Immobiliare.it links: a search, an ad, an agency or an agency directory.
- Set Max rows per run and, for each ad's full record, turn on Listing details.
- Click Start. Download the rows as JSON, CSV or Excel, or read them through the Apify API.
What data you get
One row per ad (type: "listing") and one per agency of the agency directory or asked by number (type: "agency"), plus free rows that tell you what happened:
- one coverage row per search, agency or directory place (
type: "search", see below), - free status rows (
type: "status") for anything that was not read: a place Immobiliare.it does not know (with the candidates when several places match), a refused setting or link, an ad number that is gone (status: "not_found"), an agency profile number that does not exist (status: "agency_not_found"; an agency number asked inagenciesthat has no ads gives a coverage row with total 0), searches the run did not reach (status: "not_reached"), a stop at your maximum cost per run, - one free run summary (
type: "summary") with the rows, pages, charges and requests of the run.
Fill rates below were measured on the 328 distinct ads delivered by 22 test runs of this Actor on the Apify platform on 2026-11-01 (Milan, Rome, Bologna and a radius search around Milan centre; homes for sale and for rent, auctions, rooms for rent, offices for rent, new builds, private sellers only, one agency's ads, ads by number). 291 of the 328 ads are from agencies, 37 from private sellers. The build of that day left a private seller's street and position out; since 2026-11-06 every ad's street and position are delivered as the ad shows them, so the street and position figures below are the lower bound.
| Field | What it holds | Fill (N=328) |
|---|---|---|
id, url, title, typology | Immobiliare.it ad number, the ad's link, its title, its type (Appartamento, Villa, Ufficio) | 100% |
contract, category | sale or rent, and the category (homes, newBuilds, rooms, offices, ...) | 100% |
price, priceText | price in euros (a monthly rent for rentals, a project's cheapest unit), and the text as shown | 95.7% (price; empty when the price is on request) |
previousPrice, priceDropPercent | the price before the last cut and the cut in percent, when the site shows one | rare: 2 of 328 here, 48 of 2,270 search items in the build's tests |
surfaceSqm, pricePerSqmComputed | surface in m², and price per m² computed from the two | 99.1%, 94.8% |
rooms, bedrooms, bathrooms | rooms (locali) as shown ("2", "5+", a project's "2-4"), bedrooms, bathrooms | 97.6%, 86.6%, 94.5% |
floor, lift, balcony, terrace, cellar, furnished | floor as shown ("T" ground floor, "R" raised, a number) and the flags the ad states | 95.1% (floor), flags by ad |
condition, heating, features | condition, heating and the ad's feature list, as the site writes them | 90.2%, 89.6%, 90.9% |
address.city, address.province, address.region, address.macrozone, address.microzone | comune, province, region and the zones of the city | 100% (city, province, region), 94.8% (macrozone) |
address.street, address.postcode | street and postcode where the advertiser publishes them | 84.5%, 79.9% (agency ads: 95.2% street) |
latitude, longitude, locationPrecision, geohash | position and whether it is exact or approximate | 83.2% (agency ads: 93.8%) |
photos, photoCount, coverPhoto | every photo with its room label | 99.4% |
floorPlans | floor plans | 72.6% |
advertiser | agency (number, name, logo, phones, profile link) or private | 100% (agency phones: 289 of 291 agency ads) |
createdAt, updatedAt | when the ad was published and last changed | 100% |
isAuction, auction | auctions, with the court where the ad names one | auctions only |
search | the search that found the row: place, page, position, order and Immobiliare.it's total | 100% |
Why some figures are lower: price is empty only where the ad says "Prezzo su richiesta" (14 of 14 empty prices); the measured runs left a private seller's street and position out (37 of the 328 ads; delivered since 2026-11-06), and some agencies publish no street or position; bedrooms are missing on offices (25 of 25) and on some homes.
Listing details (the add-on, details, with detailsStatus: "read"): description, caption, reference, every fact row in facts (with condition, availability, kitchen, garden, parking, concierge, heatingText, airConditioning, buildingFloors, yearBuilt as their own fields), costs (condominium and heating costs, deposit, as the record lists them), energy (class, consumption text, kWh/m² where the record gives a figure, every rating), surfaceTotals and surfaceBreakdown, featureTags, pricePerSqmText, mortgage (amount, monthly payment, rate, years), videos, virtualTourUrl, roomPlanViewerUrl, documents, externalLinks, and for a new build project workProgress, units, unitsPriceRange and unitsSurfaceRange. Measured on the 11 records of the same runs: description, facts and building floors 11 of 11, energy class 9, year built, costs and surface breakdown 8, videos 5, virtual tour 4, project units 3 (every project). The build's tests read 150 records of Rome rentals: energy class with a kWh/m² figure on 99, videos on 29, a virtual tour on 10.
Agency rows (type: "agency", from agencyDirectoryPlaces, a pasted directory link or agencyProfiles), measured on 22 agencies: name, logo, yearsOnPortal 22 of 22, plan, featuredAds, bannerImage 21 of 22, with directory (place, position, how many the place lists).
Agency profile (the add-on, agencyProfile, once per agency per run, on listing rows and agency rows), measured on 13 profiles: address, phones, yearsOnPortal, listingsCount, soldCount 13 of 13, openingHours and description 12, website 11, association 10, plus city, province, latitude, longitude, logo, isBuilder and profileUrl.
The coverage row: was the search read to its end?
Every search (and every agency and directory place) ends with one free row that says how far it got (from the prefilled run, shortened):
{"type": "search","searchKey": "s0d72e3e9c2416c70","kind": "place","label": "location 1","place": "Milano (MI)","contract": "sale","category": "homes","filters": {},"sort": "newest","sellerType": "any","total": 19096,"met": 20,"delivered": 20,"pagesRead": 1,"pagesFailed": 0,"skippedFree": {},"repeats": 0,"beyondCaps": 0,"withheldByChargeLimit": 0,"complete": false,"resumeSkipItems": 20,"stoppedBy": "max_items"}
total is Immobiliare.it's own count, met the distinct ads the run saw, delivered the rows you got. complete is true only when every page was read, nothing failed, no cap or cost limit stopped the walk, and the ads met reach Immobiliare.it's total. When it is false, stoppedBy says why (max_items, max_items_per_search, max_pages, charge_limit, page_failed, source_total_not_reached, source_refused) and resumeSkipItems says where to continue. skippedFree counts the ads a check left out free, by reason (for example outside_area on a radius search).
Example listing row (an agency's ad, shortened)
{"type": "listing","id": "134286737","url": "https://www.immobiliare.it/annunci/134286737/","title": "Appartamento","contract": "sale","category": { "id": 1, "key": "homes", "name": "Residenziale" },"typology": { "id": 4, "name": "Appartamento" },"price": 378000,"priceText": "€ 378.000","currency": "EUR","previousPrice": null,"priceDropPercent": null,"pricePerSqmComputed": 6750,"surfaceSqm": 56,"rooms": "2","bedrooms": 1,"bathrooms": "1","floor": "1","lift": true,"balcony": true,"condition": "Nuovo / In costruzione","heating": "Centralizzato","features": ["cancello elettrico", "fibra ottica", "videocitofono", "porta blindata", "balcone"],"visibility": "sky","address": {"street": "Via Giovanni Antonio Amadeo, 24","postcode": "20133","city": "Milano","province": "Milano","provinceCode": "MI","region": "Lombardia","country": "Italia","macrozone": "Città Studi, Susa","microzone": "Città Studi"},"latitude": 45.4708,"longitude": 9.2328,"locationPrecision": "exact_location","photos": [{ "url": "https://pwm.im-cdn.it/image/2045736443/xxl.jpg", "thumbnail": "https://pwm.im-cdn.it/image/2045736443/m-c.jpg", "label": "Salone" }],"photoCount": 11,"isPrivate": false,"advertiser": {"type": "agency","agencyId": 44797,"name": "Rclass Luxury Real Estate | Milano","phones": [{ "type": "vTel1", "number": "+390289741117" }],"profileUrl": "https://www.immobiliare.it/agenzie-immobiliari/44797/"},"createdAt": "2026-10-31T08:28:56.000Z","search": { "kind": "place", "label": "location 1", "place": "Milano (MI)", "page": 1, "total": 19096, "position": 1, "sort": "newest" },"scrapedAt": "2026-11-01T02:58:01.998Z"}
With Listing details on, the same ad also carries (shortened):
{"detailsStatus": "read","details": {"caption": "BILOCALE RISTRUTTURATO E MAI ABITATO CON BALCONE","availability": "libero","buildingFloors": "8 piani","kitchen": "Cucina a vista","concierge": "Portiere mezza giornata","heatingText": "Centralizzato, a pavimento, alimentato a gas","yearBuilt": 1960,"pricePerSqmText": "6.750 €/m²","costs": [{ "label": "Spese condominio", "value": "€ 120/mese" }],"energy": { "class": "D", "consumptionText": "≥ 3,51 kWh/m² anno", "kwhPerSqmYear": null },"mortgage": { "amount": "€ 264.600", "monthlyPayment": "€ 1.157", "ratePercent": "3,29", "years": 30 },"documents": [{ "title": "Scarica capitolato", "url": "https://pic.im-cdn.it/file/23392553", "format": "pdf" }]}}
Example agency row (agency directory of Milan with Agency profile, shortened)
{"type": "agency","id": "188106","name": "Poliedro Immobiliare","profileUrl": "https://www.immobiliare.it/agenzie-immobiliari/188106/","yearsOnPortal": 12,"plan": "gold","featuredAds": 22,"directory": { "label": "directory place 1", "place": "Milano (MI)", "position": 1, "listed": 100 },"agencyProfile": {"name": "Poliedro Immobiliare","address": "via l.l. zamenhof 11 20136 - Milano","city": "Milano","phones": [{ "type": "vTel1", "number": "+390281260575" }, { "type": "tel1", "number": "0289415569" }],"website": null,"yearsOnPortal": 12,"association": "Fimaa","listingsCount": 23,"soldCount": 1,"openingHours": [{ "day": "Lunedì", "open": true, "periods": ["09:00 - 13:00", "14:30 - 19:00"] }],"agents": null}}
How much does it cost to scrape Immobiliare.it?
You pay per row delivered (pay per event). Prices per 1,000 events:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Listing (one ad row) | $0.69 | $0.69 | $0.68 | $0.66 |
| Listing details (add-on, only when on) | $0.92 | $0.84 | $0.76 | $0.66 |
| Results page (one page of up to 20 search results or agency listings) | $0.50 | $0.40 | $0.40 | $0.30 |
| Agency profile (add-on, once per agency per run) | $1.40 | $1.30 | $1.20 | $1.00 |
| Agency (one agency row: directory or agency profile asked by number) | $1.19 | $1.09 | $0.99 | $0.85 |
Each run also pays a one time Actor start of $0.0075 on every plan. Platinum and Diamond plans pay the Gold price. The Store pricing card shows these same prices per 1,000 events: "$0.69 / 1,000" on the Listing row means one ad costs less than a tenth of a cent, and "$1.40 / 1,000" on the Agency profile row means one agency profile costs 0.14 cents.
Worked examples (event charges; add the one time Actor start to each run):
- The prefilled run (20 homes for sale in Milan): 20 listings and one results page, $0.0143 on the Free plan, $0.0135 on Gold.
- 1,000 listings of a search (50 pages of 20): $0.715 on Free, $0.675 on Gold.
- With Listing details on, add $0.92 (Free) to $0.66 (Gold) per 1,000 records read: $1.635 on Free, $1.335 on Gold for 1,000 ads with their records.
- 100 agencies of a city's agency directory: $0.119 on Free, $0.085 on Gold; with Agency profile on, $0.259 on Free, $0.185 on Gold (a directory has no page fee).
- Free: repeats (an ad found by two of your searches is charged once per run), ads a filter or the radius leaves out, skipped results, a page that delivered no charged listing, a record that could not be read (the ad's row is delivered and charged as a Listing, its details are not charged), an agency profile that could not be read, gone ads and unknown agencies asked by number, and every coverage, status and summary row. A run with invalid input charges only the start fee.
- Set a maximum cost per run in the Apify Console: the run stops at the first row it cannot pay, delivers no row unpaid and says so on a free status row.
How fast is it?
A run reads Immobiliare.it through three Italian addresses side by side, each at about one request every 2 seconds (a faster pace on one address was refused by the site in the build's tests):
- Search rows: 20 per request. On the platform 1,000 Rome rows took 70 seconds (51 requests), about 50,000 rows an hour.
- Listing details and Agency profile: one request per record or profile. On the platform 200 rows with Listing details took 295 seconds, about 2,400 an hour. Plan big detail runs accordingly, or read the search rows first and the records of the ads you keep.
- Ads by number without Listing details: 30 per request.
- If the site's bot protection turns one address away, the run goes on on the other two (it never draws a new address after a refusal); in the build's 200 record test one address was turned away and the run delivered all 200.
For large runs raise the run timeout in the run options; a run that times out keeps every row it delivered.
Input
| Setting | What it does |
|---|---|
locations | Places as Immobiliare.it writes them: a comune (Milano, San Giovanni (PC) with its province code when several share the name), a province (provincia di Milano, or its code in capitals: MI), a region (Lombardia), Italia, or a zone of a city (Navigli, Milano). Codes from the candidates of a free row also work (comune:8042, zona:10057). A name that matches several places, or none, is a free row with the candidates. |
startUrls | Links copied from immobiliare.it: a search (/vendita-case/milano/?prezzoMassimo=300000, with its filters, order and page), an ad (/annunci/<number>/), an agency (/agenzie-immobiliari/<number>/), an agency directory (/agenzie-immobiliari/<city>/), or a remote text or CSV file of links (at most 10 files a run, 10,000 links a file; a larger file is a free row, never cut). A setting you give replaces the same filter of a search link. A link the Actor cannot send as the site means it is a free row. |
listingIds | Ad numbers (49720693) or ad links. A gone ad is a free not_found row. |
agencies | Agencies whose own ads to read, by agency link or number. Filters do not apply to them. |
agencyProfiles | Agencies to deliver as one Agency row each with their profile, by agency link or number. |
agencyDirectoryPlaces | Places whose agencies to list from Immobiliare.it's agency directory, written like locations. |
latitude, longitude, radiusKm | A radius search around a point in Italy, 0.1 to 100 km; all three go together. |
contract, category, typologies | For sale (default), for rent or auctions; one of ten categories (homes by default; rooms are for rent only and new builds for sale only, as on the site); property types inside homes or new builds. Each one you set replaces a search link's own (a category you set drops the link's property type); property types you set need a link of their category. |
priceMin, priceMax, surfaceMin, surfaceMax, roomsMin, roomsMax, bedroomsMin, bedroomsMax | Ranges in euros (a monthly rent for rentals), m², rooms (1 to 5, 5 means 5 or more) and bedrooms. |
bathrooms, floorBands, condition, energyRating, ownershipType, investmentOnly | Bathrooms, floor bands (ground, intermediate, top), condition, energy band, kind of ownership (bare ownership, usufruct, ...), properties sold with a tenant. |
garageTypes, gardenTypes, heatingTypes, terrace, balcony, lift, cellar, pool, furnished, virtualTourOnly, excludeAuctions | Must haves. A switch set to false drops that filter from a pasted link. |
keywords | Words the ad must contain, as the site's own keyword filter reads them (terrazzo, attico). |
sellerType | Any, private sellers only, or agencies only (read in the site's own private first or agencies first order, so not with sort or a link's own order). Set to any, it also drops a link's private sellers switch. |
roomTypes, roommatesGender, roommatesOccupation, petsAllowed, smokersAllowed | Rooms for rent: single, double, triple or shared; who lives in the flat; pets and smokers. |
sort | newest (default), relevance, oldest, priceLow, priceHigh, biggest, smallest, mostRooms, fewestRooms, highestFloor, lowestFloor, biggestPriceCut, pricePerSqmLow, pricePerSqmHigh. Immobiliare.it orders newest first by publication day, paid placements first within a day. |
maxItems, maxItemsPerSearch, maxPagesPerSearch, skipItems | Caps for the run and per search, and results to skip at the top of each search (free; not with the radius search, which is read as map cells). To continue a capped search, set skipItems to the resumeSkipItems value of its coverage row. |
includeDetails, includeAgencyProfile | The Listing details and Agency profile add-ons. |
includeRawRecord | Also deliver the Immobiliare.it app's own JSON of each ad in raw (no extra charge; on every ad, private sellers' ads included). |
photosWithoutWatermark | Give each photo link on the image host's copy without the Immobiliare.it watermark (an advertiser's own mark stays). |
includePersonalData | Has no effect: all public data is always delivered (kept so saved inputs keep working; see below). |
language | Language of the labels and fact values in records: it (default), es, pt, el, de, fr. Ad texts stay as the advertiser wrote them. |
outputFields | Keep only these fields of each row (price, address.city); type, id and the search keys always stay, and paid add-ons stay whole. |
proxyConfiguration | Apify's Italian residential proxy by default (at most three addresses a run), or up to three http proxy links of your own. |
Filters apply to every place, radius and search link of the run. A filter Immobiliare.it's own form does not offer for the category refuses the run before any request, so it charges only the start fee (for a pasted link, that link is a free row and the run goes on). Filters cannot be combined with agencies, agencyProfiles or agencyDirectoryPlaces in the same run.
Input examples
The prefill (20 homes for sale in Milan, newest first):
{"locations": ["Milano"],"maxItems": 20,"proxyConfiguration": { "useApifyProxy": true }}
A place search with filters: two and three room flats for rent in two Milan zones, with their records:
{"locations": ["Navigli, Milano", "Affori, Milano"],"contract": "rent","typologies": ["apartment"],"roomsMin": 2,"roomsMax": 3,"priceMax": 1800,"balcony": true,"includeDetails": true,"maxItems": 200}
A pasted website search link, with its own filters kept:
{"startUrls": [{ "url": "https://www.immobiliare.it/vendita-case/milano/?prezzoMassimo=300000" }],"maxItems": 100}
Ads by number:
{"listingIds": ["49720693", "https://www.immobiliare.it/annunci/134286737/"],"includeDetails": true}
A radius search, 2 km around Milan's cathedral:
{"latitude": 45.4642,"longitude": 9.19,"radiusKm": 2,"contract": "sale","maxItems": 100}
An agency's ads with its profile:
{"agencies": ["https://www.immobiliare.it/agenzie-immobiliari/44797/"],"includeAgencyProfile": true,"maxItems": 100}
The agency directory of a city, with each agency's profile:
{"agencyDirectoryPlaces": ["Lecce"],"includeAgencyProfile": true,"maxItems": 50}
Personal data
Every field Immobiliare.it shows publicly is delivered on every run: a private seller's street, exact coordinates and geohash, the links a private seller adds (videos, virtual tour, room plan viewer, documents, outside links), the record's contact person and the raw record of their ads, an agent's name and photo, and an agency profile's list of agents. Free texts such as descriptions come as the advertiser wrote them. The includePersonalData setting has no effect and is kept only so saved inputs keep working. You are responsible for using personal data lawfully (GDPR included).
What this Actor does NOT do
- No monitoring mode: no "only new since the last run", no price change or removal tracking, no alerts. Run it on a schedule with the default newest first order and compare runs in your own sheet. The Actor keeps no memory between runs, so an ad found again by a later run is charged again.
- No price history and no date of a price cut: Immobiliare.it serves the previous price and the cut only, and only on some ads.
- No agent's own phone and no e-mail address: Immobiliare.it serves the agency's phone numbers only (always delivered on agency ads) and no e-mail; the Actor does not visit agencies' own websites. The agency's website link comes with Agency profile.
- No cadastral data and no view counters: Immobiliare.it's records carry none.
- No more than 100 agencies per place in the agency directory: Immobiliare.it lists at most 100 for a place. A place that reaches 100 says so on its coverage row; ask the city's zones ("Navigli, Milano") for the rest.
- No faster pace, more parallel requests or retries you can set, and no outside unblocking service: the Actor reads through at most three Italian residential addresses a run, side by side, at the pace Immobiliare.it tolerates, and never replaces an address the site turned away. In the rare case the site's bot protection turns away all three, the run stops and says so (
source_refused). - No endless unpaid work: requests that bring no charged row (places that find nothing, made up ad numbers) are covered only by a small allowance. In the build's tests a run of 100 town searches that all found nothing read 14 of them, and a run of 200 made up ad numbers with Listing details read 29, then stopped with a free
not_reachedrow saying how many entries were left; the run charged only its start. Searches that deliver rows raise the allowance as they go. - No rows Immobiliare.it does not show: an empty field means the ad does not carry it, never a guessed value.
- No map page links (
/ricerca-mappa/): use the radius settings or a list search link instead. - No filters on agencies, agency profiles or the agency directory, and no
sorttogether withsellerType: such inputs are refused before any request (only the start fee is charged). - No currency conversion and no translation of ad texts: prices stay in euros, and only the record's labels follow
language. - No other portals of the Immobiliare.it group and no other countries: Italy only.
FAQ
Does Immobiliare.it have an API for listings?
Immobiliare.it's own API pages are for its Insights market data and for agencies that sync their ads to the portal; we found no public API that returns the ads of a search. This Actor works like an API: send a JSON input through the Apify API and read the ads as JSON, CSV or Excel.
Is it legal to scrape Immobiliare.it?
This Actor reads only what Immobiliare.it shows without a login. Immobiliare.it's terms of use forbid any commercial exploitation of the information on its site and app; whether and how you use the data is your decision.
How do I get new Immobiliare.it listings as soon as they are posted?
Keep the default order, newest first, set a small maxItems and run the Actor on an Apify schedule: each run returns the newest ads of your searches. The Actor keeps no memory between runs, so an ad still among the newest is delivered and charged again by the next run.
How does it read Immobiliare.it without getting blocked?
It reads Immobiliare.it's own app data through Apify's Italian residential proxy, three addresses side by side at a steady pace of about one request every 2 seconds each, and never replaces an address the site turned away. If Immobiliare.it's bot protection turns away all three, the run stops there: the free summary row and the run's status message say so (stoppedBy: "source_refused"), and searches it did not reach are not charged.
How do I get a list of the real estate agencies in an Italian city?
Put the city in agencyDirectoryPlaces (or paste its /agenzie-immobiliari/<city>/ link): each agency Immobiliare.it lists there is one Agency row with name, logo, years on the site, plan and featured ads, and Agency profile adds address, phones, website and opening hours. Immobiliare.it lists at most 100 agencies a place, so for a big city also ask its zones ("Navigli, Milano").
Why does this Actor run with limited permissions?
It needs nothing beyond its own run storage (the dataset it writes and its own key value store), so it runs with Apify's limited permissions: it cannot read or change anything else in your account.
Use it through the API
curl -X POST "https://api.apify.com/v2/acts/automation_craft~immobiliare-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"locations": ["Milano"], "maxItems": 100}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_TOKEN>' });const run = await client.actor('automation_craft/immobiliare-scraper').call({ locations: ['Roma'], contract: 'rent', maxItems: 200 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.filter((x) => x.type === 'listing').length);
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("automation_craft/immobiliare-scraper").call(run_input={"listingIds": ["49720693"], "includeDetails": True})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("title"), item.get("price"))
Changelog
- 0.1 (2026-11-01): first version.
More data tools by Automation Craft
- Idealista Scraper: Spain, Italy, Portugal Homes
- ImmoScout24 Scraper: Rentals, Sales and Agencies
- SeLoger Scraper: Listings, Prices and Agencies
- Immowelt Scraper: Rents, Prices and Energy Data
- Bien'ici Scraper: France Real Estate Ads & DPE
- PAP Scraper: pap.fr Real Estate Ads & Phones
- FINN Eiendom Scraper: Norway Homes and Rentals
- Zillow Scraper: Homes for Sale, Rent and Sold
- Redfin Scraper: Homes for Sale, Sold Comps, Agents