mrkeyoor.com_
Sun 27 Sept 19:22 UTC
Automationevaluationupdated 26 Aug 2026

maigret review

Maigret is a Python OSINT tool that checks a username across more than 3,000 sites, then collects profile details and links into readable or machine-friendly reports. It turns a slow, repetitive account hunt into one command, with no site API keys required for the standard search.

+116stars / 7d
Verdict

Our Maigret run passed 369 of 447 pytest cases, with 64 failures and 14 setup or collection errors, so its useful reports cannot be treated as proof that every site checker works. It remains a strong first pick when a username search must become a reviewable investigation artifact. Use it for leads, verify consequential matches by hand, and never expose the stock web UI without access controls.

We ran it

Lab card: what happened when we ran maigretScreenshot of maigret (maigret.app)
Install✓ · 52s92 packages · 203 MB
Build✓ · 9s
Tests✗ · 18s369 passed · 64 failed · 5 skipped · 14 errors of 447 (pytest)
Known vulns0(pip-audit)
Repo164 files~19,856 lines of source · 7.5 MB · 6 CI workflows · Dockerfile · tests dir

Answers from our run

Does maigret build from source?

Dependencies installed in 52 seconds (92 packages), and the build succeeded in 9 seconds. We cloned commit 149acb1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do maigret's tests pass?

Not all of them: 369 of 447 passed and 64 failed when we ran the project's own test command (pytest), with 14 collection errors. Some failures need services or credentials a bare container does not have.

Does maigret have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use maigret?

Anyone who needs every hit to be conclusive evidence of identity: an open issue documents one site reporting three random usernames as claimed, so results require manual verification.

What are the alternatives to maigret?

Sherlock, WhatsMyName, SpiderFoot. Our Maigret run passed 369 of 447 pytest cases, with 64 failures and 14 setup or collection errors, so its useful reports cannot be treated as proof that every site checker works.

Setup4/5Simple pip start, with extra services for protected sites and Tor
Docs5/5Clear install, CLI, library, export, proxy, and troubleshooting guides
Community5/5Large audience with active site fixes, issues, and pull requests
Maturity4/5Established core, but live-site drift and release labeling need care

Discussed on

  1. hnMaigret: Collect a dossier on a person by username from thousands of sites499 points

Who it’s for

Investigators and security teams tracing a reused username across public websites.
Journalists and researchers who need exportable evidence rather than a page of search links.
Python developers who want to embed username discovery in a larger OSINT workflow.
Analysts who need Tor, I2P, proxy, recursive-search, and graph-export options in one tool.

Who it’s NOT for

Anyone who needs every hit to be conclusive evidence of identity: an open issue documents one site reporting three random usernames as claimed, so results require manual verification.
Teams expecting a supported authenticated REST service: the project currently offers a CLI, Python library, and web UI, while REST API support remains an open feature request.
Operators who want a public web UI with built-in access control: the README warns that its one-click Render deployment has no login, so anyone with the URL can use it.
Windows users who cannot investigate security-software alerts: an open report says Microsoft Defender flagged the downloadable executable, making the pip or source route the safer evaluation path.
Commercial data products that expect the public site definitions to stay accurate without upkeep: the README says checks break over time and sells a separately maintained daily-updated database.

Setup reality

Our Python 3.12 sandbox installed 92 packages in 52 seconds, using 203 MB on disk, and built the project in 9 seconds. Pytest then failed after 18 seconds: 369 tests passed, 64 failed, 5 skipped, and 14 ended in collection or setup errors. Pip-audit found 0 known vulnerabilities.

The log tail names Cloudflare web-gate and checking tests, plus an async cookie fixture with no plugin or hook to handle it. It does not prove why the other 64 tests failed.

Ordinary searches need no API key. PDF output adds graphics libraries; Tor and I2P need gateways; FlareSolverr support is experimental; and the public web UI needs authentication and rate controls.

What happened when we ran it

Our Python 3.12 sandbox installed 92 packages in 52 seconds and used 203 MB on disk. The build succeeded in 9 seconds. commit 149acb1 was a 7.5 MB checkout with 164 files and about 19,856 source lines, while pip-audit reported 0 known vulnerabilities.

Pytest failed after 18 seconds: 369 of 447 tests passed, 64 failed, 5 skipped, and 14 ended in collection or setup errors. The log tail names Cloudflare web-gate checks and several general checking cases. It also says an async fixture named cookie_test_server had no plugin or hook to handle it. That message explains one setup error, not the other failures, so our run cannot assign a single cause to the suite result.

Maigret turns username hits into reviewable reports

Maigret checks a username across more than 3,000 sites, with a default run covering the 500 highest-ranked entries. It can extract profile details, follow discovered identifiers, and export HTML, PDF, CSV, JSON, XMind, Neo4j, or an interactive graph. Ordinary searches require no site API keys.

