# Changelog of Subito.it Scraper 🇮🇹 (cars, property, jobs, goods) (`tagadanar/subito-scraper`) Actor

- **URL**: https://apify.com/tagadanar/subito-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/subito-scraper.md

## Changelog

### 2026-08-29 (later)

- **Fixed: a short run gave up after one attempt.** The time guard priced every
  retry at its worst case — a full 60-second timeout — and refused to start a
  retry it could not fit five times over. On a 100-second run that left room for
  exactly one attempt, so the run asked Subito once, was turned away by its
  Akamai edge in about a third of a second, and stopped there without ever
  rotating to the second proxy exit and browser fingerprint, which is the whole
  reason the retry ladder exists. It now measures the time each attempt actually
  takes: every exit is tried while the clock allows, and only a genuinely spent
  run stops early.
- **Fixed: a run that ran out of time said it had been blocked.** The status
  message claimed Subito had refused every proxy IP and fingerprint when a
  single one had been tried. A run stopped by the clock now reports the clock —
  "N of M proxy/fingerprint attempts tried before the crawl box closed" — says
  plainly that it cannot tell whether Subito would have served the page, and no
  longer saves that page as a blocked-page snapshot. Nothing about such a page
  is charged, and the wall verdict is reserved for a ladder that really was
  walked to the end.

### 2026-08-29

- The run now watches its own clock. Long searches used to be killed by the
  platform timeout mid-page, losing every listing that had not been pushed yet.
  The actor now stops walking pages while there is still time to charge and
  deliver what it collected, and ends **successfully** with a status message
  saying "Stopped at the run time limit: N rows delivered, raise the run
  timeout or lower maxResults."
- Page fetches are bounded by the time actually left, not by a fixed retry
  ladder. A single slow page could previously burn five minutes of retries past
  the point where the run still had time for it.
- Honest limits in the input form: **Max listings** now tops out at 45,000
  instead of advertising 100,000 that no run could reach, and the field says
  plainly that Subito itself stops at about 10,000 results per search.
  **Search terms** and **Search URLs** accept up to 20 entries each.
- Every run now ends with a status message instead of finishing silently — and
  a run that was blocked, cut short by the clock, stopped by your charge limit,
  or capped by Subito's own 10,000-result ceiling says which, instead of looking
  like an empty search. Ads dropped by the seller-type filter are now counted in
  the message too (they were never charged).

### 2026-07-13

- README: added the missing Pricing section, disclosing per-event prices and the $0.001 actor-start fee.

### 2026-07-12

- Invalid input no longer fails the run. The run now finishes cleanly with a clear explanation in its status message, so a typo or an empty list is easy to spot and fix.
- List inputs now accept datasets piped straight from another scraper: entries
  that are objects are read through their usual key names (url/link,
  query/keyword/title, name/company and similar) instead of being rejected.

### 0.2.0

Simpler pricing: one flat price per listing with platform usage included, so the number you see is the number you pay. Nothing to configure, just give a search and get listings.

### 0.1.0

First release. Search Subito.it by keyword, category, region, price band and seller type, or paste a Subito search URL. Each listing comes back as one flat JSON record with price, location, posting date, condition, the private-vs-shop seller flag and photo. Reads Subito's own structured data, so the fields stay stable across site restyles.
