OSINTverse

otlite · Frameworks

Install OpenOSINT on Linux or macOS in one command

OpenOSINT is an agent-style tool: you describe what you want in a REPL and it chooses and runs lookups on usernames, emails, and domains. It also exposes an MCP server so other agents can drive it.

OpenOSINT in three lines

pipx install otlite
otlite install openosint
otlite run openosint -- u:jane_doe

Runs OpenOSINT/OpenOSINT (MIT, ★ 1.6k, 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 OpenOSINT is for

  • Exploratory sessions where you do not know which tool to run first.
  • Wiring open-source lookups into an agent over MCP.

Typed inputs for OpenOSINT

otlite translates these prefixes into OpenOSINT's own flags. Anything else after -- is passed through unchanged, so every original flag still works.

u:
Username · otlite run openosint -- u:jane_doe
e:
Email · otlite run openosint -- e:jane@example.com
d:
Domain · otlite run openosint -- d:example.com

Run every installed tool that takes the same input at once: otlite run --all u:jane_doe

Optional keys: ANTHROPIC_API_KEY, SHODAN_API_KEY, VIRUSTOTAL_API_KEY, CENSYS_API_ID, CENSYS_SECRET, ABUSEIPDB_API_KEY, IP2LOCATION_API_KEY, BRIGHTDATA_API_KEY, BRIGHTDATA_SERP_ZONE, BRIGHTDATA_UNLOCKER_ZONE, OPENAI_API_KEY, OPENOSINT_PROXY_URL. Store each with otlite keys set NAME.

Where the results go

Every run lands under ./results/openosint/<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 openosint <target>, and pull indicators out with otlite extract openosint.

Before you run it

  • Needs a model provider configured; read the project's setup first.

Update, remove, inspect

otlite info openosint      # inputs, keys, an example command
otlite example openosint   # sample output, where there is one
otlite update openosint    # move to the next tested version
otlite remove openosint    # delete its virtualenv

Full reference: the otlite docs, and the tool's own README on GitHub.

Pairs with

user-scanner takes a username or email and checks platforms that reveal whether an account exists.
SpiderFoot runs two hundred-odd modules against a domain, IP, email, or username and links what they return into one graph.
secator wraps dozens of recon and scanning tools behind one command with a shared output format, and runs them as tasks, workflows, or full scans.

FAQ

OpenOSINT with otlite, answered

How do I install OpenOSINT 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 openosint. 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 OpenOSINT take through otlite?

u: (username), e: (email), d: (domain). otlite maps each prefix to OpenOSINT'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 OpenOSINT results?

Under ./results/openosint/<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 openosint <target> to compare the last two.

Does OpenOSINT 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 OpenOSINT together with other tools?

Yes. otlite run --all u:jane_doe runs every installed tool that takes username input, in parallel, including OpenOSINT. Save the combination as a playbook to repeat it.