Apollo Waterfall — The Demo, Written Up

What this is

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.

The run, in order

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.pyexpand.pyscore.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.

The intent layer (the gates)

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

What comes out

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.

Why it matters

Links