Subito.it Scraper
Pricing
from $0.97 / 1,000 listings
Subito.it Scraper
Scrape classified ads from Subito.it by search query or URL, with website-matching filters and optional listing-detail enrichment.
Pricing
from $0.97 / 1,000 listings
Rating
0.0
(0)
Developer
Data Scrapers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Subito.it Scraper creates a structured dataset of classified ads collected from Subito.it. Each dataset item can include the listing id, title, price, category, town, region, publication time, image, advertiser or shop name, and, when details are enabled, condition and shop hours. Query the source with a Subito search or listing URL, or with keywords plus category, region, and price filters. Control the result limit with maxItems. Retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format.
Dataset at a glance
| Property | Value |
|---|---|
| Source | subito.it |
| Record unit | One classified ad |
| Input methods | startUrls or searchQueries |
| Main identifiers | listingId, url |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel, XML |
| Update model | Fresh records per Actor run |
| Pricing | $1.00 per 1,000 listings and $1.50 per 1,000 detail enrichments on the Free plan. Platform usage is not billed separately. |
Coverage and available records
startUrls accepts Subito search, category, and listing URLs. When start URLs are set, keyword and form filters are not applied. Otherwise the Actor searches searchQueries or the single searchQuery. category defaults to all categories. adType defaults to for sale. Region, sort, price, title-only, shipping, urgent, and seller-type filters match the website controls. Car filters such as brand, mileage, year, fuel, and gearbox apply when the category is vehicles.
includeListingDetails opens the ad page and charges listing-details when enrichment succeeds. detailsFetched is true on those rows. maxItems of 0 means no explicit item cap. Vehicle-only fields stay empty on other categories.
Data dictionary
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
| listingId | string | no | Subito ad id. Deduplication key. | 661178635 |
| url | string | yes | Public ad page | https://www.subito.it/informatica/ipad-pro-13-m4-1-tb-wifi-cell-nanotexture-in-gar-brescia-661178635.htm |
| title | string | yes | Ad title | IPAD PRO 13" M4 1 TB WIFI+CELL NANOTEXTURE -IN GAR |
| price | number | yes | Numeric price | 1899.0 |
| currency | string | yes | Currency code | EUR |
| category | string | yes | Category label | Informatica |
| town | string | yes | Town | Brescia |
| province | string | yes | Province | Brescia |
| region | string | yes | Region | Lombardia |
| publishedAt | string | yes | Publication time | 2026-09-18T10:53:03.444+0200 |
| imageUrl | string | yes | Primary image | https://images.sbito.it/api/v1/sbt-ads-images-pro/images/88/884d7636-ce70-4ca0-85b0-6c7290c48f2c?rule=fullscreen-1x-auto |
| advertiserName | string | yes | Advertiser or shop label | Monte Alto SRL |
| shopName | string | yes | Shop name when the seller is a shop | Monte Alto SRL |
| condition | string | yes | Condition from the detail page | Nuovo - mai usato in confezione originale |
| detailsFetched | boolean | yes | True when the detail page was saved | true |
| sourceQuery | string | yes | Query or URL that produced the row | iphone |
Example dataset record
{"listingId": "661178635","url": "https://www.subito.it/informatica/ipad-pro-13-m4-1-tb-wifi-cell-nanotexture-in-gar-brescia-661178635.htm","title": "IPAD PRO 13\" M4 1 TB WIFI+CELL NANOTEXTURE -IN GAR","price": 1899.0,"currency": "EUR","category": "Informatica","town": "Brescia","province": "Brescia","region": "Lombardia","publishedAt": "2026-09-18T10:53:03.444+0200","advertiserName": "Monte Alto SRL","shopName": "Monte Alto SRL","condition": "Nuovo - mai usato in confezione originale","detailsFetched": true,"sourceQuery": "iphone"}
This row came from the keyword iphone with listing details enabled. The matching ad is a computer listing in Brescia.
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
| startUrls | array | no | empty | Subito URLs | Search, category, or ad URLs. Overrides filters. |
| searchQueries | array | no | empty | Keywords | Search terms. Ignored when start URLs are set. |
| searchQuery | string | no | empty | Keyword | Single keyword. Prefer searchQueries. |
| category | string | no | 0 | Schema enum | Category. 0 is all categories. |
| adType | string | no | s | Schema enum | For sale or other ad types. |
| region | string | no | empty | Schema enum | Italian region. |
| sortBy | string | no | datedesc | Schema enum | Sort order. |
| minPrice | integer | no | empty | EUR | Minimum price. |
| maxPrice | integer | no | empty | EUR | Maximum price. |
| titleOnly | boolean | no | false | true, false | Match the title only. |
| shippingAvailable | boolean | no | false | true, false | Shipping available. |
| urgentOnly | boolean | no | false | true, false | Urgent ads only. |
| advertiserType | string | no | empty | Schema enum | Private or shop. |
| carBrand | string | no | empty | Schema enum | Vehicle brand. |
| carModel | string | no | empty | Text | Vehicle model. |
| vehicleStatus | string | no | empty | Schema enum | Vehicle condition. |
| minMileage | integer | no | empty | Kilometers | Minimum mileage. |
| maxMileage | integer | no | empty | Kilometers | Maximum mileage. |
| minYear | integer | no | empty | Year | Oldest registration year. |
| maxYear | integer | no | empty | Year | Newest registration year. |
| newDriversOnly | boolean | no | false | true, false | Suitable for new drivers. |
| minPowerCv | integer | no | empty | CV | Minimum power. |
| maxPowerCv | integer | no | empty | CV | Maximum power. |
| fuel | array | no | empty | Schema enum | Fuel types. |
| emissionClass | array | no | empty | Schema enum | Emission classes. |
| bodyType | string | no | empty | Schema enum | Body type. |
| color | string | no | empty | Schema enum | Color. |
| gearbox | string | no | empty | Schema enum | Gearbox. |
| doors | string | no | empty | Schema enum | Door count. |
| minSeats | integer | no | empty | Integer | Minimum seats. |
| maxSeats | integer | no | empty | Integer | Maximum seats. |
| equipment | array | no | empty | Schema enum | Equipment. |
| vatDeductible | boolean | no | false | true, false | VAT exposed. |
| qualityCertified | boolean | no | false | true, false | Quality certified. |
| includeListingDetails | boolean | no | false | true, false | Fetch ad pages. Charges listing-details. |
| detailsConcurrency | integer | no | 10 | Integer | Parallel detail fetches. |
| maxItems | integer | no | 0 | Integer | Maximum ads saved. 0 does not add a cap. |
| proxyConfiguration | object | no | Apify residential, Italy | Apify proxy input | Proxy used for Subito requests. |
Minimal request:
{"searchQueries": ["iphone"],"maxItems": 5}
Retrieve the data through the API
Start the Actor with JSON input, wait for the run, then read the default dataset. Other languages are on the Actor API tab.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("datascrapers/subito-scraper").call(run_input={"searchQueries": ["iphone"],"maxItems": 5,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["listingId"], item.get("price"))
Data quality and record handling
Use listingId as the deduplication key. price is a number in euros. publishedAt keeps the offset returned by Subito. Detail fields such as condition and shopHours are present when detailsFetched is true. An ad page that fails is still saved from the search card, with detailsFetched false. The example advertiser is a shop name.
Pricing and cost examples
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| dataset-item | $1.00 | $0.99 | $0.98 | $0.97 |
| listing-details | $1.50 | $1.40 | $1.30 | $1.20 |
Prices are per 1,000 events. Platinum and Diamond use the Gold price. Platform usage is not billed on top of these events. A Free-plan run that saves 1,000 ads costs $1.00. Enabling details adds $1.50 per 1,000 successful detail pages.
Limitations and responsible data use
Subito can change search filters, require an Italian residential proxy, or omit shop fields on private ads. Vehicle filters do not apply to other categories. Use the data under Subito's terms and applicable privacy rules.
Dataset questions
Do start URLs ignore the category filter?
Yes. When startUrls is set, the Actor follows those URLs and does not apply searchQueries or the form filters.
What does maxItems 0 mean?
The run keeps paging until the search ends or the platform stops it. Set a positive maxItems to cap the dataset.
Which field should I store as the key?
Store listingId. It is the numeric id at the end of the ad URL.
Related datasets from Data Scrapers
- MediaMarkt Germany Product Scraper for German electronics products.
- Cdiscount Scraper for French retail products.
- Carrefour Scraper for Carrefour products.
- Chargefinder Scraper for public charging stations.
- Company Services Finder for company service labels.
Data Scrapers support
Questions about this dataset: stardustspotlight@gmail.com
