Subito Italy Car Scraper avatar

Subito Italy Car Scraper

Pricing

Pay per event

Go to Apify Store
Subito Italy Car Scraper

Subito Italy Car Scraper

Scrape used-car listings from subito.it, Italy's #1 classifieds marketplace — price, make, model, year, mileage, fuel, gearbox, power, body type, colour, seller type, region, province, and photos. Export to JSON or CSV.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share


🎯 What this scrapes

subito.it is Italy's largest classifieds marketplace and the default place Italians buy and sell used cars (auto usate). It publishes no public API. This Actor wraps a polite scrape of the Auto category — paste a filtered subito search URL or use the default car listing page, and pull every listing's price, make/model/version, year, mileage (km), fuel, gearbox, power, body type, colour, seller type, region/province/town, full Italian description, and photos. Built on curl-cffi with browser TLS impersonation to ride past DataDome.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per page, Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Used-car price analytics — track asking prices by make/model/year across the Italian market.
  • Dealer inventory monitoring — diff successive runs to spot new arrivals and price cuts at specific dealers.
  • Market research — aggregate fuel-type and gearbox mix to gauge EV/hybrid adoption in Italy.
  • Lead generation — build a directory of car dealers from seller_name + location.
  • Arbitrage / sourcing — find under-priced listings filtered by mileage, year, and power.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
searchUrlstringno''Full subito.it Auto search/results URL with your filters already applied (e.g. https://www.subito.it/annunci-itali
maxResultsintegerno50Hard cap on dataset rows. subito paginates 30 listings per page; the Actor walks pages until this cap or the last page.
enrichDetailsbooleannoFalseFetch each listing's detail page for full-resolution photo URLs. The search payload already carries price, specs, seller
proxyConfigurationobjectno{'useApifyProxy': True, 'apifyProxyGroups': ['RESIDENTIAL']}Apify Proxy spec. subito is protected by DataDome — Italian residential exits are strongly recommended.

Example input

{
"searchUrl": "",
"maxResults": 5,
"enrichDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
listing_idstringsubito ad ID (numeric).
listing_urlstringAbsolute URL to the listing detail page.
titlestringListing headline (the seller's subject line).
make['string', 'null']Car manufacturer (e.g. FIAT, BMW, Volkswagen).
model['string', 'null']Model name (e.g. Fiorino, Golf).
version['string', 'null']Version / trim line (e.g. 1.3 MJT 95CV Cargo SX).
year['integer', 'null']Year of first registration (anno di immatricolazione).
price['integer', 'null']Asking price as an integer in euros.
currency['string', 'null']ISO-4217 currency code — always EUR for subito.it.
mileage_km['integer', 'null']Odometer reading in kilometres.
fuel_type['string', 'null']Fuel type (Benzina, Diesel, GPL, Elettrica, Ibrida).
transmission['string', 'null']Gearbox (Manuale / Automatico).
engine_power_hp['integer', 'null']Engine power in Italian horsepower (CV).
engine_power_kw['integer', 'null']Engine power in kilowatts.
body_type['string', 'null']Body / car type (e.g. Berlina, SUV, Monovolume).
color['string', 'null']Exterior colour name (e.g. Bianco, Nero).
first_registration['string', 'null']First-registration date as MM/YYYY when available.
location['string', 'null']Town / comune of the listing.
region['string', 'null']Italian region (Regione, e.g. Piemonte, Lombardia).
province['string', 'null']Italian province (Provincia, e.g. Torino).
seller_type['string', 'null']private or dealer.
seller_name['string', 'null']Dealer / advertiser name when present.
photo_urlsarrayList of listing photo URLs.
description['string', 'null']Full Italian listing description (plain text).
posted_date['string', 'null']Timestamp when the listing was published (subito local time).
scraped_atstringISO timestamp when this row was recorded.

Example output

{
"listing_id": "649218791",
"listing_url": "https://www.subito.it/auto/fiat-fiorino-torino-649218791.htm",
"title": "fiat fiorino",
"make": "FIAT",
"model": "Fiorino",
"version": "Fiorino 1.3 MJT 95CV Cargo SX",
"year": 2019,
"price": 8500,
"currency": "EUR",
"mileage_km": 120000,
"fuel_type": "Diesel",
"transmission": "Manuale",
"engine_power_hp": 95,
"engine_power_kw": 70,
"body_type": "Monovolume",
"color": "Bianco",
"first_registration": "07/2019",
"location": "Torino",
"region": "Piemonte",
"province": "Torino",
"seller_type": "dealer",
"seller_name": null,
"photo_urls": [
"https://images.sbito.it/api/v1/sbt-ads-images-pro/images/5e/5ef9b3ff-22bb-4419-9e68-1345c6551bc7"
],
"description": "vendo bellissima fiat fiorino anno 2019 come nuovo 1.3 mj chilometraggio 120 mille ...",
"posted_date": "2026-06-02 00:53:13",
"scraped_at": "2026-06-02T00:00:00+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result-row$0.002PPE event

Example: 1 000 results at the rates above ≈ $2.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

subito paginates 30 listings per page and very deep result sets eventually stop returning new pages — large queries cap out well before the full half-million listings. Private sellers usually leave seller_name blank. Mileage on the search payload is a precise scalar; some legacy listings only expose a mileage band. Detail enrichment adds one request per listing and roughly doubles run time, returning only higher-resolution photo URLs.

❓ FAQ

Do I need a subito account or API key?

No. subito.it offers no public API. This Actor scrapes the public Auto category politely — see the ToS Notice in the README.

How do I scrape a filtered search?

Apply your filters on subito.it, copy the resulting URL from your browser, and paste it into searchUrl. We walk the result pages from there.

Why is subito hard to scrape?

subito is protected by DataDome bot mitigation. This Actor rides past it with browser TLS impersonation, rotating sessions on 403/429, exponential backoff, and a landing-page warm-up. Residential proxies are strongly recommended.

Do I need detail enrichment?

Usually no. The search payload already carries price, full specs, seller, location, description, and thumbnail photos. Enable enrichDetails only when you want the full-resolution photo URLs from each detail page.

What currency are prices in?

Always EUR. price is an integer in euros; mileage is always in kilometres.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.