# Changelog of Shopify & Ecommerce Store Finder — Emails, Phones & Tech (69M) (`apivault_labs/website-leads-database`) Actor

- **URL**: https://apify.com/apivault\_labs/website-leads-database/changelog.md
- **Full Actor documentation**: https://apify.com/apivault\_labs/website-leads-database.md

## Changelog

### 0.18 — 2026-09-19

- Added explicit Auto, Export and Count workflows for API and MCP clients.
- Added Compact, Contacts, Sales, Traffic, Full and Custom output presets while preserving manual columns.
- Traffic preset automatically enables traffic enrichment; legacy `countOnly` remains supported through Auto.
- `ERRORS` is now always a stable array, including successful runs with no errors.
- Reorganized the Console form into five numbered sections.

### \[0.17] — 2026-09-18

#### Added

- Optional traffic-only filtering, minimum and maximum monthly-visit thresholds,
  and highest/lowest monthly-visit ordering.
- Traffic controls automatically enable enrichment for Console, API and MCP
  callers.
- `SUMMARY.trafficEnrichment` now reports matched rows, filtered rows, coverage,
  active thresholds and lookup failures.

#### Fixed

- Websites rejected by traffic filters are excluded before Dataset billing.
- Offset and copy-ready continuation now page over eligible traffic-filtered
  leads instead of raw source rows.
- Invalid traffic ranges return structured diagnostics without paid rows.

### \[0.16] — 2026-09-18

#### Changed

- Website traffic enrichment is now off by default so ordinary lead exports
  remain fast.
- When enabled, traffic is resolved once per 10,000 selected websites instead
  of once per 500-row Dataset batch, while Dataset writes remain safely batched.
- Long exports now report visible progress while traffic is added and rows are
  written.

### \[0.15] — 2026-09-16

#### Added

- Mixed website datasets can now be searched without assuming that every row
  matches the technology named by its source table.
- Additional compatible website datasets are discovered automatically.
- Verified coverage increased to 69,954,034 source rows with no unavailable segments.

#### Fixed

- A full database can be attached through a read-only logical mapping without
  requiring schema changes in that database.

### \[0.14] — 2026-09-16

#### Added

- Coverage for newly provisioned data segments across supported platforms.

#### Fixed

- Empty data segments no longer create user-facing query failures while awaiting data.
- Incomplete segment discovery is reported through structured run diagnostics.

### \[0.13] — 2026-09-14

#### Added

- Optional domain-level enrichment from the 40M+ traffic dataset.
- Monthly visits, global traffic rank, traffic growth, bounce rate, pages per
  visit, average visit duration, Search/Direct/Social/Ads/AI traffic shares and
  the traffic-data timestamp.
- Traffic enrichment coverage is reported in the structured run summary.

### \[0.12] — 2026-09-11

#### Changed

- All 59 output fields are now visibly selected by default in new or reset
  Actor input forms, so every dataset view is populated without extra setup.
- Callers can still deselect fields for compact exports; Root Domain and
  `_platform` remain mandatory identifiers.

### \[0.11.1] — 2026-09-11

#### Fixed

- Single-platform exports now always include `_platform`, matching the Overview
  and Freshness dataset-view schemas.
- Input help now explains that dataset tabs only display fields saved by the
  run; leave Output columns empty to populate all views with all 59 fields.

### \[0.11] — 2026-09-11

#### Added

- Explicit machine-readable output and dataset schemas for hosted Apify MCP and
  AI-agent structured-output discovery.
- Stable `SUMMARY` and `ERRORS` records with completion state, retry guidance,
  failed-segment diagnostics and paid-row counts.
- Formal item schema for advanced filters and an AI/MCP contract in the README.

#### Changed

- Default export size is 50 rows so first runs and autonomous agent samples are
  inexpensive. Large exports remain available up to 250,000 rows.
- Invalid platform input and runtime diagnostics no longer create paid dataset rows.

### \[0.10] — 2026-09-10

#### Added

