Updated Jul 15, 2026

Recon

Pull emails, names, and hosts from public OSINT

theharvester is an OSINT gathering tool that collects intelligence about a domain or organization from search engines, certificate transparency logs, DNS datasets, code repositories, threat-intelligence platforms, and other public sources, and normalizes the hosts, emails, IPs, URLs, ASNs, people, and other results it collects.

installgit clone https://github.com/laramies/theHarvester.git

Python · GPL-2.0 license

Agent

overview

What theharvester does

Run theHarvester early when an engagement needs emails and personnel names alongside hostnames from public sources.

Operators set --domain and --source, then optionally deepen with --dns-brute, --shodan, or --take-over when active checks are in scope.

Compared with amass or subfinder, it trades host depth for broader OSINT data types from one node. Trickest runs it as a managed recon node with file and folder output.

source github.com/laramies/theHarvester

use cases

Where theharvester fits

Map a domain's public footprint

Query many OSINT sources at once for a domain so subdomains, hostnames, emails, and names land in a single aggregated set without any direct contact.

Seed a pipeline with passive subdomains

Pull names from certificate transparency and threat feeds, then feed the host list into probing and scanning stages downstream.

Collect emails and personnel names

Gather the email and name data an engagement needs for phishing assessments and identity mapping, sourced entirely from public records.

Extend into light active checks

Switch on DNS brute force, lookups, or takeover checks to confirm and expand the passive findings when the scope allows active traffic.

reference

theharvester inputs and flags

10 inputs
NameTypeFlagDescription
limitSTRING--limitLimit the number of search results, default=500.
startSTRING--startStart with result number X, default=0.
domainSTRING--domainCompany name or domain to search.
shodanBOOLEAN--shodanUse Shodan to query discovered hosts.
sourceSTRING--sourceanubis, baidu, bevigil, binaryedge, bing, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, hackertarget, hunter, intelx, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, sublist3r, threatcrowd, threatminer, urlscan, virustotal, yahoo, zoomeye
dns-bruteBOOLEAN--dns-brutePerform a DNS brute force on the domain.
take-overBOOLEAN--take-overCheck for takeovers.

Showing key inputs. theharvester exposes 10 inputs in total.

Full flag reference (10 inputs)
NameTypeFlagDescription
limitSTRING--limitLimit the number of search results, default=500.
startSTRING--startStart with result number X, default=0.
domainSTRING--domainCompany name or domain to search.
shodanBOOLEAN--shodanUse Shodan to query discovered hosts.
sourceSTRING--sourceanubis, baidu, bevigil, binaryedge, bing, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, hackertarget, hunter, intelx, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, sublist3r, threatcrowd, threatminer, urlscan, virustotal, yahoo, zoomeye
dns-bruteBOOLEAN--dns-brutePerform a DNS brute force on the domain.
take-overBOOLEAN--take-overCheck for takeovers.
dns-lookupBOOLEAN--dns-lookupEnable DNS server lookup, default False.
dns-serverSTRING--dns-serverDNS server to use for lookup.
virtual-hostBOOLEAN--virtual-hostVerify host name via DNS resolution and search for virtual hosts

example

Run theharvester

theharvester · command
# theHarvester: OSINT emails and hosts for example.com
theHarvester -d example.com -b all -l 200
sample output
[*] Emails found:
admin@example.com
security@example.com
[*] Hosts found:
www.example.com
mail.example.com
vpn.example.com
api.example.com

guidance

Choosing theharvester

Use at the start of an engagement for a broad passive picture that includes emails and names. Prefer amass or subfinder when you only need deep subdomain coverage.

amass

Deeper subdomain enumeration and mapping. Stronger on hosts; does not gather emails and names.

subfinder

Fast passive subdomain aggregation. Leaner when you only need hostnames.

sudomy

Enumeration plus probing and takeover in one node. theHarvester stays focused on broad OSINT data types.

faq

theharvester questions

Mostly passive: core data comes from third-party --source engines. Optional flags add active steps such as --dns-brute, --dns-lookup, and --take-over when scope allows.

Start with a broad --source set for coverage, then narrow to engines your API keys and rate limits support.

subfinder focuses on passive subdomain aggregation. theHarvester also returns emails and personnel names from the same pass.

It performs DNS brute force on --domain after the passive pass, expanding host coverage when active traffic is allowed.

Yes. Enable --take-over to check discovered hosts for takeover conditions. Pair with dedicated takeover tooling for deeper validation.

Run theharvester yourself

A domain feeds theHarvester, which gathers OSINT data and passes the discovered hosts to httpx before the results land as a queryable output.

Facts on this page come from the live Trickest tool library.