Subito Real Estate Scraper

Italian property listings from Subito.it as clean JSON: surface, rooms, bathrooms, condition, energy class and computed price per square meter as first-class columns. Agency-free flag included - advertiser identity never collected. Pay per result.

$1.99 / 1,000 · Recently published - building its public record.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
searchQuery string Optional keyword, e.g. "trilocale" or "attico terrazzo". Leave empty to browse the whole category, newest first. trilocale
categoryId integer Subito real-estate category. 7 = Appartamenti (default). Other Subito category ids work too - the id is in the category page URL. 7
priceMinEur integer Only properties costing at least this much. -
priceMaxEur integer Only properties costing at most this much. -
sortBy string date (newest first, best for monitoring) or relevance. date
postedAfter string Only listings posted on or after this date (YYYY-MM-DD or ISO timestamp). With newest-first sorting the run stops early once it reaches older listings. -
postedBefore string Only listings posted on or before this date (YYYY-MM-DD or ISO timestamp). -
maxItems integer Stop after this many properties. Free-plan runs are capped at 25 items. 500

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
listingId string Subito listing ID.
url string Direct link to the listing.
title string Listing title as posted.
description ['string', 'null'] Seller's listing text. The site masks contact data with placeholders; they are stripped.
priceEur ['integer', 'null'] Asking price in whole euros. Missing on permuta/on-request listings.
currency string Always EUR.
category ['string', 'null'] Subito category label.
sizeM2 ['integer', 'null'] Surface in square meters.
pricePerM2Eur ['integer', 'null'] Computed price per square meter (price / size, rounded).
rooms ['integer', 'null'] Number of rooms (locali) when stated.
bathrooms ['integer', 'null'] Number of bathrooms when stated.
floor ['string', 'null'] Floor as displayed by the site.
buildingCondition ['string', 'null'] Condition as displayed, e.g. "Ottimo - ristrutturato", "Da ristrutturare".
energyClass ['string', 'null'] Energy class A-G when stated.
heating ['string', 'null'] Heating type, e.g. Autonomo, Centralizzato.
parking ['string', 'null'] Parking situation, e.g. "Box privato".
furnished ['boolean', 'null'] True when listed as furnished.
balcony ['boolean', 'null'] True when a balcony is stated.
garden ['boolean', 'null'] True when a garden is stated.
elevator ['boolean', 'null'] True when the building has an elevator.
airConditioning ['boolean', 'null'] True when air conditioning is stated.
agencyFree ['boolean', 'null'] True when listed without an agency ("no agente"). Advertiser identity is never collected.
town ['string', 'null'] Municipality. Exact addresses are never collected.
province ['string', 'null'] Province.
region ['string', 'null'] Italian region.
sellerType string business or private. Advertiser identity is never collected.
postedAt ['string', 'null'] Posting timestamp as reported by the site.
imageUrls array Photo URLs (up to 8).

Health

Recently published - building its public record. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.