Blackbird

main

OSINT tool to search for accounts by username and email across social networks.

  • Verified 24 Sept 2026
  • git b455050
  • Licence not stated
  • 8.6k stars

Install and run

  1. otlite install blackbird

    Installs github.com/antoniaci/blackbird at b455050 into its own virtualenv. otlite lists what it will install and asks before it starts.

  2. otlite run blackbird -- u:johndoe

    python blackbird.py receives python blackbird.py --username johndoe

    otlite run blackbird -- e:ada@example.com

    python blackbird.py receives python blackbird.py --email ada@example.com

No otlite yet? Install it in one line
curl -fsSL https://get.otinstaller.com/otlite | sh

Linux and macOS, no Docker. It uses your Python and pipx when both are there, and otherwise brings its own Python. About otlite · otlite docs

Before you run it

  • Runs from its source folder. It reads data files by relative path, so otlite starts it inside its own checkout.

What it takes

Typed inputs after -- become Blackbird's own arguments. Anything else after -- passes through unchanged, so every option of the tool still works.

InputWith otlitepython blackbird.py receives
Usernameu:otlite run blackbird -- u:johndoepython blackbird.py --username johndoe
Emaile:otlite run blackbird -- e:ada@example.compython blackbird.py --email ada@example.com

What a run leaves

Every run is saved under results/ where you run otlite (or --output, or OTLITE_RESULTS_DIR): what the tool printed, a sidecar with how it ran, and an envelope.

  • results/blackbird/johndoe/<time>_blackbird_johndoe_<run id>.txt
  • results/blackbird/johndoe/<time>_blackbird_johndoe_<run id>.meta.json
  • results/blackbird/johndoe/<time>_blackbird_johndoe_<run id>.envelope.json
{
  "envelope": 1,
  "tool": "blackbird@main",
  "runtime": "otlite",
  "input": { "target": "johndoe" },
  "case": null,
  "started_at": "…", "ended_at": "…", "duration_ms": …,
  "exit_code": 0,
  "status": "complete",
  "entities": [{ "type": "url", "value": "…" }, …],
  "warnings": [],
  "output": { "path": "results/blackbird/johndoe/<time>_blackbird_johndoe_<run id>.txt", "sha256": "…", "bytes": … }
}
The envelope's shape, the same for every tool; values elided. Its entities are the emails, domains, IP addresses and URLs found in the output, or the tool's own when it prints them.
otlite results --tool blackbird
otlite extract blackbird
otlite diff blackbird johndoe

List the saved runs, pull out every indicator, or compare the two latest runs against the same target.

With other tools

These run it with every other installed tool that takes the same input, a few at a time, and save each run:

otlite run --all u:johndoe
otlite auto johndoe

Related tools

All 47 tools →
Esc

Try

↑ ↓ to move↵ to open