Hunter does two jobs. Guessing and checking an address for a person you already know is reproducible: a dozen common patterns, an MX lookup and an SMTP handshake that asks the mail server whether the mailbox exists, which the open-source Reacher already does. The other job, telling you who works at a company and where each address was published, rests on Hunter's crawl of the web and years of collected sources. A weekend gets you the finder but not the database, and most home connections can't run SMTP checks at all because port 25 is blocked.
Before you buildHunter's free plan includes 50 credits a month. If you look up a handful of people a week, that may be all you need.
Build me a personal email finder to replace Hunter. Requirements: - Node.js 22 + TypeScript: a CLI `findmail "Jane Doe" acme.com` and a page on http://127.0.0.1:4750 (Fastify, plain HTML). Data in better-sqlite3 at ./data/finder.db. - Finder: check the domain's MX records with node:dns, build the 12 most common patterns (first.last, flast, first, firstlast, f.last, first_last, last, ...) and try first the patterns already confirmed on that domain. - Verifier: send each candidate to a local Reacher container (reacherhq/backend, POST /v0/check_email on port 8080) and store is_reachable and the catch-all flag. Stop at the first "safe" result. - Catch-all domains: never call a guess verified; rank by pattern frequency and label it "risky (catch-all)". - Domain scan: fetch the company's own pages (home, contact, about, team, imprint, max 30 pages, robots.txt respected) with undici + cheerio, collect published addresses and learn the domain's pattern from them. - Batch: upload a CSV (first_name, last_name, domain), run it through p-queue at one check per second per domain, download results with status and reason. - Cache every result for 30 days; re-runs never re-check a cached address. - No accounts, no telemetry, local-first. - Out of scope: a database of people, LinkedIn scraping, a browser extension. - README: warn that outbound port 25 is blocked on most home connections and many clouds, so Reacher needs a VPS that allows it; add a short note on GDPR and only contacting people you have a lawful reason to contact.
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 Hunter.
Add an importer for Hunter's leads CSV export to the email finder in this folder. Requirements: - A command that takes the CSV path; read the header row, show the column mapping (name, email, job title, company, domain, verification status and date) and ask before importing. - Store each lead in the existing SQLite database marked "imported from Hunter", and learn each domain's pattern from the imported addresses. - A --recheck flag sends addresses verified more than 90 days ago back through Reacher. - Running it twice must not create duplicates. - Update the README with the export steps and the import command.
Add a people finder to the email finder in this folder. Requirements: - For a domain, reuse the pages the domain scan already fetched (team, about, leadership, press) and send their text to Claude (ANTHROPIC_API_KEY in .env) to extract names and job titles as JSON. - Show the list with the source URL for every person; nothing is checked until I tick the people I want. - Run the ticked names through the finder and verifier. - Out of scope: LinkedIn and any site other than the company's own. - Update the README with the cost per company (a few cents).
Add a list-cleaning mode to the email finder in this folder. Requirements: - Upload any CSV with an email column; check every address with Reacher, reusing cached results younger than 30 days. - Split the output into three files: safe, risky (catch-all or full inbox) and invalid, each with the reason. - Flag role addresses (info@, sales@) and known disposable domains from a list kept in the repo. - Show progress and let me stop and resume a long list. - Update the README.
It is the quickest way to get a probable address for a decision maker and check it before sending, right from a browser extension or a spreadsheet. Sales teams and recruiters value the sources shown for each address and a free tier for occasional lookups. Reviews complain about stale contacts and credits spent on addresses that bounce later, mostly on catch-all domains, yet it stays one of the simpler tools in its category.
Estimate · The app and Reacher are free. A small VPS that allows SMTP checks costs a few dollars a month; on a connection with port 25 open it costs nothing. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 50 credits a month, 1 connected email account, 500 recipients per sequence, basic Discover filters, 100,000 saved leads. |
| Starter | $49 | $34 | 2,000 credits a month (24,000 a year on annual), 3 connected email accounts, advanced filters, unlimited team members. |
| Growth | $149 | $104 | 10,000 credits a month, 10 connected email accounts. |
| Scale | $299 | $209 | 25,000 credits a month, 20 connected email accounts, account manager. |
| Enterprise | custom | — | Custom credits and mailboxes. |
Free gives 50 credits a month, one connected mailbox and sequences of up to 500 recipients.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Domain Search: the people and published addresses Hunter knows at any company, The Discover B2B database and its filters.
About $49 a month on the Starter plan, $588 a year (checked 2026-10-13).
Domain Search: the people and published addresses Hunter knows at any company; The Discover B2B database and its filters; Confidence scores and the list of web pages each address was seen on; The Chrome extension, Google Sheets add-on and CRM sync; SMTP checks from servers with an established reputation. If any of those matter to you, keep paying.
Yes: Reacher (open source), theHarvester (open source), SpiderFoot (open source).