LeadHunter Documentation
Everything you need to install, configure, and use the LeadHunter lead generation and email marketing platform.
Overview
LeadHunter is a complete lead generation and email marketing system consisting of two main components:
- Chrome Extension (Manifest V3) — The client-side scraping engine that extracts email leads from Google, Facebook, LinkedIn, X (Twitter), and Instagram.
- Next.js Dashboard & API — The backend API for authentication, lead storage, email campaigns, template building, and email validation.
Installation
Backend Setup
Clone the repository and start the Next.js backend:
cd backend
npm install
npm run devThe API and dashboard will be available at http://localhost:3000.
Docker Setup (Optional)
You can also run the entire stack with Docker Compose:
docker-compose up --buildQuick Start
- Start the backend server with npm run dev
- Install the Chrome extension (see below)
- Register an account via the extension popup
- Open the extension dashboard and configure your scraping criteria
- Hit "Start Scraping" and watch the leads flow in
Installing the Chrome Extension
The Chrome extension is distributed as a zip file. Follow these steps:
- Download leadhunter-extension.zip from the home page
- Unzip the file to any directory on your computer
- Open Chrome and navigate to chrome://extensions
- Enable Developer mode using the toggle in the top-right corner
- Click Load unpacked and select the unzipped extension folder
Login & Registration
Click the LeadHunter icon in your Chrome toolbar to open the popup. If you don't have an account, click Register to create one with your email, username, and password. After registration, log in with your credentials. The extension stores your JWT tokens securely in Chrome's local storage.
Configuring Scraping
Open the extension dashboard by clicking Open Dashboard in the popup. Configure your search criteria:
- Niche — The industry or topic (e.g., "digital marketing")
- Professions — Target roles (e.g., "CEO", "Marketing Manager")
- Locations — Geographic targets (e.g., "New York", "London")
- Email Patterns — Domains to look for (e.g., "@gmail.com")
- Platforms — Toggle Google, Facebook, LinkedIn, X, Instagram
Click Generate Search Terms to preview the combinatorial search queries, then click Start Scraping. You can pause, resume, or stop the scrape at any time.
Managing Leads
As leads are scraped, they appear in the extension's Leads Library tab. You can filter by platform, email domain, or niche. Use the built-in export button to download your leads as a CSV file. Leads are automatically synced to the backend API for persistence.
Dashboard Overview
The web dashboard at /dashboard provides a comprehensive control center for managing your leads and email campaigns. It includes tabs for:
- Leads — Browse, search, filter, and manage all collected leads
- Email Builder — Visual drag-and-drop template editor
- Campaigns — Create, schedule, and monitor email campaigns
- Collections — Organize leads into named groups
- Validation — Bulk verify email addresses
- Settings — SMTP configuration and account preferences
Email Builder
The Elementor-style email builder lets you visually construct email templates using drag-and-drop blocks:
- Header Block — Title, subtitle, background color, text alignment
- Text Block — Rich HTML content with font size and color controls
- Button Block — CTA button with customizable URL, color, and border radius
- Image Block — Upload or link images with alt text
- Footer Block — Company info, address, and unsubscribe link
Template Variables
Use dynamic placeholders in your templates to personalize each email:
{{firstName}} — Recipient's first name
{{lastName}} — Recipient's last name
{{email}} — Recipient's email address
{{platform}} — Source platform (Google, Facebook, etc.)
{{niche}} — The niche/industry of the lead
{{company}} — Company name (if available)Spam Score Analysis
The builder includes a real-time spam score analyzer that checks your template against common spam filters. It flags trigger words, ALL CAPS subjects, excessive punctuation, and missing unsubscribe links. Aim for a score above 80 for optimal deliverability.
Email Campaigns
Create email jobs by selecting a template, choosing recipients (from leads or collections), and configuring sending options. Campaigns support per-domain throttling, send delays, and scheduling for future delivery. Monitor delivery status in real-time from the campaigns tab.
Collections
Collections let you organize leads into logical groups. Create a collection, then add leads manually or use filters. Collections can be used as recipient lists when creating email campaigns.
Email Validation
Validate email addresses before sending campaigns. LeadHunter integrates with Reacher (self-hosted) and ZeroBounce API to check:
- Deliverability — Is the mailbox reachable?
- Catch-all Detection — Does the domain accept all addresses?
- Syntax Check — Is the email format valid?
- Disposable Detection — Is it a throwaway email?
API — Authentication
All API routes are prefixed with /api. Authentication uses JWT tokens with access + refresh token flow.
API — Leads
API — Email Jobs
API — Templates
API — Collections
API — Validation
Environment Variables
Configure these in your backend/.env file:
# MongoDB connection string
MONGODB_URI=mongodb://localhost:27017/leadhunter
# JWT Secrets
JWT_SECRET=your-jwt-secret-key
JWT_REFRESH_SECRET=your-jwt-refresh-secret-key
# SMTP Configuration
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-email@example.com
SMTP_PASS=your-smtp-password
# Email Validation (optional)
VALIDATION_API_KEY=your-zerobounce-api-key
REACHER_API_URL=http://localhost:8080