Subito.it Scraper - Cars, Real Estate, New Ads & Price Drops avatar

Subito.it Scraper - Cars, Real Estate, New Ads & Price Drops

Pricing

from $2.80 / 1,000 listing returneds

Go to Apify Store
Subito.it Scraper - Cars, Real Estate, New Ads & Price Drops

Subito.it Scraper - Cars, Real Estate, New Ads & Price Drops

For car dealers and property investors: Subito.it ads by keyword, category, region, price, car year, mileage, private or business seller: price, town, date, photos, car/home details. 16 of 30 newest Lombardia cars were old ads re-dated (2026-09-25); monitor returns only new ads and price drops.

Pricing

from $2.80 / 1,000 listing returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Get Subito.it listings (Italy's biggest classifieds site) as clean JSON: title, price, description, category, region, province and town, date listed, photo, private or business seller (with the dealer's shop name), and for vehicles the brand, model, version, registration year, mileage, fuel, gearbox and power, for property the size in m², rooms, bathrooms, floor and energy class. Search by search term, category (auto, moto-e-scooter, appartamenti, telefonia ...), region or province, price range, car year and mileage, private or business sellers, or paste Subito search URLs with any filter you set in the browser. Turn on Monitor mode and scheduled runs return only new ads and price drops since the last check - so a car dealer, a reseller, a deal alert or a Telegram/Slack bot gets the new ones without paying for the same listings again.

  • New ads monitor that does not sell old ads as new. Subito sorts by "posted or bumped to the top", so older ads come back to the top of the list every day (in our check on 2026-09-25, 16 of the 30 "newest" cars in Lombardia were older ads with a fresh date, one of them a 1964 Fiat 1500 Coupé). Monitor mode tells them apart with Subito's listing numbers (they grow with every new ad), the listing date and the showcase (In vetrina) mark, and returns as changeType: new only ads posted since the last check.
  • Price drops. A listing this watch has seen before whose price is now lower comes back as changeType: price-drop with previousPrice and priceDrop (euros).
  • Car and property filters that Subito itself applies. minPrice / maxPrice, yearFrom / yearTo, mileageFrom / mileageTo (km), private or business sellers, search terms in the title only. They are sent to Subito, so the page you get is already filtered.
  • Honest about what can be read. Subito's robots.txt does not allow page numbers, so this Actor reads the first page of each search: the 30 newest listings. When a search has more, a free row says so; in monitor mode a free row warns when more new ads appeared since the last check than fit on that page.
  • No charge when nothing could be delivered. A search with no results, nothing in your ranges, a region, province or category Subito does not have, a page that could not be read, and a check page come back as free rows that say why.
  • Several searches in one run. Search terms times categories times locations, plus search URLs, up to 20 searches per run.
  • Fast and light. A production run on 2026-09-25 (all cars in Lombardia, 30 listings) took 3.6 s at 256 MB.

Unofficial. Reads the public Subito.it search result pages, the same pages a person sees without logging in, and follows Subito's robots.txt. It does not open ad detail pages, does not log in, and does not solve or bypass check pages. It returns no seller names, no phone numbers and no user IDs: phone numbers and e-mail addresses that sellers write into a title or description are replaced with [phone removed] / [email removed]. For businesses (dealers, agencies, shops) the shop name shown on the listing is returned.

What you get

One row per listing. Example (a production run on 2026-09-25, golf in category auto in milano, 5,000-20,000 EUR, from 2015, 50,000-120,000 km):

