Updated Jul 14, 2026

OSINT

Collect every account tied to a username

maigret is an OSINT dossier tool that collects a dossier on a person by username only, checking that username for accounts on a huge number of sites and gathering all the available information from the discovered pages, without requiring API keys.

installpip install maigret

Python · MIT license

Agent

overview

What maigret does

maigret takes one or more usernames, checks them against a large site database, and writes confirmed profile URLs plus page-extracted data into a single dossier folder.

Reach for it when a seed handle must become a map of online presence, including recursive pivots when a profile exposes another username or ID. Prefer sherlock for a faster yes/no on where a handle exists.

Trickest provides maigret as a managed OSINT node. Feed usernames; scope with --site, --tags, or --top-sites; take CSV, PDF, HTML, JSON, XMind, or graph reports for analysts and downstream nodes.

source github.com/soxoj/maigret

use cases

Where maigret fits

Build a dossier from a single username

Search one handle across thousands of sites to find every account tied to it, then read the collected profile data as one consolidated report.

Pivot across linked identities

Let recursive search extract usernames and IDs from found profiles and search on them too, turning one seed handle into a connected identity graph.

Scope a run to relevant sites

Restrict the scan with tags, a named site list, or the top-ranked sites so an investigation only checks the services that matter and finishes faster.

Produce analyst-ready reports

Emit PDF, HTML, CSV, JSON, XMind, and graph reports from the same run so the output feeds both downstream automation and a human review.

reference

maigret inputs and flags

38 inputs
NameTypeFlagDescription
usernamesSTRING·One or more usernames to search by (separated by spaces).
siteSTRING--siteLimit analysis to only the specified sites.
tagsSTRING--tagsRestrict the scan to sites carrying the given tags.
top-sitesSTRING--top-sitesCount of sites for scan ranked by Alexa Top (default: 500).
jsonSTRING--jsonGenerate a JSON report of a specific type: simple or ndjson.
pdfBOOLEAN--pdfGenerate a PDF report covering all usernames.
timeoutSTRING--timeoutSeconds to wait for each response (default 30); higher catches slow sites.
max-connectionsSTRING--max-connectionsAllowed number of concurrent connections (default 100).

Showing key inputs. maigret exposes 38 inputs in total.