The breadth helps an investigator move from a possible account to a structured set of leads. It also creates noise: sites change, common usernames collide, and response patterns can misclassify an account. Narrow filters and manual verification matter more than scanning every entry.

Python installs quickly; the web still fights back

The basic path is as clean as advertised: use Python 3.10 or newer, install the PyPI package, and run maigret USERNAME. There are official Docker variants for the command line and web interface, plus a downloadable Windows executable. Developers can call the asynchronous search function from Python instead of wrapping the command, which is the better route for a durable internal workflow.

The complexity arrives at the edges. PDF reports are an optional install and need operating-system graphics libraries. Tor and I2P modes assume their gateways are already running. Sites protected by JavaScript challenges can be routed through a separate FlareSolverr instance, but the README labels that Cloudflare bypass experimental and warns that its behavior may change without compatibility guarantees.

The bundled web UI is excellent for exploring the relationship graph and downloading reports. It is not a finished multi-user service. The README explicitly says the one-click Render deployment has no login and can be used by anyone who knows its URL. Put authentication, request limits, and an acceptable-use policy in front of it before making it reachable outside a trusted network. A request for a proper authenticated REST API is still open, so service integrations should currently use the Python library or build their own boundary.

Results are leads, not identity proof

Username reuse is useful evidence, but it is not proof that two profiles belong to the same person. Common handles collide, profile pages change, and websites sometimes return the same response for existing and nonexistent users. Maigret uses claimed and unclaimed response markers, status codes, redirects, and page data to make that decision, yet the database is only as accurate as the current behavior of thousands of independent sites.

A July 2026 issue gives the right warning: the Telegram bot's automated probe marked three random usernames as claimed on one forum. Current pull requests also repair integrations when an API times out or a profile route stops exposing structured data. This is healthy maintenance, but it demonstrates why consequential findings need to be opened and checked manually. The self-check command helps maintainers find broken definitions; it does not remove uncertainty from a finished report.

The optional AI mode sends a generated Markdown report to an OpenAI-compatible chat endpoint for a short investigation summary. It introduces an API key, a third-party or local model, privacy decisions, and another source of mistaken inference. Keep the underlying links and distinguish extracted facts from model-written conclusions.

Reporting is where Maigret earns its place

The export range is a genuine advantage. HTML and PDF suit a human handoff, CSV and newline-delimited JSON fit analysis pipelines, and the graph output makes connections easier to inspect. Neo4j export writes an idempotent Cypher script, so repeated imports do not have to duplicate the same entities. Keyword highlighting can also elevate profiles that mention terms relevant to the investigation.

Maigret is especially strong when the first match reveals another identifier. Recursive searching can turn scattered public clues into a connected dossier, and the library interface lets a team attach its own review and storage process. The responsible workflow is to start narrow, preserve source URLs, verify important matches, and expand only when the evidence justifies it. Running all sites and accepting every green result produces volume, not certainty.

Release 0.6.5 fixed reports and site checks

The repository was pushed on August 25, 2026, the same day version 0.6.5 was released. GitHub listed 23 open issues and pull requests. False-positive probes for Aqa, JoyReactor, Codédex, Coderwall, and DEFCAD were updated between August 23 and 25, which shows both current maintenance and the recurring cost of tracking thousands of independent sites.

The numbered v0.6.5 release now occupies GitHub's latest slot, removing the confusing development-build pointer described in an older issue. Windows evaluators should still consider the earlier Defender report on the standalone executable; pip or an inspected source build avoids relying on that binary.

Maigret is an unusually capable tool for turning username reuse into structured research. Its breadth guarantees ongoing breakage at individual sites, and our 64 failed tests make that risk concrete. Pick it when recursive discovery and varied exports matter, then preserve source URLs and manually confirm every match that affects a person.

Alternatives

ProjectWhat it isPick it when
Sherlock gh↗A focused command-line username checker with a large, familiar community.pick this instead when you mainly need account-presence checks and prefer a narrower tool with fewer dossier and graph features.
WhatsMyNameA community-maintained username enumeration dataset used by several OSINT tools.pick this instead when you want site definitions to feed your own workflow rather than a full investigation application.
SpiderFoot gh↗A broader OSINT automation platform that connects many target and data types.pick this instead when usernames are only one part of an investigation spanning domains, IP addresses, emails, and infrastructure.

What people are saying

  1. [github-trending] soxoj/maigret

Sources

  1. Maigret README
  2. Maigret release v0.6.5
  3. False-positive site probe issue
  4. Development release marked latest issue
  5. Windows Defender report
  6. REST API feature request

More automation reviews

runner-images · agent-fleet-manager · kargo · Rose · alchemy · laya · the whole board →