Subito.it Real Estate Scraper (Italy)
Pricing
Pay per usage
Subito.it Real Estate Scraper (Italy)
Scrape property listings from Subito.it: price, location, surface, rooms, photos and seller details. Export to JSON, CSV or Excel.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Francesco Melis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🏠 Subito.it Real Estate Scraper
Turn Subito.it property ads into clean, structured data in a few clicks. Paste a search link, press Start, and get prices, locations, surfaces, rooms, photos and seller details, ready to export.
🇮🇹 Built for the Italian market: apartments, villas, land, garages and commercial premises for sale.
✨ Why use this Actor?
- ⚡ Zero setup: paste a Subito.it search URL and run. No code needed.
- 🧹 Clean data: numbers are real numbers (
197000, not"197.000 €"), missing values arenull. - 🔎 Rich details: 35+ fields per listing, from price and surface to energy class and seller type.
- 🖼️ Photos included: full gallery URLs for every ad.
- 🧭 Any search you like: filter on Subito.it first (area, price, keywords), then copy the link.
- 📦 Export anywhere: JSON, CSV, Excel or XML, or use the Apify API and integrations.
🎯 What can you do with it?
| 📈 Market analysis | 🏢 Lead research | 🤖 Data projects |
|---|---|---|
| Track prices by area and property type | Find listings from private sellers and agencies | Feed dashboards and valuation models |
| Spot new listings as they appear | Screen investment opportunities | Build your own property database |
📋 What data do you get?
| Group | Fields |
|---|---|
| 🏷️ Basics | url, title, description, price, category, property_type, publication_date, scraped_at |
| 🛋️ Features | state, surface, rooms, bathrooms, floor, parking, furnished, elevator, balcony, terrace, garden, top_floor, air_conditioning, heating, energy_class, immediate_availability, cin |
| 📍 Location | city, province, region, address |
| 👤 Seller | advertiser, advertiser_type, advertiser_address, advertiser_website, advertiser_online_ads, phone |
| 🖼️ Media | images (list of photo URLs) |
Formats at a glance
- 💶
priceis a number in euros. - 📐
surfaceis in square meters. - 🕒
publication_dateis the date shown on the ad, in Italian local time. - 🧾
scraped_atis an ISO timestamp in UTC. - ➖ Fields the ad does not provide are
null.
🚀 How to use it
- 🔗 Copy a search link from Subito.it (for example, apartments for sale in Verona).
- 📥 Paste it in Start URLs. You can add several searches, or single ads (links ending in
.htm). - 🔢 Set the maximum number of listings.
- ▶️ Click Start, then download your dataset as JSON, CSV or Excel.
🔗 Search link examples
| What you want | Example link |
|---|---|
| Apartments in Verona province | https://www.subito.it/annunci-veneto/vendita/appartamenti/verona/ |
| Villas and houses | https://www.subito.it/annunci-veneto/vendita/ville-singole-e-a-schiera/verona/ |
| Land and farmhouses | https://www.subito.it/annunci-veneto/vendita/terreni-e-rustici/verona/ |
| Offices and commercial premises | https://www.subito.it/annunci-veneto/vendita/uffici-locali-commerciali/verona/ |
| All real estate in a region | https://www.subito.it/annunci-veneto/vendita/immobili/ |
💡 Tip: apply your filters on Subito.it first (price range, private sellers, keywords), then copy the resulting link.
⚙️ Input example
{"startUrls": [{ "url": "https://www.subito.it/annunci-veneto/vendita/appartamenti/verona/" }],"maxResultItems": 100,"onlyPrivate": false,"maxConcurrency": 1,"maxRequestsPerCrawl": 300,"proxyConfiguration": { "useApifyProxy": true }}
🎛️ Input options
| Option | What it does |
|---|---|
startUrls | Search pages or single ads from Subito.it. |
maxResultItems | Maximum number of listings to save. Use 0 for no limit. |
onlyPrivate | Save only listings from private sellers. |
maxConcurrency | Pages downloaded in parallel. Higher is faster, with a higher risk of blocking. |
maxRequestsPerCrawl | Total pages the Actor may download. It also counts search pages and skipped ads, so keep it well above the number of listings you want. |
proxyConfiguration | Proxy settings. If Subito blocks requests, try residential proxies with country Italy. |
📦 Output example
{"url": "https://www.subito.it/appartamenti/bilocale-verona-664889640.htm","title": "Bilocale","price": 197000,"category": "Appartamenti","property_type": "Appartamento","state": "Buono - abitabile","surface": 65,"rooms": 2,"bathrooms": 1,"floor": "1° Piano","parking": true,"furnished": true,"balcony": true,"garden": true,"air_conditioning": true,"heating": "Autonomo","energy_class": "C","city": "Valeggio sul Mincio","province": "VR","region": "Veneto","advertiser": "arturo","advertiser_type": "Privato","images": ["https://images.sbito.it/..."],"publication_date": "2026-10-19T17:30:57","scraped_at": "2026-10-20T09:49:03.682Z"}
🔍 Data quality and known limits
We prefer an honest null to a wrong value. Please keep these points in mind:
- 🏘️ Listings covered: built and tested on real estate ads for sale. Rental ads may work but are not officially supported.
- 💶 Price: returned only when the ad shows a price in its price field. "Negotiable" ads, or ads with the price only in the description, return
null. - 📄 Page data first: when the ad page lists a feature (state, floor, rooms, bathrooms, furnished, air conditioning and so on), that value is used. When it does not, some values are inferred from the description and can occasionally be inaccurate.
- 👤 Seller type:
advertiser_typeis inferred from the page and may be less reliable when the page gives no clear signal. - 🗓️ Publication date: it is the date shown on the ad. Sellers and agencies can renew ads, so it may not be the first publication date.
- 📍 Property address: agencies sometimes publish their own office address. In that case it goes in
advertiser_addressandaddressstays empty. - 📷 Ads without photos: some ads have none, so
imagescan be an empty list. - 🧭 Search depth: Subito.it may limit how many result pages one search can reach. For large volumes, split the work into several searches (by region, province or price range).
⚡ Performance tips
- 🐢 Start with
maxConcurrencyat1, then raise it to3to5if the log shows no blocking. - 🧠 Give the Actor more memory in the run options for faster runs on large jobs.
- 🛡️ If you see many failed requests (403 or 429), switch to residential proxies with country Italy.
💳 Pricing
This Actor uses pay-per-event pricing: you pay for each listing saved to the dataset. See the Pricing tab for the current price per result.
🧪 Try a small run first (for example
maxResultItems: 10) to check the output before launching large jobs.
❓ FAQ
Can I scrape only private sellers? Yes, turn on Only private sellers. The seller type is inferred from the page, so check a sample if this filter is critical for you.
Can I scrape a single ad?
Yes. Paste the ad link (it ends in .htm) in Start URLs.
Why is price empty for some ads?
The ad does not show a price in its price field, for example when the seller writes "negotiable" or puts the price only in the description.
Why do I get fewer listings than I asked for?
Check maxRequestsPerCrawl: it also counts search pages and skipped ads. Raise it, or split your search into smaller ones.
Are phone numbers included?
Subito.it hides phone numbers behind a button, so phone is usually empty.
Can I schedule it to run every day? Yes. Use Apify Schedules to run it at the times you choose, and combine it with integrations or the API to send the data where you need it.
⚖️ Legal notice
This Actor collects publicly available data from Subito.it. You are responsible for how you use the data, including compliance with Subito.it's terms of use and with data protection laws such as the GDPR, especially when handling names or other details of private individuals. This Actor is not affiliated with or endorsed by Subito.it. This notice is general information and not legal advice.
💬 Support
Found a bug, a wrong field or a missing feature? Open a ticket in the Issues tab of this Actor page, including the run link and an example ad link, and it will be reviewed.