Full flag reference (38 inputs)
NameTypeFlagDescription
usernamesSTRING·One or more usernames to search by (separated by spaces).
dbFILE--dbLoad Maigret database from a JSON file or HTTP web resource.
siteSTRING--siteLimit analysis to only the specified sites.
tagsSTRING--tagsSpecify tags of sites (see --stats).
top-sitesSTRING--top-sitesCount of sites for scan ranked by Alexa Top (default: 500).
all-sitesBOOLEAN--all-sitesUse all sites for scan.
use-disabled-sitesBOOLEAN--use-disabled-sitesUse disabled sites to search (may cause many false positives).
id-typeSTRING--id-typeSpecify identifier(s) type (default: username).
ignore-idsSTRING--ignore-idsIdentifiers to exclude from the search.
parseSTRING--parseParse page by URL and extract username and IDs to use for search.
submitSTRING--submitURL of an existing profile on a new site to submit.
no-recursionBOOLEAN--no-recursionDisable recursive search by additional data extracted from pages.
no-extractingBOOLEAN--no-extractingDisable parsing pages for additional data and other usernames.
with-domainsBOOLEAN--with-domainsEnable the experimental feature of checking domains built from usernames.
self-checkBOOLEAN--self-checkDo a self check for sites and database and disable non-working ones.
statsBOOLEAN--statsShow database statistics (most frequent site engines and tags).
csvBOOLEAN--csvCreate a CSV report (one report per username).
pdfBOOLEAN--pdfGenerate a PDF report (general report on all usernames).
txtBOOLEAN--txtCreate a TXT report (one report per username).
htmlBOOLEAN--htmlCreate an HTML report file (general report on all usernames).
jsonSTRING--jsonGenerate a JSON report of specific type: simple, ndjson (one report per username).
xmindBOOLEAN--xmindGenerate an XMind 8 mindmap report (one report per username).
graphBOOLEAN--graphGenerate a graph report (general report on all usernames).
reports-sortingSTRING--reports-sortingMethod of results sorting in reports (default: in order of getting the result).
timeoutSTRING--timeoutTime in seconds to wait for a response to requests (default 30s). A longer timeout is more likely to get results from slow sites, but may add a long delay to gather all results.
retriesSTRING--retriesAttempts to restart temporarily failed requests.
max-connectionsSTRING--max-connectionsAllowed number of concurrent connections (default 100).
proxySTRING--proxyMake requests over a proxy, e.g. socks5://127.0.0.1:1080.
tor-proxySTRING--tor-proxySpecify the URL of your Tor gateway. Default is socks5://127.0.0.1:9050.
i2p-proxySTRING--i2p-proxySpecify the URL of your I2P gateway. Default is http://127.0.0.1:4444.
cookies-jar-fileFILE--cookies-jar-fileFile with cookies.
infoBOOLEAN--infoDisplay extra service information and metrics.
verboseBOOLEAN--verboseDisplay extra information and metrics.
debugBOOLEAN--debugDisplay extra service and debug information and metrics, and save responses in debug.log.
print-not-foundBOOLEAN--print-not-foundPrint sites where the username was not found.
print-errorsBOOLEAN--print-errorsPrint error messages: connection, captcha, site country ban, etc.
no-progressbarBOOLEAN--no-progressbarDo not show the progress bar.
no-colorBOOLEAN--no-colorDo not color terminal output.

example

Run maigret

maigret · command
# search a username across top-ranked sites, emit PDF + HTML reports
maigret l.fenwick --top-sites 500 --pdf --html --timeout 30 --max-connections 50
sample output
[*] Checking username l.fenwick on 1500 sites
[+] GitHub: https://github.com/l.fenwick
[+] GitLab: https://gitlab.com/l.fenwick
[+] Reddit: https://www.reddit.com/user/l.fenwick
[+] Instagram: https://www.instagram.com/l.fenwick
[+] Twitter: https://twitter.com/l.fenwick
[*] Extracted: fullname, location, created_at
[*] Recursive search: 2 new usernames queued
[*] 6 accounts found across 1500 sites, report saved to report_l.fenwick.pdf

guidance

Choosing maigret

Use maigret when you hold a username and need a full dossier of confirmed accounts plus extracted profile data, with optional recursive pivots. Prefer sherlock for a quick existence check. Prefer socialscan for email or username availability.

sherlock

Enumerates where a username exists. maigret adds recursive pivots and richer per-profile extraction.

socialscan

Reports whether an email or username is available, taken, or invalid. Different question from dossier building.

infoga

Gathers email-account intel such as IP and host. Complementary OSINT axis to username search.

faq

maigret questions

Pass one or more usernames as the positional argument. maigret requests each site profile pattern, confirms hits, and pulls names, IDs, and links from found pages. Recursive search feeds new usernames or IDs back into the run.

Use --site for named services, --tags to filter by category, or --top-sites for the highest-ranked sites. Narrow scope shortens the run when you already know which platforms matter.

CSV, PDF, TXT, HTML, JSON, XMind, and graph, each behind its own flag. One scan can yield machine-readable JSON for the next node and a PDF or HTML dossier for review.

When a found profile exposes another username, email, or ID, maigret searches on that value too. Pass --no-recursion to stay on the original username, or --no-extracting to skip page parsing.

sherlock answers where a handle exists. maigret builds a richer dossier with extracted profile fields and recursive identity pivots.

Run maigret yourself

A username feeds maigret, which searches thousands of sites and writes the collected dossier as a queryable output.

Facts on this page come from the live Trickest tool library.