Subito Real Estate Scraper
Pricing
from $2.00 / 1,000 listings
Pricing
from $2.00 / 1,000 listings
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
Subito Real Estate Scraper: Italian property listings, prices, surface, energy class and seller phone numbers
Subito Real Estate Scraper turns Subito.it property searches into a spreadsheet. Subito is Italy's largest classifieds site, and its Immobili section covers apartments, villas, rooms, land, garages, lofts, holiday homes and offices. It is built for property investors, agents, market researchers and lead-generation teams. Each listing comes with price, surface in mq, rooms, bathrooms, floor, energy class, heating, location, images and seller type. Seller phone numbers and agency details are optional.
- Real estate fields, not just title and price. Price,
surface,rooms,bathrooms,floor,energy_class,heating,building_condition,elevator,balcony,garden,parkingand more are separate fields infeatures. - All 8 property types. Apartments, rooms and shared rooms, villas, land and rustic properties, garages, lofts and attics, holiday homes, and offices and commercial spaces. Category-specific fields such as
cin(holiday rentals),room_typeandoffice_typeare included. - Search your way. Paste Subito search or listing URLs (city and comune pages included), or search by comune, province or region and keyword with filters for sale or rent, price, surface, rooms, bathrooms, floor, energy class, building condition, elevator, balcony, garden and seller type.
- No duplicates. A listing found by several URLs, keywords or locations is saved and charged once per run.
- Optional seller enrichment. Add the seller's phone number, agency profile (address, website, listing count) and account history (badges, total ads, first ad date). Each is switched off by default, so you only pay for what you ask for.
- Pay per listing, no login. From $2 to $3 per 1,000 listings depending on your Apify plan. No Subito account or API key. Export to JSON, CSV, Excel or Google Sheets.
Scope: This actor covers the real estate section only. For general Subito categories use Subito Scraper, and for cars and motorbikes use Subito Automotive Scraper.
What can you do with Subito Real Estate Scraper?
| Goal | How |
|---|---|
| Track asking prices by area | Run weekly per locations and propertyTypes, then compare features.price.value and features.surface.value. |
| Spot new listings fast | Schedule a daily run and filter on publication_date. |
| Build agent and landlord lead lists | Turn on enrichPhone and use phone_number, advertiser_name and advertiser_type. |
| Analyse agencies | Turn on enrichShop to get advertiser_shop_data.listing_count, address and website. |
| Find private sellers only | Set advertiserType to private. |
| Screen by energy class and features | Use minEnergyClass, elevator, balcony and garden as input filters, then read features.energy_class and parking. |
| Map listings | Use geo.city, geo.province, geo.province_code and geo.region. |
How it compares
| What you need | Subito Real Estate Scraper | Generic classifieds scrapers | Manual copy-paste |
|---|---|---|---|
| Property fields | Typed fields for surface, rooms, energy class, etc. | Title, price and description | Whatever you type in |
| Seller phone numbers | Optional, one setting | Usually missing | One listing at a time |
| Agency and seller info | Optional shop and account details | Usually missing | Open each profile |
| Filters | Comune, type, price, surface, rooms, floor, energy | Often only a keyword or URL | Subito's own filters |
| Price | Pay per listing | Varies | Your time |
Input
{"searchKeywords": ["terrazzo"],"locations": ["Milano", "provincia di Monza e della Brianza"],"propertyTypes": ["appartamenti"],"adType": "u","minPrice": 500,"maxPrice": 1200,"minSurface": 50,"minRooms": 2,"elevator": true,"sortOrder": "priceasc","maxItemsPerQuery": 200}
| Field | Type | Default | Effect |
|---|---|---|---|
startUrls | Array of strings | Empty | Subito search URLs (e.g. https://www.subito.it/annunci-lombardia/vendita/appartamenti/milano/milano/?ps=100000&pe=300000) or listing URLs. The URL's own filters and sort are used; the filters below do not apply. |
searchKeywords | Array of strings | Empty | Optional words to search for. Each keyword is searched in every location. Empty = all listings matching the filters. |
locations | Array of strings | Empty (all Italy) | Comuni, provinces or regions, e.g. Milano, provincia di Roma, Toscana. A plain name that is also a province means the comune. |
propertyTypes | Array of strings | Empty (all) | appartamenti, ville-singole-e-a-schiera, loft-mansarde, camere-posti-letto, terreni-e-rustici, garage-e-box, case-vacanza, uffici-locali-commerciali. |
adType | String | Empty (all) | s sale, u rent, h holiday rental, k wanted. |
advertiserType | String | Empty | private or professional (agencies). |
minPrice / maxPrice | Integer | Empty | Price range in euro (monthly rent for rentals). |
minSurface / maxSurface | Integer | Empty | Surface range in mq. |
minRooms / maxRooms | Integer | Empty | Number of rooms (locali), 1 to 10; 11 = more than 10. |
minBathrooms | Integer | Empty | Minimum bathrooms; 4 = more than 3. |
minFloor / maxFloor | String | Empty | basement, semi-basement, raised, 0 (ground floor) to 7, above-7. |
minEnergyClass | String | Empty | Energy class or better, e.g. C = A4 to C. |
buildingConditions | Array of strings | Empty | new, excellent, good, to-renovate. |
elevator, balcony, garden, furnished, airConditioning, availableNow | Boolean | false | Only listings that have the feature. |
sortOrder | String | Newest first | datedesc, relevance, priceasc, pricedesc. Price sorts skip listings without a price. |
maxItemsPerQuery | Integer | 100 | Maximum listings per URL or keyword/location search. 0 means no limit (Subito caps one search at 10,000). |
enrichPhone | Boolean | false | Add the seller's phone number when the seller shows it. One extra request per listing. |
enrichShop | Boolean | false | Add agency details for professional sellers. |
enrichUserAccount | Boolean | false | Add the seller's badges, total ads and first ad date. |
proxyConfiguration | Object | Italian residential | Apify Proxy settings. The default is fine for normal use. |
Some filters only exist for some property types (e.g. floors are not available for land or garages); Subito ignores the ones that don't apply.
Output
One item per listing. This is a shortened example for a rental apartment:
{"ad_id": "653452994","urn": "id:ad:4b2f0c1e-0000-0000-0000-000000000000:list:653452994","request_url": "browse-filters","category": "Immobili","sub_category": "Appartamenti","sub_category_slug": "appartamenti","type": "In affitto","type_key": "u","publication_date": {"iso": "2026-07-08T16:05:35.441Z","date": "2026-07-08","time": "16:05:35","timestamp": 1783526735441,"local": "2026-07-08 18:05:35"},"advertiser_type": "privato","advertiser_name": "Click","page_url": "https://www.subito.it/appartamenti/quadrilocale-spazioso-e-funzionale-a-sorbolo-parma-653452994.htm","title": "Quadrilocale spazioso e funzionale a Sorbolo","description": "Quadrilocale spazioso e funzionale a Sorbolo - 90 mq con doppi servizi ...","geo": {"city": "Sorbolo Mezzani","province": "Parma","province_code": "PR","region": "Emilia-Romagna","istat_code": "034049"},"features": {"price": { "value": 700, "formatted": "700 €", "label": "Affitto mensile" },"surface": { "value": 90, "unit": "mq", "formatted": "90 mq" },"rooms": 4,"energy_class": "D","furnished": true,"balcony": true,"garden": false},"images": ["https://images.sbito.it/..."]}
Notes:
- Prices are in euro.
advertiser_typeisprivato(private) orazienda(professional).ad_idis Subito's numeric listing ID (the number inpage_url). features.no_agenciesistruewhen the seller asks not to be contacted by agencies.- Feature fields appear only when the listing has them, so a garage has no
rooms. Boolean features aretrue,falseor missing. features_rawholds Subito's original feature list for anything not mapped to a named field.- With
enrichPhone,phone_numberis added when the seller has one. WithenrichShop,advertiser_shop_datagetsshop_categories,address,listing_count,websiteandlogo. WithenrichUserAccount,advertiser_accounthasfirst_ad_insertion_date,total_num_approved_adsandbadges.
Track Subito property listings over time with scheduled runs
Most of the value comes from running the same search again and comparing. 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
Open the actor, set your search filters and options, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.
Watch how to schedule an Actor:
Or schedule a saved task:
Common schedules:
| Use case | Frequency | Cron expression |
|---|---|---|
| Catch new listings quickly | Every 6 hours | 0 */6 * * * |
| Price tracking for a city | Daily | 0 6 * * * |
| Market and rent trend research | Weekly (Monday) | 0 6 * * 1 |
3. Send the results to a spreadsheet
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
4. Compare runs
Every row has page_url and publication_date, so runs are easy to join:
- New listings:
page_urls that appear for the first time, with theirpublication_date.iso. - Price changes:
features.price.valueperpage_url. - Delisted properties:
page_urls that disappear between runs. - Market trend: average
features.price.valueperfeatures.surface.valuebygeo.cityorgeo.province.
FAQ
How many listings can I get?
Set maxItemsPerQuery to 0 for no limit. Each search pages through all matching results, up to Subito's limit of 10,000 per search. For larger areas, split the search by locations, propertyTypes or price range. The default is 100 per URL or keyword/location search.
Why did I get fewer results than on the website?
Narrow filters, a keyword that few listings match, or a very specific URL. Listings already found by an earlier URL, keyword or location in the same run are not repeated.
Do I need a proxy or a Subito login?
No login. The default Italian residential proxy is set up for you.
Can I scrape a single listing?
Yes. Paste the listing URL into startUrls.
Is scraping Subito legal?
The actor collects publicly visible listing data. Phone numbers and agency details are personal or business data, so use them in line with GDPR and your local marketing rules.
Where can I find other Subito or Italian property data?
Use Subito Scraper for other categories and Subito Automotive Scraper for vehicles. For Italian property portals beyond Subito, see Idealista Scraper.
Cost
Pay per event, no subscription:
| Event | Price |
|---|---|
| Listing | $3.00 per 1,000 on the Free plan, $2.00 per 1,000 on Gold and above |
Phone number (enrichPhone) | Same per-1,000 price as a listing, only when a number is found |
Shop details (enrichShop) | $0.001 each, only when details are found |
Seller account (enrichUserAccount) | $0.0005 each, only when details are found |
| Actor start | $0.00005 per GB |
Example: 1,000 listings with no enrichment cost about $2 to $3. Check the Pricing tab for the tier that applies to your plan. Set a maximum cost per run in the run options to cap spending.
Related Actors
- Subito Scraper: all other Subito categories.
- Subito Automotive Scraper: cars and motorbikes on Subito.
- Idealista Scraper: property listings from Idealista.
- Rightmove Sold Listings Scraper: UK sold prices, for cross-market price research.
Support
Found a problem or need a field added? Open an issue in the Issues tab and include the run ID and your input.
This actor is not affiliated with or endorsed by Subito.it. Subito is a trademark of its owner.