Versions follow the Actor's version field in .actor/actor.json (MAJOR.MINOR).
- Added the dataset schema (
.actor/dataset_schema.json) with three table views (Overview, Contact, Technology platforms) and an output schema that links to each view and to the full results.
- Input schema: full description and example (no
maxItems: the Actor answers entries past 100 with a free error row instead of the Console refusing the run). Added example_input.json (equals the prefill).
- README rewritten in the Store order: What it does, Who it's for, Input, Output sample, Pricing example, Limits, FAQ, Changelog. The output sample is the same real run as before (2026-10-13).
- The README said $0.01 per business; the Console price is $0.005 per
business-scraped event (set 2026-10-14, ventures/apify-store-actor.md in harbor-ops), so the README now says $0.005. actor.json has no pricing block and none was added: the price lives in the Console.
- Shortened the Actor title from 66 to 54 characters (Apify's title limit is 63); "validated" stays in the description.
- Added
store-listing.md (SEO title and description, categories, keywords: recorded, not applied in the Console).
- One term throughout: business is what a run returns and what is charged.
- No change to the code, the output row shape or the charge. One thing is new on the platform side: with a dataset schema, Apify checks every pushed item against the declared field types and rejects a mismatch (docs: "Validate dataset output"; the whole request is refused with HTTP 400, and
Platform.push then raises and the run stops before charging). So types are declared only for fields this code controls (domain, status, charged); fields that come from the Agent Harbor service are described but untyped. tests/test_actor_quality.py runs every row shape the code can save through the declared types. Step 6 of the Console task checks a real run saves its rows.
TODO Brian: src/main.py has EVENT_PRICE_FALLBACK_USD = 0.01, used only when the run's pricing lookup fails (it sizes the "maximum charge below one business" check). The Console price is $0.005. Changing it is money-path code, so it is left for your review. Also .actor/actor.json has "name": "business-website-scraper" while the live Actor is scrape-business-actor: check which one apify push targets before pushing 0.2.
- First version of the Actor: one
business-scraped event per business returned with a validated profile.