← ClaudeAtlas

02-apify-maps-discoverlisted

Find local-business (SMB) prospects via Google Maps using the Apify Compass actor. Use for Zevenue Step-2 Discovery (Vertical) when the ICP is Maps-addressable - laundromats, salons, HVAC, yoga studios, gyms, clinics - and you need a normalized list of name, domain, address, phone, rating, and review count ready for enrichment. Estimates cost and prompts before any run over $10. Requires APIFY_API_TOKEN.
Zevenue/headless-gtm · ★ 26 · API & Backend · score 77
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 `