{
"status": "ok",
"changeType": null,
"adId": "661986900",
"title": "Golf 7.5",
"price": 12750,
"currency": "EUR",
"previousPrice": null,
"priceDrop": null,
"description": "Auto in buonissime condizioni come visibile in foto,83000 km attualmente,macchina in uso, ultimo tagliando a luglio,tagliandata ogni anno con documentazione,gomme nuove,compresa quella di scorta,4 stagioni montate a luglio con garanzia 50000 km o 5 anni,ho fatto montare in Volkswagen antifurto volumetrico,vetri privacy,revisione fino a gennaio 2028,piccoli graffi ma nessuno bozza o ammaccatura.",
"category": "Auto",
"adType": "In vendita",
"region": "Lombardia",
"province": "Milano",
"provinceCode": "MI",
"town": "Milano",
"listedAt": "2026-09-24T11:57:21.000Z",
"listedLocal": "2026-09-24 13:57:21",
"imageUrl": "https://images.sbito.it/api/v1/sbt-ads-images-pro/images/12/12aee901-bc7c-43c0-9db7-46289d9f46df?rule=gallery-desktop-2x-auto",
"imageCount": 6,
"isCompany": false,
"shopName": null,
"isPromoted": false,
"isUrgent": false,
"shippable": null,
"condition": "Usato",
"carBrand": "VOLKSWAGEN",
"carModel": "Golf 7ª serie",
"carVersion": "Golf 1.0 TSI 110 CV 5p. Business BlueMotion Technology",
"year": 2017,
"registrationDate": "12/2017",
"mileageKm": 83000,
"fuel": "Benzina",
"gearbox": "Manuale",
"powerKw": 81,
"powerHp": 110,
"bodyType": "Berlina",
"emissionClass": "Euro 6",
"sizeSqm": null,
"rooms": null,
"bathrooms": null,
"floor": null,
"energyClass": null,
"attributes": {
"Per neopatentati": "Sì",
"Colore": "Nero",
"Posti": "5",
"Carburante": "Benzina",
"Classe emissioni": "Euro 6",
"Carrozzeria": "Berlina",
"Iva esposta": "No",
"Cambio": "Manuale",
"Condizioni del veicolo": "Usato",
"Auto": "VOLKSWAGEN, Golf 7ª serie, Golf 1.0 TSI 110 CV 5p. Business BlueMotion Technology",
"Numero di porte": "4/5",
"Km": "83000 Km",
"Potenza": "81 kW / 110 Cv",
"Anno di immatricolazione": "2017",
"Immatricolazione": "12/2017",
"Mese di immatricolazione": "Dicembre"
},
"url": "https://www.subito.it/auto/golf-7-5-milano-661986900.htm",
"positionInSearch": 4,
"listingsInSearch": 88,
"searchQuery": "golf",
"searchCategory": "auto",
"searchLocation": "Milano (Lombardia)",
"searchUrl": "https://www.subito.it/annunci-lombardia/vendita/auto/milano/?q=golf&ps=5000&pe=20000&ys=2015&ms=11&me=23",
"watchName": null,
"checkedAt": "2026-09-24T21:56:26.742Z"
}

Checked in a browser after the runs: 10 of 10 listings from two production runs (Golf in Milan with price, year and mileage ranges; flats for rent in Rome under 1,200 EUR) showed the same title, price and town on the ad page, and for the cars the same registration year and mileage.

ColumnMeaning
statusok for a listing row. Other values are free rows that say why nothing (or not everything) was returned (below)
changeTypeMonitor mode only: first-check (first run of this watch), new, price-drop, or resurfaced (only with includeResurfaced). Null when monitor mode is off
adId, urlSubito's listing number and the ad page
title, descriptionTitle and the description shown in the search result (contacts removed)
price, currencyPrice in euros (for rentals: the monthly rent). Null when the listing shows no price (nothing is made up)
previousPrice, priceDropMonitor mode, price-drop rows: the price at the previous check and the difference in euros
category, adTypeSubito's category of the ad and its type as shown (In vendita, In affitto ...)
region, province, provinceCode, townWhere the item is (Lombardia, Milano, MI, Cinisello Balsamo)
listedAt, listedLocalThe date on the listing as UTC and as Italian local time. It is when the ad was posted or last bumped to the top
imageUrl, imageCountFirst photo and number of photos
isCompany, shopNameThe seller is a business, with the shop name shown on the listing (null for private sellers)
isPromoted, isUrgentPaid visibility options shown on the listing (showcase, urgent)
shippable, conditionShipping available (TuttoSubito), and the condition shown (item, vehicle or building)
carBrand, carModel, carVersion, year, registrationDate, mileageKm, fuel, gearbox, powerKw, powerHp, bodyType, emissionClassVehicles: as listed on Subito
sizeSqm, rooms, bathrooms, floor, energyClassProperty: as listed on Subito
attributesEvery other detail Subito shows on the listing, as label: value
positionInSearch, listingsInSearchPosition in this search and the number of results Subito reports for it
searchQuery, searchCategory, searchLocation, searchUrlThe search this row came from
noteFree rows only: why nothing (or not everything) was returned
watchName, checkedAtThe watch name you gave, and the time of the check

