Skip to main content

A LinkedIn lead generation automation tool

Project description

leadghost

LeadGhost

CI PyPI version License

A LinkedIn lead generation automation tool for scraping job postings and extracting lead information.

⚠️ WARNING: This tool interacts with LinkedIn's services. Users are responsible for ensuring their use complies with LinkedIn's Terms of Service, Robots.txt, and any applicable laws and regulations. The authors of this tool are not responsible for any misuse, account restrictions, or legal consequences resulting from its use. Use at your own risk.

Features

  • Automated lead extraction: Scrape LinkedIn job postings and extract company information
  • Email generation: Automatically generate and validate potential email addresses for leads
  • Configurable filtering: Blacklist companies, set company size limits, and filter by keywords
  • Automatic mode: Run scheduled jobs using CSV configuration files
  • Human-like behavior: Configurable random delays to avoid detection

Installation

pip install leadghost

Or install with uv:

uv pip install leadghost

Windows (standalone)

Each GitHub release includes a Windows x64 build: leadghost.exe. Download it, place a copy of the files from examples/ in the same folder (rename or edit as needed: config.txt, blacklist.txt, posting_history.json, and optional auto.csv), then run leadghost.exe from that folder. Chrome must be installed; chromedriver is handled at runtime.

Usage

Quick Start

After installation, run the CLI:

leadghost run

Interactive Mode

  1. Run leadghost run to start the tool
  2. Enter search keyword and location when prompted
  3. Enter the number of jobs to scrape
  4. Log in to your LinkedIn account (if not already logged in)
  5. The tool will scrape job postings and extract lead information

Automatic Mode

Configure config.txt:

[leadmonster]
auto_mode = True
max_leads_per_company = 5
max_random_delay = 5

Create auto.csv with your search configurations:

search,location,keywords,max_company_size,job_count,date_filter
"software engineer","San Francisco","developer,engineer",500,100,weekly
"marketing manager","New York","marketing,seo",200,50,daily

Then run:

leadghost run

Blacklisting Companies

Enter company names in blacklist.txt (one per line) to exclude them from results:

Microsoft
Intel
Pioneer Square

Settings

  • max_leads_per_company: Maximum number of leads to extract per company
  • max_random_delay: Random delay (in seconds) between page navigations to avoid detection

Scheduling on Windows

With automatic mode enabled, use Windows Task Scheduler:

  1. Open Task Scheduler
  2. Right-click on Task Scheduler LibraryNew Task
  3. Under Actions, select the leadghost executable location
  4. Set your desired schedule under Triggers

Development

To set up for local development:

# Clone the repository
git clone git@github.com:dariomory/leadghost.git
cd leadghost

# Install in editable mode with uv
uv sync

This installs the package in development mode with all dependencies.

Run tests:

uv run pytest

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Disclaimer

This tool is provided for educational and research purposes only. Users are responsible for:

  • Complying with LinkedIn's Terms of Service
  • Obtaining proper consent before contacting leads
  • Ensuring compliance with applicable data protection laws (GDPR, CCPA, etc.)
  • Using the tool in an ethical and legal manner

The authors assume no liability for any misuse of this software.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

leadghost-0.1.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

leadghost-0.1.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file leadghost-0.1.0.tar.gz.

File metadata

  • Download URL: leadghost-0.1.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for leadghost-0.1.0.tar.gz
Algorithm Hash digest
SHA256 89b742f93b2145970b840ce659edff30d4d79df629e9edfa4e3aa0f75655030d
MD5 28bb95814179aeac3f19a06e7d7a3829
BLAKE2b-256 5c7b9088cf2850d364d22cd26f87d7921b1cf25657475f0cd8e47a2a63437d0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for leadghost-0.1.0.tar.gz:

Publisher: publish.yml on dariomory/leadghost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file leadghost-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: leadghost-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for leadghost-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8893ef020c9fcffdd280651ac20d4d2ee8c353b385c55c804ca49db3bbf422e3
MD5 7c14bc711fe5ff46f25447f76db6e689
BLAKE2b-256 ae843f0315363d9666727be99fd04508f95de7a11b636c3f29aca572665b5410

See more details on using hashes here.

Provenance

The following attestation bundles were made for leadghost-0.1.0-py3-none-any.whl:

Publisher: publish.yml on dariomory/leadghost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page