Subito.it Scraper - Italy Classifieds & Prices, No Login
Pricing
Pay per event
Subito.it Scraper - Italy Classifieds & Prices, No Login
Scrape Subito.it classified ads by keyword, category, region and price: title, price, town, photos, condition, seller type and category attributes. Only-new mode for monitoring. No login, cookies or phone numbers.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Cliqto Media
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape classified ads from Subito.it, Italy's biggest classifieds site, by keyword, category, region, price and seller type. Each row has the title, price, town, province, photos, condition, seller type, posting date and the category's own details, such as mileage, year or rooms. No login, cookies or proxy settings. A 20-listing search costs $0.0225 on the Free plan.
Use it to watch prices, find new deals or collect market data from Italy. The smallest run is one keyword, and it finishes in a few seconds. Turn on onlyNew and schedule the run to get only new listings each time.

Table of contents
- What it does
- Quick start
- Use cases
- Input
- Input examples
- Output
- Pricing and limits
- API, export and integrations
- Limits and data notes
- Troubleshooting
- FAQ
- Support
What it does
The Actor runs the same searches as the Subito.it website and saves one row per listing. You can search by keyword or leave the keyword empty and read a whole category or region. Results come newest first.
Every row has the same columns in every category. The price is a number in euros, and the dates are in UTC. The category details (for example fuel, year and mileage for cars) are in one features object. Photo links are always a list.
You can filter by:
- Keyword: one search per keyword, such as
bicicletta,iphone 13ordivano. - Category: 43 Subito.it categories, such as Cars, Apartments, Phones or Bicycles.
- Region: one of the 20 Italian regions.
- Ad type: for sale, for rent, wanted, holiday rental or giveaway.
- Price: minimum and maximum in euros.
- Seller type: private people or businesses (shops, dealers, agencies).
- Only in the title and only with Subito shipping.
Good fit
- Track prices of used cars, bikes, phones or furniture in one region.
- Get new listings for a search every day or every hour with
onlyNew. - Compare private and business sellers in a category.
- Collect rental or sale listings for a real estate market report.
Not a fit
- Seller phone numbers, e-mails or names of private sellers. They are not collected.
- Other classifieds sites, or Subito listings outside Italy.
- More than 10,000 listings for one search. Subito.it shows at most 10,000. Split a big search by region or price to get more.
- Sorting other than newest first.
Quick start
- Open the Input tab.
- Keep Search keywords as
bicicletta(the prefill). - Keep Max listings per keyword at
20. - Click Start.
- Open the Listings view of the dataset. Check
title,price,cityandpostedAt.
Expected result: the 20 newest bicycle listings in Italy, in about 3 seconds.
Use cases
| Task | Input | Key fields | Next step |
|---|---|---|---|
| Watch used car prices in a region | category: auto, region, priceMin, priceMax | price, features.year, features.mileage_scalar, city | Sort by price in a spreadsheet |
| Get new deals as soon as they appear | queries + onlyNew: true | title, price, url, postedAt | Schedule the run every hour |
| Rental market report | category: appartamenti, adType: rent, region | price, features, city, province | Group by city |
| Find shops and dealers in a category | category + sellerType: professional | shopName, city, category | Count listings per shopName |
Input
At least one of queries, category or region is required. Everything else is optional. Keywords that only differ in upper/lower case or spaces are searched once.
| Field | Type | Default / prefill | Allowed values | What it does |
|---|---|---|---|---|
queries | array of strings | empty / ["bicicletta"] | Up to 50 keywords, each up to 200 characters | One search per keyword. Write keywords in Italian, as buyers do. Empty: read the whole category and/or region. |
category | string | "" (any) | 43 categories, such as auto, appartamenti, telefonia, biciclette | Only listings in this category. Group entries like motori (all motors) cover all their categories. |
region | string | "" (all Italy) | 20 regions, such as lombardia, lazio, sicilia | Only listings in this region. |
adType | string | sale | sale, rent, wanted, holiday, gift | For sale, for rent, wanted ("Cercasi"), holiday rental or giveaway. |
priceMin | integer | empty | 0 or more euros | Only listings with this price or more. |
priceMax | integer | empty | 0 or more euros, not less than priceMin | Only listings with this price or less. |
maxItems | integer | 100 / 20 | 1–10,000 | Listings to save for each keyword (or for the category/region search). |
onlyNew | boolean | false | true / false | Save (and pay for) only listings that this search did not return before. |
sellerType | string | all | all, private, professional | Private people only, or businesses only. |
titleOnly | boolean | false | true / false | Match the keyword only in the title, not in the description. |
shippingOnly | boolean | false | true / false | Only items the seller ships with Subito delivery. |
includeDescription | boolean | true | true / false | Turn off to get smaller rows; description is then null. |
Wrong input (for example priceMin greater than priceMax, or no keyword, category or region) stops the run before any request, with a clear message.
Settings that work together
- All filters apply to every keyword. 3 keywords with
region: laziomake 3 searches, all in Lazio. maxItemsapplies to each keyword. 3 keywords withmaxItems: 400can save up to 1,200 listings.- A listing found by two keywords is saved and charged once, under the first keyword.
onlyNewremembers each search by its keyword and filters. If you change a filter, it is a new search, and the first run returns all listings again (up tomaxItems).
Input examples
Bicycles, newest first
{"queries":["bicicletta"],"maxItems":20}
Returns the 20 newest bicycle listings in Italy. Costs $0.0225 on the Free plan.
Used cars from private sellers in Lombardy
{"category":"auto","region":"lombardia","priceMin":3000,"priceMax":6000,"sellerType":"private","maxItems":50}
Returns 50 car listings priced €3,000–6,000. features has the make and model, year, mileage, fuel, gearbox and power.
Daily monitor: only new listings
{"queries":["iphone 13","vespa 125"],"region":"lazio","maxItems":200,"onlyNew":true}
The first run returns up to 200 listings per keyword. Each later run returns only the listings added since the run before. If nothing is new, the run saves no rows.
Output
One dataset row is one listing. The Listings view shows the main columns. Download JSON, CSV or Excel from the dataset.
Output example
{"id": "664528066","urn": "id:ad:8b094273-32b6-4e90-b12f-084df242018c:list:664528066","url": "https://www.subito.it/biciclette/bici-da-corsa-sarto-bologna-664528066.htm","title": "Bici da corsa Sarto","description": "Bicicletta da Corsa Sarto Seta con gruppo Record Campagnolo 10 velocità taglia S orrizontale 52 cm verticale 50 cm","price": 900,"currency": "EUR","adType": "sale","adTypeLabel": "In vendita","category": "Biciclette","categoryId": "41","macrocategoryId": "18","region": "Emilia-Romagna","regionId": "8","province": "Bologna","provinceCode": "BO","city": "Bologna","latitude": 44.49411,"longitude": 11.341719,"postedAt": "2026-10-14T13:14:55.444Z","expiresAt": "2027-10-14T13:14:55.444Z","condition": "Ottimo - poco usato e ben conservato","shippingAvailable": true,"features": {"bicycle_type": "Uomo","item_condition": "Ottimo - poco usato e ben conservato","item_shippable": "Sì","item_shipping_cost_tuttosubito": "24,90 €"},"images": ["https://images.sbito.it/api/v1/sbt-ads-images-pro/images/91/9118b420-7f13-48e8-b012-72225d03ec81?rule=gallery-desktop-2x-auto","https://images.sbito.it/api/v1/sbt-ads-images-pro/images/c0/c0c24a31-b068-49d1-986e-b42a4452066a?rule=gallery-desktop-2x-auto"],"imageCount": 6,"sellerType": "private","shopName": null,"searchQuery": "bicicletta","source": "subito.it","fetchedAt": "2026-10-14T13:18:22.105Z"}
This is a real row from a bicicletta search in October 2026. features and images are shortened here; the real row has 7 features and 6 photo links. null means Subito.it does not show this value for the listing.
Output fields
| Field | Type | Can be null? | Meaning |
|---|---|---|---|
id | string | no | Listing number (the number at the end of the link). |
urn | string | no | Full Subito.it listing ID. |
url | string | no | Listing page on www.subito.it. |
title | string | yes | Listing title. Phone numbers and e-mails in it are masked. |
description | string | yes | Listing text. null when includeDescription is off. Phone numbers and e-mails are masked. |
price | number | yes | Price in euros. null when the listing has no price (never 0 for a missing price). |
currency | string | yes | EUR, or null when there is no price. |
adType | string | yes | sale, rent, wanted, holiday or gift. |
adTypeLabel | string | yes | Ad type in Italian, such as In vendita. |
category | string | yes | Category name in Italian, such as Biciclette or Auto. |
categoryId, macrocategoryId | string | yes | Subito.it category and category group numbers. |
region, regionId | string | yes | Region name and number, such as Lombardia / 4. |
province, provinceCode | string | yes | Province, such as Milano / MI. |
city | string | yes | Town (comune). |
latitude, longitude | number | yes | Center of the town, not the seller's address. |
postedAt | string | yes | When the listing was published or last renewed, ISO UTC. |
expiresAt | string | yes | When the listing expires, ISO UTC. |
condition | string | yes | Item condition in Italian, such as Come nuovo. Not all categories have it. |
shippingAvailable | boolean | yes | true when the seller ships with Subito delivery. |
features | object | no | The category's own details, as key: value text. Cars: year, mileage_scalar, fuel, gearbox, power… Homes: rooms, size, floor… Can be {}. |
images | array of strings | no | Photo links (large size). Empty list when there are no photos. |
imageCount | integer | no | Number of photos. |
sellerType | string | yes | private or professional (shop, dealer, agency). |
shopName | string | yes | Business name. Only for professional; always null for private sellers. |
searchQuery | string | yes | The keyword that found this listing. null for a category or region search without a keyword. |
source | string | no | Always subito.it. |
fetchedAt | string | no | When the row was read, ISO UTC. |
Run summary
The key-value store record RUN_SUMMARY has status, reason, message, counts and one entry per search (status, listings available, pages read, listings saved, listings skipped as already seen). The run's Output tab links to it.
| Situation | Dataset | Status / run | What to do |
|---|---|---|---|
| Listings saved | One row per listing | COMPLETE, succeeded | Export the rows. |
No listings match (or nothing new with onlyNew) | Empty | NO_RESULTS, succeeded | Check the keyword or try wider filters. |
| Spending limit reached | Rows saved so far | PARTIAL + CHARGE_LIMIT, succeeded | Raise the maximum cost per run. |
| Run timeout reached | Rows saved so far | PARTIAL + TIME_LIMIT, succeeded | Raise the timeout or lower maxItems. |
| Subito.it failed or blocked the request | Rows saved so far stay | PARTIAL or ERROR + SOURCE_ERROR, failed | Try again later. |
| Invalid input | Empty | INVALID_INPUT, failed | Read the message; fix the field it names. |
Pricing and limits
Pay per event. The price includes platform usage; you pay only the events below.
| Event | Price | When it is charged |
|---|---|---|
| Actor start | $0.0045 | Once per run. |
| Listing | $0.0009 – $0.00075 | Each saved row. The price depends on your Apify plan (see below). |
| Apify plan | Per listing | 1,000 listings with start |
|---|---|---|
| Free | $0.0009 | $0.9045 |
| Bronze | $0.00085 | $0.8545 |
| Silver | $0.0008 | $0.8045 |
| Gold and higher | $0.00075 | $0.7545 |
Listings skipped as duplicates or as already seen (onlyNew) are not charged. A run with no results pays only the start.
Cost examples (Free plan)
| Scenario | Input | Listings | Total | Time in tests |
|---|---|---|---|---|
| Prefill | bicicletta, 20 | 20 | $0.0225 | about 3 s |
| One search | 1 keyword, 100 | 100 | $0.0945 | about 5 s |
| Three keywords in one region | 3 × 400, Lazio | 1,200 | $1.0845 | 18 s |
| One big search | 10,000 | 10,000 | $9.0045 | about 3 min |
| No results | an unknown word | 0 | $0.0045 | about 2 s |
| Monitor, nothing new | onlyNew, nothing changed | 0 | $0.0045 | a few seconds |
Totals use the listed event prices and the listing counts from test runs.
Set a maximum cost per run to control spending. The Actor checks it before saving each page of rows. When the limit is reached, the run stops and keeps the rows saved so far (CHARGE_LIMIT, succeeded).
Speed and size
- Memory is 256 MB. The Actor reads up to 100 listings per request and makes one request per second, to be polite to Subito.it. In tests this was about 60 listings per second.
- The default timeout is 300 seconds: enough for about 10,000–15,000 listings. In tests, 19,609 listings (two searches) took 332 seconds with a 600-second timeout.
- Up to 10,000 listings per search (the Subito.it limit) and 50 keywords per run.
API, export and integrations
Start a run with the Apify API and the same JSON input as in the examples:
POST https://api.apify.com/v2/acts/cliqtomedia~subito-listings-scraper/runs
Read the default dataset when the run finishes. Export JSON, CSV or Excel. Use id as the key when you join rows from different runs. Keep your Apify token private.
To monitor a search, create an Apify schedule with onlyNew: true. Each run then returns only new listings. Add a webhook or an integration (for example Slack, Google Sheets or Zapier) to send the new rows on. This Actor does not create schedules or send alerts itself.
Use with AI agents (MCP)
Apify MCP gives agents access to this Actor. The smallest useful input is:
{"queries":["bicicletta"],"maxItems":20}
Key output fields: title and price (euros, number) describe the offer, city and region say where it is, postedAt says when it was published, and url links to the listing. This run takes about 3 seconds and costs $0.0225 on the Free plan. Limits: up to 10,000 listings per search and 50 keywords per run.
Limits and data notes
- Search results. Subito.it decides which listings match a keyword. The Actor does not promise every listing on the site.
- 10,000 per search. Subito.it shows at most 10,000 results for one search. For bigger categories, split by region or price range.
- Newest first.
postedAtis the publish or renewal time, so a renewed old listing can appear as new. - Features. Keys and values come from Subito.it and are in Italian. Each category has its own keys.
- Privacy. Phone numbers, seller user IDs and names of private sellers are never collected. Phone numbers and e-mails typed into the title or text are replaced with
[phone removed]/[email removed]. - Changes. If Subito.it changes its website, a run can fail with
SOURCE_ERRORuntil the Actor is updated.
Data comes from the public search pages of Subito.it. The Subito.it terms limit automated access and reuse of its content. You are responsible for checking that your use of the data is allowed. This Actor is an independent tool. It is not made by or endorsed by Subito.it.
Troubleshooting
The dataset is empty
Open RUN_SUMMARY. NO_RESULTS means Subito.it has no listing for this keyword and these filters. Check the spelling, write the keyword in Italian, or remove a filter. With onlyNew, it can also mean that nothing is new since the last run.
onlyNew returns all listings again
onlyNew remembers a search by its keyword and all its filters. If you change a filter, it is a new search with an empty history, so the first run returns all listings again (up to maxItems). Keep the same input for each scheduled run.
The run stopped early
CHARGE_LIMIT means the maximum cost per run was reached; raise it. TIME_LIMIT means the run timeout was reached; raise the timeout or lower maxItems. In both cases the run succeeds and keeps the saved rows.
The run failed with SOURCE_ERROR
Subito.it did not answer after several tries, or refused the request. Rows saved before the error stay in the dataset. Wait a few minutes and try again.
FAQ
Do I need a Subito.it account or a proxy?
No. The Actor reads public search results. You only need an Apify account.
Can I get the seller's phone number?
No. Phone numbers and contact details are not collected, and those typed into the text are masked. Use the url to contact the seller on Subito.it.
Does a search with no results cost money?
Only the start: $0.0045. Rows are charged only when they are saved.
Can I search all of Italy?
Yes. Leave region empty. To read a whole category without a keyword, leave queries empty and set category.
How do I get price history?
Each run gives the current listings. Schedule the same input and keep the datasets. Use id to follow one listing over time.
Support
Open an issue in this Actor's Issues tab. Include the run ID, your input and the message from RUN_SUMMARY. Never share your Apify token.