Free rows (not charged)

statusWhen
no-resultsSubito has no listing for this search
none-in-rangeListings were read, but none is inside your ranges (in monitor mode: on the first check)
not-foundSubito does not have this search (HTTP 404): a region, province or category it does not know, or a province that is not in that region
no-new-listingsMonitor mode: nothing new and no price drop since the previous check
more-not-returnedNormal search: the search has more listings than the first page, which is all robots.txt allows; says how many and what to do. Monitor mode: more new listings than maxResultsPerSearch (a later run returns them), or, on the first check, how many listings are now the starting point
more-new-than-readableMonitor mode: more listings appeared since the last check than fit on the first page, so some new ones may have been missed; or listings an earlier run could not return (because of maxResultsPerSearch or the charge limit) left the first page before they could be returned. Run more often, raise maxResultsPerSearch or narrow the search
already-returnedEverything inside your ranges on this search was already returned by an earlier search of the same run (overlapping searches such as a region and one of its provinces); it is not returned or charged twice
not-allowed-by-robots-txtA search URL that Subito's robots.txt does not allow (one with a page number, o=2). Nothing was requested
unreadableSubito could not be read, even after asking again from other IP addresses, or the page layout changed. Nothing is guessed and nothing is remembered
blockedSubito showed a check page. This Actor does not solve or bypass check pages; it stops and does not run the remaining searches
budget-reachedThe run hit the maximum total charge you set. In monitor mode the listings not returned are returned by the next run
bad-inputThe input could not be used (for example an unknown region, province or category). The run ends as failed

Input

