casa.it Scraper — Italian Real Estate Listings & Prices avatar

casa.it Scraper — Italian Real Estate Listings & Prices

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
casa.it Scraper — Italian Real Estate Listings & Prices

casa.it Scraper — Italian Real Estate Listings & Prices

Scrape real estate listings, prices, and property details from casa.it, one of Italy's leading property portals. Supports sale and rent, filtering by city, property category, and price range.

Pricing

from $2.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

casa.it Scraper

Extract real estate listings from casa.it — one of Italy's leading property portals — with prices, surface area, energy class, agency details, and GPS coordinates.

What is casa.it Scraper?

casa.it Scraper taps into one of Italy's most-used real estate platforms and delivers structured listing data straight from casa.it's own search results. Italy's property market spans everything from Milan apartments to Tuscan countryside homes, and casa.it is where thousands of agencies list their inventory. This scraper gives you programmatic access to that data.

  • Analyze Italian city markets: extract asking prices per square meter across Roma, Milano, Napoli, and every other Italian comune to track where prices are moving
  • Monitor commercial and land listings: beyond residential, casa.it also carries offices, warehouses, shops, and land — all covered by this scraper's property category filter
  • Automate relocation research: track new listings the moment they appear, filtered by city, transaction type, and price
  • Build investment dashboards: combine price, surface, energy class, and GPS data to visualize the Italian property market geographically
  • Feed comparison and CRM tools: structured data with rooms, bathrooms, surface, and agency contacts makes it easy to enrich downstream systems

The scraper reads casa.it's own server-rendered search state directly — no manual DOM scraping of unstable CSS selectors — making the extraction resilient to front-end redesigns.

What data does casa.it Scraper extract?

  • Title — property listing title (e.g., "Quadrilocale in Via dei Basaldella, Acilia")
  • Price — asking price (sale) or monthly rent (rent) in EUR
  • Property type — casa.it's own category (appartamento, villa, negozio-locale-commerciale, etc.)
  • Listing type — sale, rent, or auction
  • Address, city, province — location details
  • GPS coordinates — latitude and longitude for mapping
  • Rooms and bathrooms
  • Living surface in square meters
  • Energy class — Italian EPC rating (A4 to G)
  • Floor — e.g., "3° piano"
  • All photos — full list of high-resolution image URLs
  • Description — full property description text
  • Agency name and agency profile URL
  • Listing ID and direct URL to the listing on casa.it

How to scrape casa.it data

Configure the scraper through the Apify Console or via the API. The city input is the only required decision — leave everything else at defaults for a straightforward search.

Input options

InputTypeDefaultDescription
CitystringRomaItalian city or town (e.g., Roma, Milano, Napoli)
Transaction Typevendita / affittovenditaSale or rent
Property CategoryselectresidenzialeResidential, commercial, land, garage/parking, offices, warehouses, buildings, shops
Min PriceintegerMinimum price in EUR (applied client-side after fetch)
Max PriceintegerMaximum price in EUR (applied client-side after fetch)
Max Resultsinteger100Maximum listings to return (1 – 180, see Limitations)
Bright Data API KeystringOptional: use your own Bright Data Web Unlocker key
Proxy ConfigurationobjectLegacy field, kept for schema compatibility (unused — see below)

Tips for best results

  • Combine city + property category for targeted datasets — e.g., commercial listings for rent in Milano
  • Price filters are approximate by design. casa.it's search UI doesn't expose a working server-side price query parameter, so the scraper fetches full pages and filters client-side. If you need a large filtered dataset, request more maxResults than you need and let the filter trim it down
  • 180 is the practical ceiling per search. casa.it's robots.txt only allows automated access to pages 1 through 9 (20 listings per page). For bigger datasets, run multiple searches split by property category or a narrower city/district

Output

Results are stored in a dataset you can download as JSON, CSV, Excel, XML, or HTML from the Apify Console.

JSON example

{
"title": "Quadrilocale in Via dei Basaldella, Acilia",
"price": 219000,
"currency": "EUR",
"url": "https://www.casa.it/immobili/54404734/",
"scrapedAt": "2026-07-14T20:50:00.000Z",
"listingType": "sale",
"listingId": "54404734",
"propertyType": "appartamento",
"address": "Via dei Basaldella",
"city": "Roma",
"province": "Roma",
"latitude": 41.772326,
"longitude": 12.351073,
"rooms": 4,
"bathrooms": 2,
"surface": 100,
"epcScore": "C",
"floor": "3° piano",
"imageUrl": "https://images-1.casa.it/800x600/listing/0/55/7c/11/819620889.jpg",
"imageUrls": [
"https://images-1.casa.it/800x600/listing/0/55/7c/11/819620889.jpg",
"https://images-1.casa.it/800x600/listing/0/de/e2/7d/819620911.jpg"
],
"description": "ACILIA - VIA DEI BASALDELLA QUADRILOCALE RISTRUTTURATO con ASCENSORE, POSTO AUTO ESCLUSIVO...",
"agencyName": "RE/MAX AUREA",
"agencyUrl": "https://www.casa.it/agenzie/remax-aurea-25332/"
}

