API scraper Subito.it
Un’API per fare scraping di Subito.it, il più grande sito di annunci in Italia: una riga per annuncio con descrizione completa, prezzo, categoria, condizione, geo fino al comune, tipo di venditore e spedizione — più chilometraggio esatto, anno, carburante e cambio sui motori, metri quadri e locali sugli immobili. Filtra su tutto, in ognuna delle 44 categorie e 20 regioni, e paga solo gli annunci consegnati.
$0.001 per annuncio consegnato · $2 gratis ogni mese · Le run fallite non si pagano
$ curl $QD/subito_search/run \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{"query": "iphone 15", "title_only": true, "max_results": 30}'
{ "status": "done", "count": 30,
"results": [
{
"ad_id": "…",
"title": "…",
"url": "…",
"price": "…" } ],
"cost": 0.03 }
# 30 annunci × $0.001 · non consegnato, non pagato
Provalo
Annunci Subito.it, in esecuzione adesso
Cambia l’input e lancialo sul collector vero — niente da installare, nessuna registrazione.
Lancialo dal tuo codice, sui tuoi input
Stesso collector, stesse righe — $2 di credito API gratis ogni mese, senza carta.
Cosa fa l’API scraper per Subito.it
Subito serve ogni ricerca come payload di idratazione dietro la pagina, ed è quello che legge questo collector — non le card visibili, costruite con classi CSS generate e che mostrano strettamente meno: la descrizione è troncata, i chilometri sono una fascia ("70.000 - 74.999"), il comune e l’id del venditore non compaiono proprio. Dal payload la riga porta il testo intero dell’annuncio, il contachilometri al chilometro, tutte le foto e la data di pubblicazione in ISO 8601 con l’offset Europe/Rome davvero in vigore.
I filtri sono la parte che uno scraper fatto in casa sbaglia senza accorgersene. Subito onora prezzo, tipo di venditore, km, anno e superficie solo dentro alcune categorie e altrove li ignora in silenzio — veicoli commerciali non ha né il filtro km né quello anno, e sulla ricerca in tutte le categorie non ne vale nessuno. Questo collector li manda comunque e poi ricontrolla ognuno sulle righe consegnate: un intervallo vale quello che dice, in qualunque categoria. Segue anche una stranezza di Subito sulle parole marca/modello: "golf" o "panda" reindirizzano a un listing canonico che perde ordinamento, filtri e numero di pagina, e la run legge da quel listing invece di consegnare una prima pagina disordinata e fermarsi lì.
Limiti, in numeri
Tutto ciò che delimita una run di questo collector. Nessun limite nascosto.
Massimo per run
150 annunci
Prezzo
$0.001 / annuncio
Ogni 1.000
$1.00
Run fallite
Gratis zero righe, zero addebito
Gratis ogni mese
$2 senza carta
Rate limit
60 req/min sul piano gratuito
Com’è fatto un annuncio
Ogni annuncio consegnato porta questi campi. Nullable vuol dire che la fonte non lo pubblica: il campo resta vuoto invece di essere inventato.
| Campo | Tipo | Cosa contiene |
|---|---|---|
rank | integer | 1-based position in the delivered results. |
page | integer | Result page the ad came from. |
ad_id | string | Subito listing id (the number ending the ad URL). |
title | string | Ad title. |
url | string · nullable | Ad URL. |
price | string · nullable | Price as shown ("450 €"). Null for free and wanted ads. |
price_value | number · nullable | Parsed price in euro. |
category | string · nullable | Category the ad is filed under ("Telefonia"). |
category_slug | string · nullable | Category slug ("telefonia"). |
condition | string · nullable | Item condition as stated ("Come nuovo - perfetto o ricondizionato"). |
km | integer · nullable | Motori. Exact mileage — Subito's card shows only the bucket ("70.000 - 74.999"). |
year | integer · nullable | Motori. Registration year. |
fuel | string · nullable | Motori. Fuel as a stable key ("diesel", "plugin_hybrid_petrol"), matching the input enum; the Italian label is in features. |
gearbox | string · nullable | Motori. "manual", "automatic" or "sequential". |
vehicle_condition | string · nullable | Motori. "used", "km0" or "new". |
size_sqm | integer · nullable | Immobili. Floor area in square metres. |
rooms | integer · nullable | Immobili. Number of locali. |
date | string · nullable | Publication time as ISO 8601 with the Europe/Rome offset in force ("2026-09-03T00:56:18+02:00"; +01:00 in winter). |
region | string · nullable | Region ("Emilia-Romagna"). |
city | string · nullable | Province ("Parma"). |
town | string · nullable | Comune ("Parma"). |
seller_type | string | "private" or "company". |
seller_name | string · nullable | Shop or advertiser name, when stated. |
seller_id | string · nullable | Subito user id of the seller. |
shippable | boolean | Seller offers shipping. |
shipping_cost | number · nullable | Shipping cost in euro, when stated. |
promoted | boolean | Paid visibility (gallery placement). |
urgent | boolean | Marked urgent by the seller. |
description | string · nullable | Full ad text (first 600 characters) — not the truncated card excerpt. |
thumbnail | string · nullable | First photo. |
images | string[] | Every photo, in the ad's order. |
features | object | Every other attribute the ad states, as label → value ("Km": "142.000", "Superficie": "85 mq"). Keys depend on the category. |
Input
La richiesta completa. Tutto ciò che ometti prende il default indicato nel catalogo.
| Input | Tipo | Obbligatorio | Cosa fa |
|---|---|---|---|
query | string | no | What to search, e.g. "iphone 15". Optional when a category is set — leaving it out browses that category by filters alone, which is how a motori or immobili search usually works. |
category | string | no | Subito category to search in. "all" searches every category (and disables Subito's own price/seller filtering — this collector re-applies it). Uno tra: all, motori, auto, accessori-auto, moto-e-scooter, accessori-moto, nautica, caravan-e-camper, veicoli-commerciali, immobili, appartamenti, camere-posti-letto, ville-singole-e-a-schiera, terreni-e-rustici, garage-e-box, loft-mansarde, case-vacanza, uffici-locali-commerciali, lavoro, offerte-lavoro, servizi, cerco-lavoro, attrezzature, elettronica, informatica, videogiochi, audio-video, fotografia, telefonia, casa-e-persona, arredamento-casalinghi, elettrodomestici, giardino-fai-da-te, abbigliamento-accessori, bambini-giocattoli, sport-hobby, animali, accessori-per-animali, musica-film, libri-riviste, strumenti-musicali, sport, biciclette, hobby-collezionismo, vari, annunci-vari. |
region | string | no | Italian region to search in. "italia" searches the whole country. Uno tra: italia, 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. |
city | string | no | Optional province inside the region, as it appears in a Subito URL ("roma", "milano", "reggio-emilia"). Needs `region`. |
town | string | no | Optional comune inside the province, as it appears in a Subito URL ("ladispoli", "sesto-san-giovanni"). Needs `city`. This is the level real-estate searches usually want. |
ad_type | string | no | Which kind of ad: for sale, given away for free, or wanted. Uno tra: sale, free, wanted. |
sort | string | no | Result order. Uno tra: recent, relevance, price_asc, price_desc. |
title_only | boolean | no | Match the query against ad titles only. Subito's default also matches the description, which pulls in loosely related ads. |
shippable_only | boolean | no | Only ads the seller will ship. |
min_price | integer | no | Lowest price in euro. Ads with no stated price are excluded when set. |
max_price | integer | no | Highest price in euro. Ads with no stated price are excluded when set. |
seller_type | string | no | Private sellers, verified dealers, or both. Uno tra: any, private, company. |
min_km | integer | no | Motori. Lowest mileage in kilometres. Applied to the ads even in the categories where Subito offers no mileage filter (veicoli commerciali, caravan). |
max_km | integer | no | Motori. Highest mileage in kilometres. |
min_year | integer | no | Motori. Earliest registration year. |
max_year | integer | no | Motori. Latest registration year. |
fuel | string | no | Motori. Subito splits hybrids by kind, so "hybrid" is its own value and does not cover the mild/full/plug-in ones. Uno tra: petrol, diesel, lpg, electric, cng, hybrid, mild_hybrid_petrol, mild_hybrid_diesel, full_hybrid_petrol, full_hybrid_diesel, plugin_hybrid_petrol, plugin_hybrid_diesel. |
gearbox | string | no | Motori. Transmission type. Uno tra: manual, automatic, sequential. |
vehicle_condition | string | no | Motori. Used, zero-km or new. Uno tra: used, km0, new. |
min_size | integer | no | Immobili. Smallest floor area in square metres. |
max_size | integer | no | Immobili. Largest floor area in square metres. |
min_rooms | integer | no | Immobili. Fewest locali. |
max_rooms | integer | no | Immobili. Most locali (Subito caps its own filter at "more than 10"). |
max_results | integer | no | How many ads to deliver at most (1–150). You pay only for delivered ads. |
Prezzi
Quanto costa l’API scraper per Subito.it
$0.001 per annuncio consegnato. Una run che non consegna nulla non costa nulla: pagine bloccate, challenge e retry sono a carico nostro, e i $2 gratuiti di ogni mese coprono circa 2.000 annunci prima che tu spenda un centesimo.
Pay as you go
- $2 di credito gratis / mese
- 60 richieste / min
- Prezzi di listino
Starter
- $15 di credito gratis / mese
- 300 richieste / min
- −10% sui prezzi unitari
Growth
- $50 di credito gratis / mese
- 600 richieste / min
- −20% sui prezzi unitari
Scale
- $250 di credito gratis / mese
- 1.200 richieste / min
- −30% sui prezzi unitari
Stesso portafoglio, stessa chiave e stessi $2 mensili di ogni altra Data API. Sono prezzi di lancio letti dal vivo dalla configurazione di billing — GET /v1/scraper/collectors restituisce il prezzo che la tua chiave paga davvero.
Integrazione
Una POST, righe tipizzate
Base URL https://api.quanticdata.io/v1, autenticazione Bearer, la stessa chiave di ogni altra Data API. Endpoint: POST /v1/.
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/subito_search/run \
-H "Authorization: Bearer $QD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"iphone 15","title_only":true,"max_results":30}'
Cosa si costruisce con l’API scraper per Subito.it
Le tre forme di lavoro attorno a cui è stato disegnato questo endpoint.
Prezzi del mercato dell’usato auto
Diesel automatiche dal 2018 al 2022 sotto i 120.000 km, ordinate per prezzo, una regione alla volta — con i chilometri esatti su ogni riga invece della fascia mostrata dalla card, così un modello prezzo-per-chilometro ha davvero dei chilometri su cui lavorare.
Monitoraggio immobiliare per comune
Trilocali e quadrilocali fra 100 e 150 mq in un comune, solo da privati. Rilancia a intervalli e confronta per ad_id: nuovi annunci e variazioni di prezzo emergono come righe nuove.
Scoperta di affari e di domanda
Tutto ciò che è spedibile sotto un prezzo, gli oggetti in regalo di una categoria, o gli annunci "cercasi" che rivelano cosa cerca la gente — con il venditore segnato come privato o rivenditore su ogni riga.
API scraper Subito.it contro farselo in casa
Le differenze che costano davvero tempo quando lo costruisci internamente.
| Scraper fatto in casa | Questo collector | |
|---|---|---|
| Filtri | Solo dove Subito li offre — nessuno sui furgoni, nessuno su tutte le categorie | Ogni filtro ricontrollato sulle righe, in ogni categoria |
| Chilometraggio | La fascia mostrata dalla card ("70.000 - 74.999") | Il valore esatto del contachilometri |
| Una parola marca o modello | Redirect — ordinamento, filtri e paginazione persi in silenzio | Seguita fino al listing canonico con ordinamento e filtri intatti |
| Una città scritta male | Un risultato vuoto che sembra "nessun annuncio" | Un errore chiaro che nomina il luogo, prima di addebitare qualsiasi cosa |
| Blocchi e retry | I tuoi IP, il tuo problema | Uscite residenziali italiane, run fallite mai addebitate |
Cosa cerca la gente
La domanda reale dall’autocomplete attorno a Annunci Subito.it, raccolta col nostro collector Keyword ideas.
Subito.it ha un’API pubblica?
Non per sviluppatori. Quello che esiste è rivolto agli inserzionisti professionali che importano i propri annunci; non c’è un endpoint documentato per cercare o leggere gli annunci, ed è per questo che cercare una API key o una documentazione REST di Subito non porta da nessuna parte. Questo collector legge invece le pagine di ricerca pubbliche — nessun account Subito, nessuna chiave da Subito.
Perché non uno script di scraping di Subito preso da GitHub?
Quasi tutti leggono le card visibili tramite nomi di classe CSS che Subito rigenera a ogni deploy, quindi si rompono in silenzio e restituiscono zero righe; nessuno sa che i filtri di prezzo e chilometri funzionano solo dentro una categoria, o che "golf" reindirizza lontano dalla pagina richiesta. Questo collector legge il payload dietro la pagina, riapplica ogni filtro sulle righe, segue il redirect, e arriva con uscite residenziali italiane e retry — e una run che non consegna nulla non costa nulla.
Quanto sono precisi gli intervalli di chilometri, anno e prezzo?
Esatti. Ogni intervallo viene mandato a Subito, che lo onora solo in alcune categorie, e poi ricontrollato su ogni riga consegnata. Un annuncio che non dichiara affatto il valore viene escluso quando imposti un intervallo: "furgoni sotto i 150.000 km" non contiene mai un furgone con chilometraggio ignoto.
Posso cercare in una provincia o in un singolo comune?
Sì — regione, provincia e comune, con i nomi così come compaiono negli URL di Subito (lazio, roma, ladispoli). Un luogo che Subito non conosce produce un errore che lo nomina, invece del risultato vuoto che Subito stesso restituisce per un URL sbagliato.
Cosa succede con una parola come "golf" o "panda"?
Subito reindirizza una marca o un modello esatto a un listing canonico e butta via tutto il resto della richiesta: l’ordinamento, i filtri e il numero di pagina. Il collector lo capisce dalla pagina che riceve, rilegge il listing dal path canonico con il tuo ordinamento e i tuoi filtri applicati, e pagina da lì.
Quali dati raccoglie, e da dove?
Solo ciò che la pagina di ricerca pubblica mostra a chiunque senza login: l’annuncio, il suo prezzo e i suoi attributi, il comune, e il venditore come lo mostra Subito — privato o rivenditore, con il nome del negozio quando c’è. Non viene usato alcun account e non si legge nulla dietro un login. Come conservi e usi le righe dopo è responsabilità tua, come per qualunque dato pubblico.
Esiste un’API scraper per Subito.it gratis?
Ogni account riceve $2 di credito al mese senza carta, cioè circa 2.000 annunci consegnati su questo endpoint a $0.001 l’uno. Si rinnova ogni mese, e una run che non consegna nulla non viene mai addebitata: un tentativo fallito o bloccato non consuma il credito.
Quanto costa una run?
Moltiplica le righe che ricevi davvero per $0.001. Una run al massimo di 150 annunci — il tetto di questo collector — costa $0.15 se tornano tutte, e meno quando la fonte ne ha di meno. I piani a volume scontano fino al 30%, e GET /v1/scraper/collectors restituisce il prezzo che la tua chiave paga davvero.
Prova l’API scraper per Subito.it adesso
$2 di credito gratis ogni mese, senza carta. La tua chiave legge i propri prezzi da GET /v1/scraper/collectors.