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.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
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 |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
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). |
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.