02-apify-maps-discoverlisted
Install: claude install-skill Zevenue/headless-gtm
# Apify Maps Discovery
Turn a vertical + a place into a clean prospect list, scraped from Google Maps
via the maintained **Apify Compass** actor (`compass~crawler-google-places`). We
wrap the best existing actor rather than build our own scraper - Compass already
handles proxies, anti-bot, and layout drift, and offers built-in email/contact
enrichment. Output is the normalized Zevenue ProspectRecord schema (JSON + CSV).
## Process
1. **Confirm inputs.** Need `search_term` (the vertical) and `geo` (the area).
Defaults: `max_results=200`, `min_rating=4.0`. Ask only if missing/ambiguous.
2. **Estimate cost and gate.** The skill prints an estimate before calling the
API. If it exceeds **$10**, it requires explicit confirmation (`--yes` or an
interactive y/N). Never bypass this silently.
3. **Run the actor.** Calls the Compass sync endpoint with the built input
(`searchStringsArray`, `locationQuery`, `maxCrawledPlacesPerSearch`,
`placeMinimumStars`). Add enrichment only when asked (see flags).
4. **Normalize.** Each raw place is mapped to the shared 15-field ProspectRecord
so it's comparable with the Outscraper / Google Places skills.
5. **Write the run folder.** Writes `runs/<run-id>/` per `headless-gtm-shared/CONVENTIONS.md`:
`records.jsonl` (the shared chain format 03+ consume - `company`, `domain`,
`person`, plus the firmographic fields), `tracker.json`, `meta.json` (count +
spend estimate), `prospects.json` (all 15 ProspectRecord fields), and
`