Subito.it Scraper - Cars, Real Estate, New Ads & Price Drops
Pricing
from $2.80 / 1,000 listing returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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: newonly 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-dropwithpreviousPriceandpriceDrop(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.
| Column | Meaning |
|---|---|
status | ok for a listing row. Other values are free rows that say why nothing (or not everything) was returned (below) |
changeType | Monitor mode only: first-check (first run of this watch), new, price-drop, or resurfaced (only with includeResurfaced). Null when monitor mode is off |
adId, url | Subito's listing number and the ad page |
title, description | Title and the description shown in the search result (contacts removed) |
price, currency | Price in euros (for rentals: the monthly rent). Null when the listing shows no price (nothing is made up) |
previousPrice, priceDrop | Monitor mode, price-drop rows: the price at the previous check and the difference in euros |
category, adType | Subito's category of the ad and its type as shown (In vendita, In affitto ...) |
region, province, provinceCode, town | Where the item is (Lombardia, Milano, MI, Cinisello Balsamo) |
listedAt, listedLocal | The 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, imageCount | First photo and number of photos |
isCompany, shopName | The seller is a business, with the shop name shown on the listing (null for private sellers) |
isPromoted, isUrgent | Paid visibility options shown on the listing (showcase, urgent) |
shippable, condition | Shipping available (TuttoSubito), and the condition shown (item, vehicle or building) |
carBrand, carModel, carVersion, year, registrationDate, mileageKm, fuel, gearbox, powerKw, powerHp, bodyType, emissionClass | Vehicles: as listed on Subito |
sizeSqm, rooms, bathrooms, floor, energyClass | Property: as listed on Subito |
attributes | Every other detail Subito shows on the listing, as label: value |
positionInSearch, listingsInSearch | Position in this search and the number of results Subito reports for it |
searchQuery, searchCategory, searchLocation, searchUrl | The search this row came from |
note | Free rows only: why nothing (or not everything) was returned |
watchName, checkedAt | The watch name you gave, and the time of the check |
Free rows (not charged)
status | When |
|---|---|
no-results | Subito has no listing for this search |
none-in-range | Listings were read, but none is inside your ranges (in monitor mode: on the first check) |
not-found | Subito 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-listings | Monitor mode: nothing new and no price drop since the previous check |
more-not-returned | Normal 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-readable | Monitor 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-returned | Everything 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-txt | A search URL that Subito's robots.txt does not allow (one with a page number, o=2). Nothing was requested |
unreadable | Subito could not be read, even after asking again from other IP addresses, or the page layout changed. Nothing is guessed and nothing is remembered |
blocked | Subito showed a check page. This Actor does not solve or bypass check pages; it stops and does not run the remaining searches |
budget-reached | The run hit the maximum total charge you set. In monitor mode the listings not returned are returned by the next run |
bad-input | The input could not be used (for example an unknown region, province or category). The run ends as failed |
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | list 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 |
categories | list of strings | all categories | Subito categories (list below). A category without a search term lists everything new in it |
locations | list of strings | all of Italy | Regions (lombardia, lazio), provinces (milano, roma, or the code MI, RM), or italia |
adType | sale or rent | sale | rent works with the real estate categories |
minPrice, maxPrice | number (EUR) | - | Price range (Subito's filter) |
yearFrom, yearTo | integer | - | Vehicles: registration year range (Subito's filter) |
mileageFrom, mileageTo | integer (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 |
sellerType | any, private, business | any | Private sellers only, or businesses only (Subito's filter) |
titleOnly | boolean | false | Match search terms in the title only |
searchUrls | list 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) |
maxResultsPerSearch | integer 1-30 | 30 | Most 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) |
onlyNew | boolean | false | Monitor mode: return only new listings and price drops since the previous check |
includePriceDrops | boolean | true | Monitor mode: return price drops too |
includeResurfaced | boolean | false | Monitor mode: also return older listings (not seen by this watch) that were bumped back to the top, as resurfaced |
watchName | string | - | Separate memories for monitor mode, for example one per client or per alert |
resetMonitoringState | boolean | false | Forget 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
- First run: reads the newest 30 listings of each search, returns up to
maxResultsPerSearchasfirst-check, and remembers them (with their prices) as the starting point. - Later runs: read the newest 30 again. A listing is
newwhen 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 aprice-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 ofmaxResultsPerSearchor the charge limit are returned first by the next run, as long as they are still on the first page. - 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
unreadablerows.
Support
Questions, a field you need, or a search that does not work: open an issue on the Issues tab of this Actor.