← Blog

Marketplaces

Subito Scraper: Scrape Subito.it Annunci and Real Estate Data

Scrape Subito.it annunci by URL or keyword: prices, descriptions, location, seller info and optional phone numbers, plus a dedicated real estate scraper.

Epic Scrapers

Subito.it is Italy’s largest classifieds site: used cars, phones, furniture, bikes, jobs and a huge number of private property ads. There’s no public developer API, and copying annunci by hand doesn’t scale past a few pages.

Epic Scrapers has two Subito actors on Apify:

  • The Subito Scraper covers every category. Give it a Subito URL or keywords and it returns structured listings with price, description, images, location, seller type and category-specific attributes.
  • The Subito Real Estate Scraper is built for the Immobili section, with filters for property type, sale or rent, surface, rooms, floor and energy class, and typed fields like surface, rooms and energy_class in the output.

Both can optionally add seller phone numbers, shop details for professional sellers, and seller account reputation.

What data you get from Subito

Every listing includes:

Field What it holds
title, description, page_url Ad title, full text and link
price value (number) and formatted ("429 €")
category, sub_category, type Category and ad type, e.g. vendo
geo city, province, province_code, region
publication_date iso, date, time, timestamp, local
advertiser_type, advertiser_name privato or azienda, and display name
features Category attributes: condition and shipping for goods, mileage and fuel for cars, rooms and surface for homes
images, mainImage Image URLs

Optional enrichment adds phone_number, an expanded advertiser_shop_data (address, website, logo, listing_count, shop page), and advertiser_account (first_ad_insertion_date, total_num_approved_ads, badges). Each enrichment is a separate toggle and is billed only when it returns data.

Scrape Subito.it by URL

The fastest route: set up the search on Subito.it with the region, category, keyword and price filters you want, copy the URL, and paste it into Start URLs in the Subito Scraper. Filters in the URL are kept.

{
  "startUrls": [
    "https://www.subito.it/annunci-lazio/vendita/elettronica/?q=iphone+13"
  ],
  "maxItemsPerQuery": 50
}

Start URLs are plain strings, not { "url": ... } objects. You can also paste a single listing URL (ending in -123456789.htm) to fetch just that ad.

Scrape Subito by keyword

Keywords let you build searches without visiting the site. Each keyword runs as its own search, and the category, location, sort and price filters apply to all of them:

{
  "searchKeywords": ["ps5", "nintendo switch oled"],
  "category": "videogiochi",
  "location": "regione Lombardia",
  "sortOrder": "datedesc",
  "minPrice": 100,
  "maxPrice": 400,
  "maxItemsPerQuery": 100,
  "enrichUserAccount": true
}

A few input details:

  • location takes free text: a comune (Genova), a province (provincia di Genova) or a region (regione Liguria).
  • sortOrder is relevance (default), datedesc (newest first), priceasc or pricedesc.
  • category uses Subito’s slugs, such as auto, moto-e-scooter, elettronica, telefonia, informatica, biciclette, arredamento-casalinghi, abbigliamento-accessori, immobili or offerte-lavoro. Leave it empty for all categories.
  • maxItemsPerQuery defaults to 100 per URL or keyword; 0 means no limit.

Sample output

{
  "request_url": "https://www.subito.it/annunci-lazio/vendita/elettronica/?q=iphone+13",
  "title": "Apple iPhone 13 128GB Nuovo",
  "description": "Vendo iPhone 13 128GB nero, mai usato, ancora sigillato...",
  "page_url": "https://www.subito.it/elettronica/apple-iphone-13-128gb-nuovo-roma-123456789.htm",
  "price": { "value": 429, "formatted": "429 €" },
  "category": "Elettronica",
  "type": "vendo",
  "geo": { "city": "Roma", "province": "Roma", "province_code": "RM", "region": "Lazio" },
  "publication_date": { "iso": "2026-07-08T09:14:00.000Z", "date": "2026-07-08" },
  "advertiser_type": "privato",
  "advertiser_name": "Marco R.",
  "features": { "item_condition": "nuovo", "shippable": "spedizione disponibile" },
  "advertiser_account": {
    "first_ad_insertion_date": "2021-03-14",
    "total_num_approved_ads": 18,
    "badges": [{ "name": "verified", "description": "Verificato", "is_active": true }]
  }
}

Values come back in Italian, as Subito shows them: nuovo/usato, privato/azienda, and attribute names like Km, Carburante or Superficie inside features.

Subito real estate: the dedicated scraper

