HTTP probing
httpx
Multi-purpose HTTP probing toolkit that checks which hosts serve web content and reports status, title, server, TLS and technology data.
11k stars · last push November 10, 2026 · v1.12.0 · MIT
What it finds
httpx takes hosts, URLs or CIDRs and sends HTTP requests to find live web servers, trying HTTPS first and falling back to HTTP. Default probes record status code, title, content length, web server, TLS certificate, IP, CNAME and hashes. Optional flags add Wappalyzer-based tech detection, favicon and JARM hashes, ASN data, path probing and screenshots.
- live web servers
- HTTP status codes
- page titles
- web server software
- technologies
- TLS certificate data
- IP addresses
- CNAMEs
- CDN/WAF in use
- favicon hashes
- JARM fingerprints
Does it touch the target?
Sends traffic to the target's systems. Use only with the owner's permission.
It sends HTTP requests to every input host: "As default, httpx probe with HTTPS scheme and fall-back to HTTP only if HTTPS is not reachable." Default rate limit is 150 requests per second.
API keys: Probing needs no key; a ProjectDiscovery cloud (pdcp) API key is only for the optional `-dashboard` upload of results.
Install
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latestFrom the project's documentation
brew install httpxFrom the project's documentation
docker pull projectdiscovery/httpx:latestFrom the project's documentation
How to run it
Examples use reserved documentation hosts such as example.com. Replace them with a domain you own or are authorised to test.
cat hosts.txt | httpxFrom the project's documentation
subfinder -d example.com -silent| httpx -title -tech-detect -status-codeFrom the project's documentation
echo 192.0.2.0/24 | httpx -silentFrom the project's documentation
echo example.com | httpx -path '/.well-known/security.txt,/security.txt' -mc 200 -mdc 'contains(content_type, "text/plain") && contains(body, "Contact:") && contains_any(body, "mailto:", "https://")'From the project's documentation
Output formats: txt, jsonl, csv
Limits the project documents
- "This project is in active development. Expect breaking changes with releases."
- "Running it as a service may pose security risks."
- README states it "requires go >=1.26.10 to install successfully" via go install.
- Screenshots need a headless browser; `-system-chrome` uses a locally installed Chrome.
- Page-type classification downloads a model from Hugging Face unless a local model is set with `-ptm`.
- Flags such as `-ports`, `-path`, `-vhost`, `-screenshot` and `-favicon` "should be used for specific use cases instead of running them as default".
Deepak's take
Analysis, not documentation
- Use it when
- Use it right after subdomain or port discovery to sort live web services from dead names and label each with title, status and technology.
- Skip it when
- For visual triage of hundreds of pages, gowitness gives a browsable screenshot report. For deeper per-site fingerprinting with aggression levels, WhatWeb goes further.
- What it will miss
- It only tests hosts and ports you feed it, so it will not discover new subdomains or non-HTTP services.
Facts read from the project's README and docs on November 10, 2026. Repository data as of November 11, 2026. Licence: MIT. httpx is a trademark or project name of its owners; this library is not affiliated with it.