A live demo of running Apollo from the terminal instead of the browser. No tabs, no clicking through filters. One command grows an existing company list to a target size and tags every new company with why it made the list. That tag is a self-built intent layer: Apollo doesn't expose its buying-intent data through the API, so we build our own from signals the API does expose.
Runs inside the open-source repo: gtm-coding-agent/starters/apollo-prospecting.
| Step | Command | What it does |
|---|---|---|
| 1. Key checkout | vault → .env |
Pulls the Apollo API key from a local secrets vault into the project. The key never appears on screen and never touches git. |
| 2. Dry run | waterfall.py --target 150 --dry-run |
Sizes the market per gate before committing to anything. How many companies match each intent signal. |
| 3. Real run | waterfall.py --target 150 |
Fills the list gate by gate, deepest intent first. Staffing agencies (the classic job-posting false positive) get filtered out by NAICS code. |
| 4. People | init_db.py → expand.py → score.py |
Takes one company from the list, finds its buying committee, and ranks them by title relevance × reachability. |
| 5. Output | build_sheet.py |
Renders everything into a color-coded Google Sheet the team works from. |
Each company on the list carries the gate it came through. Highest intent at the top:
| Gate | Signal | Why it means intent |
|---|---|---|
| T0 | Reddit buyer signal (Clearbox) | Someone at the company is literally asking about the problem in public |
| T1 | Hiring for the pain | Job postings for the roles that own the problem = budget + urgency |
| T2 | Fresh funding | Raised $10–200M in the last 24 months = money to spend |
| T3 | Tech-stack twins | Runs the adjacent tools = already buys tools like yours |
| T4 | Firmographic lookalike | Right size, industry, geo. Fits the profile, no behavior signal yet |
A Google Sheet where every row shows the company, the gate it passed, the evidence for that gate, and the scored contacts. The sheet explains itself, no backstory needed to work the list.
On cost: searches don't draw Apollo credits; exports and contact reveals do. The scripts print what they're about to spend before spending, and scoring happens before revealing, so credits only go to the top-ranked contacts.