# Changelog of Buscja Business Directory Scraper (Brazil) (`blackfalcondata/buscja-com-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/buscja-com-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/buscja-com-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### \[Unreleased] — 2026-10-12

Review fixes. No input or output field was removed.

#### Fixed

- A maximum charge per run set by the buyer is now honoured exactly: the platform's own usage cost no longer counts the per-result charges twice, so a run no longer stops early before reaching the limit.
- A run where every search failed (misspelled city, keyword under 3 characters, 404, blocked) now FAILS with the underlying reason instead of ending SUCCEEDED with 0 items. A keyword with no location (and no buscja.com URL) is treated as non-actionable input.
- Incremental runs that end early (no tasks / no results) release the state lock and atomic claim, so the next scheduled run is no longer reported as lock-busy for 30 minutes.
- Failed business-page fetches are retried once, logged as a warning with the count, and in incremental mode a known listing keeps its previous change state instead of flipping to a false UPDATED.
- `skipReposts` now works: `contentHash` is a sha256 of the normalised name, street, city, state and phone digits.
- `descriptionFormat` is applied (all / text / html / markdown).
- Pasted business-page URLs now return `categorySlug` (from the URL), `website` and `hasContactForm` (when the page carries them) and no longer fetch the page twice.
- `searchQuery` shows the query of the task that produced the record, not the first task's.
- Hyphenated place names ("Embu-Guaçu") resolve; only comma, pipe, slash and a spaced " - " split a location (the old every-hyphen split remains as fallback).
- `startUrls` given as `{ "url": "..." }` objects are accepted.
- Network errors (reset, DNS) are retried like retryable HTTP statuses; result-page concurrency lowered from 20 to 5.
- The diagnostics input snapshot redacts the WhatsApp recipient and phone-number id; webhook URL and headers are secret inputs.

#### Added

- Output fields `descriptionText`, `descriptionHtml`, `descriptionMarkdown`; the dataset "all" view lists them together with `isRepost`, `repostOfId` and `repostDetectedAt`.

### \[0.1.0] — 2026-10-12

Initial release.

#### Added

- Scrape records from buscja.com.
