Subito Real Estate Scraper avatar

Subito Real Estate Scraper

Pricing

from $2.00 / 1,000 listings

Go to Apify Store
Subito Real Estate Scraper

Subito Real Estate Scraper

Scrape subito.it real estate listings.

Pricing

from $2.00 / 1,000 listings

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

4

Monthly active users

3 days ago

Last modified

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, parking and more are separate fields in features.
  • 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_type and office_type are 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?

GoalHow
Track asking prices by areaRun weekly per locations and propertyTypes, then compare features.price.value and features.surface.value.
Spot new listings fastSchedule a daily run and filter on publication_date.
Build agent and landlord lead listsTurn on enrichPhone and use phone_number, advertiser_name and advertiser_type.
Analyse agenciesTurn on enrichShop to get advertiser_shop_data.listing_count, address and website.
Find private sellers onlySet advertiserType to private.
Screen by energy class and featuresUse minEnergyClass, elevator, balcony and garden as input filters, then read features.energy_class and parking.
Map listingsUse geo.city, geo.province, geo.province_code and geo.region.

How it compares

What you needSubito Real Estate ScraperGeneric classifieds scrapersManual copy-paste
Property fieldsTyped fields for surface, rooms, energy class, etc.Title, price and descriptionWhatever you type in
Seller phone numbersOptional, one settingUsually missingOne listing at a time
Agency and seller infoOptional shop and account detailsUsually missingOpen each profile
FiltersComune, type, price, surface, rooms, floor, energyOften only a keyword or URLSubito's own filters
PricePay per listingVariesYour 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
}
FieldTypeDefaultEffect
startUrlsArray of stringsEmptySubito 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.
searchKeywordsArray of stringsEmptyOptional words to search for. Each keyword is searched in every location. Empty = all listings matching the filters.
locationsArray of stringsEmpty (all Italy)Comuni, provinces or regions, e.g. Milano, provincia di Roma, Toscana. A plain name that is also a province means the comune.
propertyTypesArray of stringsEmpty (all)appartamenti, ville-singole-e-a-schiera, loft-mansarde, camere-posti-letto, terreni-e-rustici, garage-e-box, case-vacanza, uffici-locali-commerciali.
adTypeStringEmpty (all)s sale, u rent, h holiday rental, k wanted.
advertiserTypeStringEmptyprivate or professional (agencies).
minPrice / maxPriceIntegerEmptyPrice range in euro (monthly rent for rentals).
minSurface / maxSurfaceIntegerEmptySurface range in mq.
minRooms / maxRoomsIntegerEmptyNumber of rooms (locali), 1 to 10; 11 = more than 10.
minBathroomsIntegerEmptyMinimum bathrooms; 4 = more than 3.
minFloor / maxFloorStringEmptybasement, semi-basement, raised, 0 (ground floor) to 7, above-7.
minEnergyClassStringEmptyEnergy class or better, e.g. C = A4 to C.
buildingConditionsArray of stringsEmptynew, excellent, good, to-renovate.
elevator, balcony, garden, furnished, airConditioning, availableNowBooleanfalseOnly listings that have the feature.
sortOrderStringNewest firstdatedesc, relevance, priceasc, pricedesc. Price sorts skip listings without a price.
maxItemsPerQueryInteger100Maximum listings per URL or keyword/location search. 0 means no limit (Subito caps one search at 10,000).
enrichPhoneBooleanfalseAdd the seller's phone number when the seller shows it. One extra request per listing.
enrichShopBooleanfalseAdd agency details for professional sellers.
enrichUserAccountBooleanfalseAdd the seller's badges, total ads and first ad date.
proxyConfigurationObjectItalian residentialApify 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_type is privato (private) or azienda (professional). ad_id is Subito's numeric listing ID (the number in page_url).
  • features.no_agencies is true when 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 are true, false or missing.
  • features_raw holds Subito's original feature list for anything not mapped to a named field.
  • With enrichPhone, phone_number is added when the seller has one. With enrichShop, advertiser_shop_data gets shop_categories, address, listing_count, website and logo. With enrichUserAccount, advertiser_account has first_ad_insertion_date, total_num_approved_ads and badges.

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 caseFrequencyCron expression
Catch new listings quicklyEvery 6 hours0 */6 * * *
Price tracking for a cityDaily0 6 * * *
Market and rent trend researchWeekly (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 their publication_date.iso.
  • Price changes: features.price.value per page_url.
  • Delisted properties: page_urls that disappear between runs.
  • Market trend: average features.price.value per features.surface.value by geo.city or geo.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.

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:

EventPrice
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.

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.