# Changelog of Company Tech Stack Scraper — BuiltWith Alternative (`devilscrapes/builtwith-alternative-scraper`) Actor

- **URL**: https://apify.com/devilscrapes/builtwith-alternative-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/devilscrapes/builtwith-alternative-scraper.md

## Changelog

### 0.2 — 2026-06-15 (published)

- Pushed v0.2 build 0.2.1 to Apify Store. Cloud QA PASS (runId=UZLtngD0wE7oGvs5l, 3 items, PPE actor-start×1 + result-row×3).
- Fixed `seoDescription` length (was 193 chars, trimmed to 156 to satisfy 120–160 gate).
- Fixed `actor.json` description (was 331 chars, trimmed to 291 to satisfy Apify 300-char limit).
- Added `tests/fixtures/input.qa.json` (was missing — required for QA agent).
- Added `# type: ignore` to three test lines where pyright couldn't resolve Pydantic `populate_by_name` aliases.
- Store metadata synced (title, description, seoTitle, seoDescription); icon uploaded.

### 0.2 — 2026-06-07

- **Slug renamed `ats-tech-stack-scraper` → `builtwith-alternative-scraper`** for URL-path SEO on the wedge keyword (done while traction was near-zero — 2 users — per Apify's "rename early" guidance; old URL does NOT redirect, so the dev.to anchor link must be updated and the live rename is a manual Console step).
- SEO reposition: title/README lead with **"Company Tech Stack Scraper — BuiltWith & Wappalyzer alternative"** to target buy-intent keywords (`builtwith alternative` 390/mo $14.74 CPC, `wappalyzer alternative` 320/mo) we already targeted but did not rank for. See `marketing/opportunities/OUTRANK-haketa-builtin-tech-stack-2026-06-07.md`.
- README: added a BuiltWith/Wappalyzer/TheirStack comparison table, an Integrations section, and a Sample queries & recipes section.
- Added `promo.json` (was missing — GTM/rank-tracking manifest).
- No functional code change; listing + README only (requires `apify push` to go live).

### 0.0.1 — 2026-05-16

- Initial release: Greenhouse, Lever and Ashby ATS support.
- Per-ATS parser modules under `src/parsers/`; dispatcher in `parsers/__init__.py`.
- Curated TECH\_VOCAB of ~110 canonical names; case-insensitive word-boundary regex against plain-text descriptions.
- PPE: `actor-start` ($0.05) once per run, `result-row` ($0.005) per job emitted.
- Partial-success on unknown company / HTTP 404; fails loud only when zero rows are scraped across all companies.
