# Changelog of Amazon Price Monitor (`gedli/amazon-intelligence-actor`) Actor

- **URL**: https://apify.com/gedli/amazon-intelligence-actor/changelog.md
- **Full Actor documentation**: https://apify.com/gedli/amazon-intelligence-actor.md

## Changelog

### v2.0.2 (2026-07-06)

#### Fixed

- **ASIN mode**: bulk ASIN input now correctly converts to product URLs before scraping (was silently falling through to empty keyword search)
- **Actor failure reporting**: pipeline errors now trigger `Actor.fail()` with exit code and status message instead of a generic crash

#### Changed

- **Dataset writes batched**: all products pushed in a single `Actor.push_data()` call instead of N individual calls — reduces cloud API overhead
- **Cloud export optimization**: local file exports (JSON/CSV/JSONL/SQLite) skipped when running on Apify Cloud — the dataset is the sole output channel
- **Shared HTTP client**: AI calls reuse a single `httpx.Client` connection pool instead of creating a new TCP connection per call — reduces AI latency on runs with API keys

### v2.0.1 (2026-07-06)

#### Changed

- Documentation overhaul: AGENTS.md created for AI onboarding, README rewritten outcomes-first
- STORE_ASSETS.md consolidated (absorbed STORE_MARKETING_ASSETS.md)
- Input schema moved to standard `.actor/input_schema.json` location
- `.actor/actor.json` updated with `generatedBy` and fixed input schema path
- Stale build reports removed (PUBLICATION_REPORT.md, OUTPUT_SCHEMA_REPORT.md)

#### Fixed

- Version consistency across all documentation files
- Examples expanded with bulk keywords and storefront scrape modes

### v2.0.0 (2026-07-06)

#### Added

- Opportunity scoring: `competition_score`, `opportunity_score`, `profit_potential` (0-100 with confidence + reasons)
- AI intelligence: `search_intent`, `target_customer`, `suggested_keywords`, `sales_angle`, `strengths`, `weaknesses`, `ai_summary`
- Trend direction: `trend_direction` (rising/steady/declining)
- 8 discovery modes: search, store, brand, category, bestsellers, movers, new_releases, manual_urls
- Bulk input: `asins[]`, `startUrls[]`, `queries[]`
- 4 export formats: JSON, CSV, JSONL, SQLite
- Deterministic demand scoring (works without AI key)
- Stealth anti-blocking (webdriver evasions, header rotation, randomized delays)
- Resume support (persistent crawl state across interruptions)
- Structured logging (console + `output/crawl.log`)
- Apify Store input schema with validation, prefills, and category picker
- 59 output fields per product

#### Changed

- Rewrote pipeline for multi-mode dispatch
- Moved from single scraper to modular: scraper.py, ai.py, exporters.py, models.py
- `apify run` now always uses Apify SDK (works locally + cloud)
- Async Playwright conflict resolved via thread delegation

### v1.0.0 (2026-07-05)

#### Added

- Initial Amazon search scraper with Playwright
- OpenRouter AI integration (categorization, demand scoring, dedup)
- Basic CLI and Apify Actor support
- 3 product output (JSON only)