You can scrape the Immobili category with the general scraper, but the Subito Real Estate Scraper is the better tool for property data. It adds real-estate filters and returns property features as typed fields: features.price, features.surface (value and unit), rooms, bathrooms, floor, energy_class, heating, building_condition, elevator, balcony, furnished and more.

This input collects up to 200 apartments for sale in Tuscany, 60 to 120 m², three to four rooms, from private sellers only:

{
  "propertyType": "appartamenti",
  "adType": "s",
  "advertiserType": "private",
  "region": "toscana",
  "minPrice": 150000,
  "maxPrice": 350000,
  "minSurface": 60,
  "maxSurface": 120,
  "minRooms": 3,
  "maxRooms": 4,
  "maxItemsPerQuery": 200
}
Input Options
propertyType appartamenti (default), camere-posti-letto, ville-singole-e-a-schiera, terreni-e-rustici, garage-e-box, loft-e-mansarde, case-vacanza, uffici-locali-commerciali, or "" for all
adType s sale, u rent, h holiday rental, "" all
advertiserType private, professional, "" both
region All 20 regions, e.g. lombardia, lazio, sicilia, emilia-romagna, valle-d-aosta
floor "1" (ground floor) to "7" (6th floor or higher)
energyClass Free text, e.g. A4, B, D

Subito treats price as a soft filter, so check features.price.value if you need a strict range. For city-level searches, paste a Subito URL that already has the comune selected, or use keywords like "trilocale navigli milano".

Trimmed output for one apartment:

{
  "sub_category": "Appartamenti",
  "type": "In vendita",
  "advertiser_type": "privato",
  "title": "Monolocale in zona Parioli",
  "geo": { "city": "Roma", "province": "Roma", "province_code": "RM", "region": "Lazio" },
  "features": {
    "price": { "value": 185000, "formatted": "185.000 €" },
    "surface": { "value": 55, "unit": "mq", "formatted": "55 mq" },
    "rooms": 2,
    "bathrooms": 1,
    "floor": "3",
    "energy_class": "D",
    "heating": "Autonomo",
    "elevator": true,
    "balcony": true
  }
}

Run Subito scrapers from the API

With the JavaScript apify-client:

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

const run = await client.actor('epicscrapers/subito-realestate-scraper').call({
  propertyType: 'appartamenti',
  adType: 'u',
  region: 'lombardia',
  maxPrice: 1200,
  maxItemsPerQuery: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const ad of items) {
  console.log(ad.title, ad.features?.price?.formatted, ad.geo?.city);
}

Or cURL for the general scraper:

curl -X POST "https://api.apify.com/v2/acts/epicscrapers~subito-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchKeywords": ["bici da corsa"], "location": "regione Veneto", "sortOrder": "datedesc", "maxItemsPerQuery": 50}'

What people use Subito data for

  • Resellers and flippers. Schedule a datedesc keyword search for phones, consoles or bikes under a price cap and catch underpriced annunci as soon as they’re posted. If you also sell abroad, compare prices with the Vinted scraper.
  • Used car and motorbike pricing. Pull auto listings for a model across regions and compare price against mileage and fuel from features.
  • Property market research. Track asking prices per m² by region, property type and energy class. Run it weekly to see inventory and price changes. The Idealista scraper guide covers the other big Italian property portal.
  • Agency and dealer intelligence. Filter to advertiserType: "professional" and enable shop details to see which agencies and dealers are most active and how many listings each has.
  • Scam filtering. first_ad_insertion_date, total_num_approved_ads and badges flag brand-new accounts and unverified sellers before you get in touch.

FAQ

Does Subito.it have an API?

There’s no public developer API for searching Subito annunci. These actors give you the same data as structured JSON through the Apify API.

The actors collect publicly visible ads and don’t log in. Many sellers are private individuals, so names and especially phone numbers are personal data under GDPR. Only enable phone enrichment when you have a lawful reason, don’t use private sellers’ numbers for cold marketing, store as little as you need, and follow Subito’s terms. This isn’t legal advice.

Can I scrape every listing in a category?

Subito caps how many pages a single search returns. For large categories, split the job into narrower queries by region, property type or price band.

Which actor should I use for Subito real estate?

The Subito Real Estate Scraper. It has property filters (surface, rooms, floor, energy class, seller type) and returns those fields as typed values. Use the general Subito Scraper for everything else.

Can I export Subito data to Excel?

Yes. Export any run from the Output tab as CSV, Excel or JSON, or pull it from the API.

Start scraping Subito.it

Paste one Subito search URL, keep the limit at 50, and check the output. Then add keywords, enrichment or a schedule. Run the Subito Scraper for general annunci, or the Subito Real Estate Scraper for property listings.