How antoniaci/blackbird works
Blackbird is a CLI OSINT tool for finding accounts associated with usernames or email addresses, then reviewing and exporting the results. Its main workflow loads platform definitions, applies filters and site-specific checks, and asynchronously searches platforms; optional AI analysis profiles the names of found sites. The README also documents CSV/PDF exports, JSON output and HTML dumps. The graph reflects the sampled search, HTTP, list and AI code; some export wiring is documented but its callers were not fully sampled.
Main entry points: blackbird.py CLI orchestrator · username.py Username search · email.py Email search · http_client.py HTTP client
Components 23
CLI orchestration
- CLI orchestrator
blackbird.py - Runtime config
src/config.py
Account discovery
- Username search
src/modules/core/username.py - Email search
src/modules/core/email.py
Search support
- Site lists
src/modules/whatsmyname/list_operations.py - Username definitions
data/wmn-metadata.json - Email definitions
data/email-data.json - Site filters
src/modules/utils/filter.py - HTTP client
src/modules/utils/http_client.py - Metadata parsing
src/modules/utils/parse.py - Email pre-check
src/modules/utils/precheck.py - Instagram enrichment
src/modules/sites/instagram.py
AI analysis
- AI client
src/modules/ai/client.py - API key manager
src/modules/ai/key_manager.py - Blackbird AI API
- API key file
Reports and output
- CSV export
src/modules/export/csv.py - JSON export
src/modules/export/json.py - PDF export
src/modules/export/pdf.py - HTML dumps
src/modules/export/dump.py
Other components
- CLI user
- Search platforms
- Saved output files
Connections 33
- CLI user → CLI orchestrator: provides options
- CLI orchestrator → Runtime config: sets options
- CLI orchestrator → Username search: starts search
- CLI orchestrator → Email search: starts search
- Username search → Site lists: loads definitions
- Email search → Site lists: loads definitions
- Site lists → Username definitions: reads metadata
- Site lists → Email definitions: reads definitions
- Username search → Site filters: filters sites
- Email search → Site filters: filters sites
- Username search → HTTP client: checks accounts
- Email search → HTTP client: checks accounts
- HTTP client → Search platforms: sends requests
- Username search → Metadata parsing: extracts metadata
- Email search → Metadata parsing: extracts metadata
- Email search → Email pre-check: prepares requests
- Username search → Instagram enrichment: enriches results
- Instagram enrichment → HTTP client: sends requests
- CLI orchestrator → AI client: requests analysis
- AI client → API key manager: loads key
- API key manager → API key file: reads or writes
- API key manager → HTTP client: requests key
- AI client → HTTP client: sends prompt
- HTTP client → Blackbird AI API: sends requests
- CLI orchestrator → CSV export: exports results
- CLI orchestrator → JSON export: exports results
- CLI orchestrator → PDF export: exports results
- Username search → HTML dumps: saves responses
- Email search → HTML dumps: saves responses
- CSV export → Saved output files: writes report
- JSON export → Saved output files: writes report
- PDF export → Saved output files: writes report
- HTML dumps → Saved output files: writes HTML