FieldTypeDefaultDescription
searchQuerieslist of strings-Search terms: golf, iphone 15, panda 4x4, bilocale ... Leave search terms, categories, locations and search URLs all empty to run the example: all cars (auto) in lombardia
categorieslist of stringsall categoriesSubito categories (list below). A category without a search term lists everything new in it
locationslist of stringsall of ItalyRegions (lombardia, lazio), provinces (milano, roma, or the code MI, RM), or italia
adTypesale or rentsalerent works with the real estate categories
minPrice, maxPricenumber (EUR)-Price range (Subito's filter)
yearFrom, yearTointeger-Vehicles: registration year range (Subito's filter)
mileageFrom, mileageTointeger (km)-Vehicles: mileage range. Subito filters in bands; this Actor asks for the bands that contain your numbers and keeps only listings inside the exact range
sellerTypeany, private, businessanyPrivate sellers only, or businesses only (Subito's filter)
titleOnlybooleanfalseMatch search terms in the title only
searchUrlslist of strings-Subito search result pages copied from the browser, for example https://www.subito.it/annunci-lombardia/vendita/auto/milano/?q=golf (first page only)
maxResultsPerSearchinteger 1-3030Most listings returned for one search. In monitor mode: most new listings and price drops per search in one run (the rest come first in the next run, while they are still on the first page)
onlyNewbooleanfalseMonitor mode: return only new listings and price drops since the previous check
includePriceDropsbooleantrueMonitor mode: return price drops too
includeResurfacedbooleanfalseMonitor mode: also return older listings (not seen by this watch) that were bumped back to the top, as resurfaced
watchNamestring-Separate memories for monitor mode, for example one per client or per alert
resetMonitoringStatebooleanfalseForget what this watch has seen, so the run is a first check again

Each search term is searched in each category and each location (up to 20 searches per run).

Categories: auto · moto-e-scooter · veicoli-commerciali · caravan-e-camper · accessori-auto · accessori-moto · nautica · motori (all vehicles) · appartamenti · ville-singole-e-a-schiera · loft-mansarde · terreni-e-rustici · garage-e-box · uffici-locali-commerciali · camere-posti-letto · immobili (all property) · elettronica · informatica · audio-video · telefonia · fotografia · videogiochi · casa-e-persona · arredamento-casalinghi · elettrodomestici · giardino-fai-da-te · abbigliamento-accessori · bambini-giocattoli · sport-hobby · sport · biciclette · musica-film · strumenti-musicali · libri-riviste · hobby-collezionismo · animali · accessori-per-animali · attrezzature · servizi.

Regions: abruzzo · basilicata · calabria · campania · emilia-romagna · friuli-venezia-giulia · lazio · liguria · lombardia · marche · molise · piemonte · puglia · sardegna · sicilia · toscana · trentino-alto-adige · umbria · valle-d-aosta · veneto. All 110 provinces Subito uses are accepted by name or code.

Examples

Used VW Golf in the province of Milan, 5,000-20,000 euros, from 2015, 50,000-120,000 km:

{ "searchQueries": ["golf"], "categories": ["auto"], "locations": ["milano"], "minPrice": 5000, "maxPrice": 20000, "yearFrom": 2015, "mileageFrom": 50000, "mileageTo": 120000 }

A dealer's feed: every new car from private sellers in Lombardia and Piemonte, and price drops, every 15 minutes (schedule this input):

{ "categories": ["auto"], "locations": ["lombardia", "piemonte"], "sellerType": "private", "onlyNew": true, "watchName": "private-cars-north" }

Flats for rent in Rome under 1,200 euros a month:

{ "categories": ["appartamenti"], "locations": ["roma"], "adType": "rent", "maxPrice": 1200 }

Pricing

Pay per event:

  • Run start - once per run that read Subito: in a normal search, before the first listing row is returned (so not charged when nothing is in your ranges); in monitor mode, when a list was read and compared, also when nothing changed - that pays for the check. Never charged when nothing could be read, the search does not exist on Subito, or robots.txt does not allow the page.
  • Listing returned - per listing row.

Free rows are never charged. If you set a maximum total charge for a run, the run stops before it would go over it and says so; a run whose maximum has no room for the start fee plus one listing does not request anything.

Monitor mode, step by step

  1. First run: reads the newest 30 listings of each search, returns up to maxResultsPerSearch as first-check, and remembers them (with their prices) as the starting point.
  2. Later runs: read the newest 30 again. A listing is new when its listing number is higher than every listing this watch has seen, or when it was listed after the previous check with a listing number from no more than one to two days of new ads before it (ads that appear late after Subito's review). A listing this watch has seen whose price is lower now is a price-drop. Older ads that were bumped back to the top (including showcase ads, which Subito moves back up regularly) are remembered but not returned as new. Listings that were not returned because of maxResultsPerSearch or the charge limit are returned first by the next run, as long as they are still on the first page.
  3. Nothing is judged from a page that could not be read (nothing returned, remembered or charged); the next run checks it again.

Within one run, a listing found by two overlapping searches is returned once.

Keep one schedule per search and watch name. Two overlapping runs of the same watch can both return the same new listing (the memory is a key-value store without transactions).

Limits

  • Subito's robots.txt does not allow page numbers, so only the first page (30 newest listings) of each search is read. Busy searches (all cars in Italy get new ads every few minutes) move faster than that: narrow them with a province, a category, a price or year range, and schedule a watch often enough - or split one big search into several smaller ones in the same run.
  • Only the fields shown on the search result list are returned. Ad detail pages, seller profiles and phone numbers are not read.
  • Price drops are seen for listings that are still on the first page of the search.
  • The date on the listing is when the ad was posted or last bumped to the top; Subito does not show the original posting date on the list.
  • If Subito refuses datacenter IP addresses, pages are read over residential IP addresses: up to 20 per run, and up to 3 per monitor run (a monitor check that finds nothing new only pays the start fee). Searches beyond that come back as free unreadable rows.

Support

Questions, a field you need, or a search that does not work: open an issue on the Issues tab of this Actor.