How much does it cost to scrape casa.it?

casa.it sits behind DataDome bot protection, so requests go through a managed Web Unlocker rather than a plain HTTP request. Each search page returns 20 listings in a single fetch (no separate detail-page requests needed), which keeps the per-listing cost low relative to other anti-bot-protected real estate sites.

ScenarioEst. items per requestNotes
20 listings1 page fetch~10-20 seconds
100 listings5 page fetches~1 min
180 listings (max per search)9 page fetches~2 min

Can I integrate casa.it Scraper with other apps?

Yes. casa.it Scraper connects with any tool through Apify integrations:

  • Google Sheets — export Italian property data to a live spreadsheet, updated on every run
  • Slack / Email — get instant alerts when new listings appear in your target price range
  • Zapier / Make — build automation workflows triggered by new listings
  • Airtable — create a filterable Italian property database with photos and GPS pins
  • REST API — call the scraper on demand from any programming language
  • Webhooks — receive a callback when scraping finishes to trigger downstream processing

Can I use casa.it Scraper as an API?

Yes. Use the Apify API to run casa.it Scraper programmatically.

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/casa-it-scraper").call(run_input={
"city": "Milano",
"transactionType": "vendita",
"propertyType": "residenziale",
"maxPrice": 400000,
"maxResults": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['title']} — €{item['price']:,}{item.get('surface', '?')} m²")

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('studio-amba/casa-it-scraper').call({
city: 'Napoli',
transactionType: 'affitto',
maxResults: 60,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(`${item.title} — €${item.price.toLocaleString()}`));

Check the API tab for full documentation.

FAQ

What is casa.it?

casa.it is one of Italy's leading real estate portals, listing residential, commercial, and land properties for sale and rent across the country. Thousands of Italian real estate agencies publish their inventory on the platform.

How does casa.it Scraper work?

The scraper fetches casa.it search result pages and reads the structured listing data embedded in the page's own server-side rendering state — the same data the site's React front end uses to render the results grid. This avoids fragile CSS-selector scraping and captures fields (GPS coordinates, energy class, agency IDs) that would otherwise require a separate detail-page request per listing.

Why does the scraper use Bright Data instead of a regular proxy?

casa.it is protected by DataDome, a bot-detection service that returns a CAPTCHA challenge page to plain HTTP requests and standard datacenter/residential proxies (confirmed: direct requests return HTTP 403 with a DataDome challenge body). The scraper routes requests through Bright Data's Web Unlocker to get past this and receive the real page content.

This scraper extracts publicly available property listing data that casa.it displays to all visitors. The data is factual real estate information (prices, addresses, property characteristics) published by agencies. Use the data responsibly and in compliance with Italian and EU regulations.

casa.it's robots.txt explicitly allows automated fetching of search result pages 1 through 9 only (Allow: *?page=2$ through *?page=9$, with everything else under *?page=* disallowed). At 20 listings per page, that's a hard ceiling of 180 listings for any single city + category + transaction-type combination. Run separate searches (different cities, or split residential vs. commercial) to build a larger dataset.

Why don't min/max price filters change how many pages get fetched?

casa.it's own price filter isn't wired to a documented, working query parameter — testing confirmed that adding a price parameter to the URL gets recorded in the page's internal filter state but does not change the actual search results returned by the backend. To keep the filter reliable, the scraper fetches the requested pages normally and filters listings by price after parsing, rather than trusting an unverified URL parameter.

Limitations

  • Italy only. casa.it exclusively covers the Italian property market.
  • 180 listings per search. See the FAQ above — this is a robots.txt-enforced ceiling, not an arbitrary choice. Split large jobs across multiple city/category runs.
  • No historical pricing. The scraper captures the current asking price at the time of scraping. Schedule recurring runs and compare datasets to track price changes.
  • Postal code not available. casa.it's search results don't include a postal code field for the listing itself (only for the listing agency's own office address), so postalCode is omitted from output.
  • Price filters are client-side. See the FAQ above — min/max price trims the fetched pages rather than querying a smaller result set server-side.
  • Photo URLs point to casa.it's CDN and may expire after the listing is removed. Download images promptly if you need them long-term.

Other real estate scrapers

Build a European property dataset by combining casa.it Scraper with these actors:

Your feedback

Have a question, found a bug, or want a new feature? Open an issue on the Issues tab. We actively maintain this scraper and respond to all reports.

Need this data on a schedule, or a custom version?

We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API — maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.

See studioamba.dev/services or email hello@studioamba.dev for a free data sample. We maintain 300+ European web scrapers and answer within one business day.