- Cross-link to the dedicated Tech Stack Leads & Lookup Actor for reverse
  technology prospecting, AND/OR/NOT combinations and domain enrichment.

#### Security

- Hardened local release tooling so authentication material is never included
  in Actor source files or build images.

### \[0.9] — 2026-09-10

#### Added

- Every capped export now saves `EXPORT_CONTINUATION` in the Key-Value Store with
  the exact `nextOffset` and a copy-ready `resumeInput` for the next run.

#### Fixed

- `countOnly` no longer creates paid dataset items. Counts are saved to the
  Key-Value Store as `COUNT_SUMMARY`.
- Continuation offsets now account for source rows removed by domain
  deduplication, preventing repeated scanning on the next run.

### \[0.8] — 2026-09-07

#### Changed

- **Per-run limit raised 100K → 250K rows.** There is no total cap — use Offset
  to page through unlimited results across runs without paying twice. When a run
  returns the maximum, the status message now shows the exact Offset to use next.

### \[0.7] — 2026-09-07

#### Added

- **Expanded WordPress coverage: 12.0M → 20.6M sites** (+8.6M). Total database
  grew from ~52M to **~60M sites** across the same 14 platforms.

### \[0.6] — 2026-08-21

#### Performance

- Bulk exports are significantly faster, especially for large result sets.
- Paginated exports and resumed runs now skip previously processed records faster.
- Count-only previews complete faster across multiple selected platforms.

#### Fixed

- When a run reaches its spending limit, the final status now reports the exact
  number of rows actually delivered and explains how to request more.

### \[0.5] — 2026-08-18

#### Fixed

- Long-running exports preserve progress and domain deduplication more reliably,
  preventing already-delivered records from being emitted again.

### \[0.4] — 2026-08-01

#### Added

- **Six Output tabs** for faster scanning, with icons: 🏢 Overview,
  📧 Contacts, 💰 Firmographics, 📊 Traffic & Authority, 🛒 Tech Stack,
  📍 Location. No data changes — just cleaner views over the 59 fields.

### \[0.3] — 2026-08-01

#### Added

- **New platform: Angular** — Angular-built sites are now selectable in the
  Platforms input.

#### Fixed

- Selecting a temporarily unavailable platform no longer crashes the run.
  Unavailable platforms are skipped with a warning; if none of the selected
  platforms are available the run ends cleanly with a clear message (no charge).

### \[0.2] — 2026-07-21

#### Added

- **New platform: WordPress** — ~12M WordPress CMS sites.
- Expanded coverage: database grew from 36.2M to **~52M sites**.
- Fuller coverage for Shopify, WooCommerce, WooCommerce Checkout, and Squarespace.
- **Continuous enrichment** — new sites are added and existing records receive
  refreshed contact data, social profiles, and technology information. Check
  `Last Found` / `Last Indexed` for record-level freshness.

### \[0.1] — 2026-07-10

#### Added

- Initial release with **36.8M sites** across 12 ecommerce/CMS platforms.
- 59 enriched fields per site: verified emails, phones, social profiles, firmographics, tech stack, geo, rankings.
- Flexible filtering: country (multi-select), keyword, phone code, has-email/has-phone toggles, and universal JSON filters on any column (9 operators, AND logic).
- Output column selection — leave empty for full enrichment (all 59 fields).
- Sort by key metrics (Overall Score, Tranco, Sales Revenue, Employees…) to get top leads first.
- Deduplicate by domain, count-only preview mode, max 100K rows per run.
- Platform multi-select with "All platforms" default.
- Phone numbers normalized to a clean international format.
- `_platform` field added only when multiple platforms are queried.
- Dataset Overview view with Root Domain first.
- Input form grouped into 3 logical sections (Data source, Filters, Options).
- Automatic retry and recovery for intermittent service connections.
- Input validation and safe filtering for all supported columns and operators.
- Stress-tested: adversarial inputs, malformed filters, edge cases — all handled gracefully.
