Casa.it Property Discovery Scraper avatar

Casa.it Property Discovery Scraper

Pricing

from $0.85 / 1,000 listings

Go to Apify Store
Casa.it Property Discovery Scraper

Casa.it Property Discovery Scraper

Discover public Casa.it property listings by location, sale or rent, and property type. Extract prices, descriptions, areas, rooms, images, agents, and URLs.

Pricing

from $0.85 / 1,000 listings

Rating

0.0

(0)

Developer

Trove Vault

Trove Vault

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Discover public Casa.it real estate listings by Italian city, sale or rent, and property type. The actor returns normalized property rows with prices, price per square meter, areas, rooms, descriptions, features, agencies, images, and listing URLs, so you can compare market supply without manually collecting search result links.

Why Use This Actor

Casa.it is one of Italy's major property portals, but its listings are designed for browsing one city at a time. This actor turns those public search and detail pages into a clean Apify dataset for:

  • tracking available apartments or houses in a target Italian city;
  • collecting comparable sale or rental listings for market research;
  • building lead lists for agencies, investors, relocation teams, and property analysts;
  • feeding TroveVault or Apify workflows that combine multiple real estate portals into one dataset.

The input is intentionally simple. You provide the market and business filters. The actor resolves Casa.it routes internally and does not ask for searchUrls.

What It Extracts

For each valid public listing, the actor can save:

  • listing identity: platform, listingId, title, url;
  • search context: operation, propertyType;
  • pricing: price, currency, priceText, pricePerM2;
  • property facts: areaM2, bedrooms, bathrooms;
  • location: address, city, country;
  • listing content: description, features;
  • seller and media: sellerName, mainImage, images;
  • workflow metadata: listedAtText, scrapedAt, runId.

Rows missing a public title, description, price text, or main image are skipped rather than saved as empty records.

Input

{
"location": "Rome",
"operation": "sale",
"propertyType": "apartment",
"maxItems": 50
}

Input Fields

FieldTypeDescription
locationstringItalian city to discover. Use English names where common, for example Rome, Milan, Turin, Naples, Florence, Bologna, Palermo, or Genoa.
operationselectsale or rent.
propertyTypeselectany, apartment, house, land, or commercial.
maxItemsintegerMaximum number of valid listings to save. Use small values for tests and larger values for market discovery.
datasetIdstringOptional Apify dataset ID. When supplied, rows are appended there as well as to the run's default dataset.
runIdstringOptional workflow ID copied into each output row and run summary.

Stable city examples include Rome, Milan, Turin, Naples, Florence, Bologna, Palermo, Genoa, Venice, Verona, Padua, Bari, and Catania. City-level discovery is used because it is more stable than broad country-level discovery for daily Store tests.

Output Example

{
"platform": "Casa.it",
"listingId": "52817249",
"title": "Trilocale in Vendita in Via Prospero Santacroce 154 a Roma - 95mq - Casa.it",
"url": "https://www.casa.it/immobili/52817249/",
"operation": "sale",
"propertyType": "apartment",
"price": 298000,
"currency": "EUR",
"priceText": "EUR 298000",
"pricePerM2": 3137,
"areaM2": 95,
"bedrooms": 2,
"bathrooms": 1,
"address": "Via Prospero Santacroce 154, Roma, RM",
"city": "Roma",
"country": "Italy",
"description": "Three-room apartment for sale...",
"features": ["95 m2", "2 bedrooms", "1 bathrooms"],
"sellerName": "ASSO PROGRAMMA CASA SRL U.",
"mainImage": "https://images-1.casa.it/...",
"images": ["https://images-1.casa.it/..."],
"scrapedAt": "2026-07-29T11:28:20.470Z",
"runId": "optional-parent-run"
}

pricePerM2 is calculated only when both numeric price and areaM2 are visible. If Casa.it shows a private negotiation price, the actor keeps priceText as Price on request and omits numeric price fields.

API Usage

curl -X POST "https://api.apify.com/v2/acts/trovevault~casa-it-property-discovery-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"location":"Rome","operation":"sale","propertyType":"apartment","maxItems":50}'

After the run finishes, download the dataset items:

curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true" \
-H "Authorization: Bearer $APIFY_TOKEN"

Practical Workflows

  • Market research: collect current sale listings in Rome, Milan, or Naples and compare prices per square meter.
  • Rental monitoring: run scheduled rent discovery for target cities and append rows to a shared dataset.
  • Lead generation: collect listing URLs, agencies, descriptions, and images for sales outreach or enrichment.
  • Portfolio coverage: combine this actor with other TroveVault real estate discovery actors to compare supply across countries.

Troubleshooting

If the actor saves fewer rows than maxItems, the most common reasons are duplicate listings, listings filtered out by propertyType, or pages missing required public fields such as a usable main image.

If a city is rejected, use a supported city name in English where possible. For example, use Rome instead of a full search URL.

If pricePerM2 is missing, Casa.it did not expose either a numeric price or a usable area for that listing.

Limitations

  • This actor discovers listings from public Casa.it pages. It does not log in or access private user data.
  • Country-wide discovery is not exposed because city routes are more reliable.
  • Listing availability can change quickly on real estate portals.
  • Some listings use private negotiation pricing. Those rows preserve priceText but omit numeric price calculations.
  • The actor normalizes output fields in English, while some source labels remain visible inside features.

FAQ

Can I pass Casa.it search result URLs?
No. This is a discovery actor. Use location, operation, and propertyType.

Does it support sale and rent?
Yes. Use operation: "sale" or operation: "rent".

Can it append to my own dataset?
Yes. Pass datasetId to append every saved row to a shared Apify dataset.

Is this suitable for scheduled runs?
Yes. Keep the default input small for smoke tests, or schedule larger runs for monitored cities.

Changelog

  • 0.1 - Initial TroveVault discovery actor for Casa.it public property listings.