otlite · Dark web
Install OnionSearch on Linux or macOS in one command
OnionSearch sends a query to a set of dark web search engines over Tor and collects the onion URLs they return into one CSV. It is a search aggregator, not a crawler.
OnionSearch in three lines
pipx install otlite
otlite install onionsearch
otlite run onionsearch -- q:acmeRuns megadose/OnionSearch (GPL-3.0, ★ 1.8k, otlite 1.2.1, catalog updated Oct 23, 2026). otlite installs and runs it at a tested version; it does not change or verify the tool itself.
What OnionSearch is for
- Finding onion sites that mention a term, name, or brand.
- Seeding TorBot with URLs to crawl.
Typed inputs for OnionSearch
otlite translates these prefixes into OnionSearch's own flags. Anything else after -- is passed through unchanged, so every original flag still works.
- q:
- Search text ·
otlite run onionsearch -- q:acme
Run every installed tool that takes the same input at once: otlite run --all q:acme
Where the results go
Every run lands under ./results/onionsearch/<target>/ as a timestamped output file, a .meta.json sidecar (the exact command, start and end time, exit code, and the SHA-256 of the output), and a .envelope.json with the entities found, in the same shape for every tool. List runs with otlite results, group them with --case, compare the last two with otlite diff onionsearch <target>, and pull indicators out with otlite extract onionsearch.
Before you run it
- Needs Tor running locally. The search term goes in with q:, which becomes the tool's positional argument.
Update, remove, inspect
otlite info onionsearch # inputs, keys, an example command
otlite example onionsearch # sample output, where there is one
otlite update onionsearch # move to the next tested version
otlite remove onionsearch # delete its virtualenvFull reference: the otlite docs, and the tool's own README on GitHub.
Pairs with
FAQ
OnionSearch with otlite, answered
How do I install OnionSearch on Kali, Ubuntu, or macOS?
Install otlite once with pipx install otlite (or the one-line installer on the otlite page), run otlite init, then otlite install onionsearch. The tool lands in its own virtualenv under ~/.otlite/, pinned to a version that was tested, so nothing touches your system Python. otlite doctor prints the command that fixes a missing git or venv module.
Which inputs does OnionSearch take through otlite?
q: (search text). otlite maps each prefix to OnionSearch's own flag. Everything after -- that is not a typed input is passed through unchanged, so the original flags still work.
Where does otlite save OnionSearch results?
Under ./results/onionsearch/<target>/ in the folder you run from, as a timestamped output file plus a .meta.json sidecar (the exact command, timing, exit code, and SHA-256) and a .envelope.json with the entities found. Add --case <name> to group runs, otlite results to list them, and otlite diff onionsearch <target> to compare the last two.
Does OnionSearch need an API key or a login?
No key is required for the basic run. Optional keys, where the project supports them, go in with otlite keys set NAME and are passed only to tools that declare them.
Can I run OnionSearch together with other tools?
Yes. otlite run --all q:acme runs every installed tool that takes search text input, in parallel, including OnionSearch. Save the combination as a playbook to repeat it.