Apollo's value is its database of 240 million contacts and 30 million companies, kept current through web crawling, licensed data and a contributor network of its own users. No agent session can rebuild that. What you can build is the workflow around leads you find yourself: a small CRM, pay-per-use email lookups, verification and a sequencer that stops on reply. That replaces the outreach half, not the data.
Before you buildApollo Free still gives 75 credits a month and 2 sequences. If you only need a few dozen contacts a month, that may be all you need.
Build me a prospecting workbench for leads I find myself, covering the slice of Apollo I can run without its database. Requirements: - Node.js 22 + TypeScript: Fastify with htmx pages on http://127.0.0.1:4950; storage in better-sqlite3 at ./data/prospects.db. - People and companies: import CSVs with papaparse, dedupe by email and company domain, tag, add notes and move people through stages (new, contacted, replied, meeting, won, lost). - Email lookup: for a name plus company domain, call Hunter's Email Finder (HUNTER_API_KEY in .env) only when I click Find; cache every answer and show the credits left. - Verification: check addresses against a self-hosted Reacher container (check-if-email-exists) at REACHER_URL; store safe, risky, invalid or unknown. - Sequences: up to 4 steps from my own mailbox with nodemailer, stop on reply (checked over IMAP with imapflow), at most 30 emails a day, an opt-out line in every email, and only addresses marked safe. - A daily Today page: replies to answer, follow-ups due, people to research. - CSV export of every table, so the data never gets stuck here. - No accounts, no telemetry, local-first. - Out of scope: a contact database, phone numbers, intent data and LinkedIn automation. Do not scrape LinkedIn or people-search sites. - README: Hunter's free-plan limit (50 credits a month), the Reacher Docker command, a warning that Reacher needs outbound port 25 (often blocked on home and cloud connections), and a note that Apollo's data can't be built here.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Apollo.io.
Add an importer for Apollo CSV exports to the workbench in this folder. Requirements: - Accept the CSV from Apollo's Search > People > Export (saved contacts cost no credits to export). - Map columns by header (First name, Last name, Title, Company name, Website, Email, Email status, Person linkedin url, Stage, Lists); show the mapping and ask before importing. - Treat Apollo's email status as unverified until Reacher has checked it. - Contacts marked replied or bounced in the export never enter a sequence. - Print a summary: imported, merged, skipped. - Update the README with the export steps.
Add lead scoring to the workbench in this folder. Requirements: - I describe my ideal customer in ./icp.md. - Fetch each company's homepage once and store its title and meta description. - Send icp.md, that company text and the person's title to the LLM set in .env; store a score from 0 to 100 and a one-line reason. - Sort lists and the Today page by score; I can override any score. - Never call Hunter automatically because of a score. - Update the README with the cost per 100 leads.
Add a Twenty CRM sync to the workbench in this folder. Requirements: - When a person reaches the replied stage, create or update the person and their company in Twenty through its REST API (TWENTY_URL and TWENTY_API_KEY in .env). - Match on email first, then company domain; never create duplicates. - Log every sync with the Twenty record id and show failures on the Today page. - Update the README with creating the API key in Twenty.
The database is the product: finding a decision maker's email at a target company takes seconds instead of an afternoon. Small teams also get sequences, a dialer and a light CRM in the same seat for less than enterprise data vendors charge, so many keep paying and simply double-check the emails elsewhere.
Estimate · Hunter's free plan covers 50 credits a month; its Starter plan is €49 a month billed monthly. Reacher is free to self-host. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 75 credits a month (900 a year on annual), 2 sequences per team, 250 emails a day, 1 mailbox (Gmail only), 25-record selection limit. |
| Basic | $65 | $49 | 2,500 credits a month (30,000 a year on annual), unlimited sequences, 250 emails a day, 1 mailbox, CRM integrations, 5 workflows, 1,000-record selection limit. |
| Professional | $99 | $79 | 4,000 credits a month (48,000 a year), A/Z testing, unlimited daily sends, Google and Microsoft mailboxes plus 5 SMTP per user, 4,000 minutes of call recording, AI lead scoring. |
| Organization | — | $119 | Minimum 3 seats; 6,000 credits a month (72,000 a year), 12 intent topics, 8,000 recording minutes, 10,000-record selection limit. |
Free stays free with 75 credits a month, 2 sequences and one Gmail mailbox.
Not really. The database is the product: finding a decision maker's email at a target company takes seconds instead of an afternoon. Small teams also get sequences, a dialer and a light CRM in the same seat for less than enterprise data vendors charge, so many keep paying and simply double-check the emails elsewhere. The prompt on this page builds the closest honest substitute.
About $65 a month on the Basic plan per seat, $780 a year (checked 2026-10-13).
Search across 240M contacts and 30M companies; Verified emails and mobile numbers on demand; Buying-intent topics and website visitor identification; Automatic CRM enrichment and job-change updates; The dialer, call recording and AI research. If any of those matter to you, keep paying.
Yes: Twenty (open source), Reacher (open source), OpenOutreach (open source).