# Changelog of Website Contact Scraper: Emails, Phones & Social Links (`rod_analytics/company-contact-extractor`) Actor

- **URL**: https://apify.com/rod_analytics/company-contact-extractor/changelog.md
- **Full Actor documentation**: https://apify.com/rod_analytics/company-contact-extractor.md

## Changelog

### 0.3 (2026-10-07)

- New option `includePeople` (off by default): named people, business roles only, from the company's own team, about, impressum, contact and press pages. Fields per person: `fullName`, `jobTitle`, `workEmail`, `workPhone`, `emailKind` (`named` or `role`), `seniority`, `roleGroup`, `companyDomain`, `sourceUrl`, `extractedAt`. New row fields `people`, `peopleCount`, `peopleTruncatedByBudget`. New **People** view.
- People rules: only the websites you give, robots.txt always respected in this mode, no login or bot-wall bypass, no LinkedIn or other social sites, no photos or bios, no webmail, work emails only on the company domain or on `extraCompanyDomains`, phones only next to the person, nothing stored, logs hold counts only.
- New input `suppressionList` (emails, domains or SHA-256 hashes). Matching people never reach the output. Also hides matching personal emails.
- New input `extraCompanyDomains` and optional `emailFinderHint` (ready-made input for `rod_analytics/work-email-finder`, never called).
- New event `person-found` ($0.004, tiers Bronze -10 %, Silver -20 %, Gold -30 %), charged per person returned and only with `includePeople`. The price list takes effect 2026-10-21. The people list is cut to what the run's maximum cost pays for.
- New `SUMMARY` record with counts and, with people on, a `lawfulBasisNote`.
- `maxPagesPerDomain` has no schema default any more. Empty means 5 pages, or 8 with people. Team pages are read first in people mode.
- README: controller and processor roles, Art. 14 notice, objections, country notes for Germany, France, Lithuania and Poland.

### 0.2 (2026-10-05)

- Renamed to "Website Contact Scraper: Emails, Phones & Social Links". README rewritten around the flat price per website.
- New dataset input: `datasetId` plus `urlField` reads company websites from another Actor run, for example Google Maps Scraper. Google Maps place links and social profiles are skipped. Websites are deduplicated, so chains are billed once.
- `domains` is no longer required, because a dataset can be the only source.
- Help rows for `dataset-unreadable` and `no-websites-in-dataset`.
- Overview view shows `personalEmailsHidden`. Personal emails stay off by default.
- Input reordered. Crawl tuning moved to a collapsed "Advanced crawl settings" section.
- Standby mode turned off. The Apify Store daily test did not run on this Actor while Standby was on, and Standby Actors cannot take agentic payments. Batch runs and the API work as before.
- Default run memory lowered from 1,024 MB to 512 MB.
- Dummy VAT and register numbers from form hints, such as DE123456789 or HRB 1234, are no longer returned.
- Tiered prices for paid Apify plans: Bronze about 10 %, Silver about 20 %, Gold about 30 % off. Free plan price unchanged.

### 0.1 (2026-09-27)

- First public version: role emails, main phone in E.164, company social links, address, VAT IDs and register numbers. One row per domain.
- GDPR-aware defaults, robots.txt support, budget-safe billing, optional Standby HTTP API.
