Skip to main content

Maigret

Maigret collects a dossier on a person by username only, checking for accounts on a huge number of sites and gathering all the available information from web pages. No API keys required.

Contents

In one minute

Ensure you have Python 3.10 or higher.

pip install maigret
maigret YOUR_USERNAME

No install? Try the community Telegram bot or a Cloud Shell.

Want a web UI? See how to launch it.

See also: Quick start.

Main features

  • Supports 3,000+ sites (see full list). A default run checks the 500 highest-ranked sites by traffic; pass -a to scan everything, or --tags to narrow by category/country.
  • Embeddable in Python projects — import maigret and run searches programmatically (see library usage).
  • Extracts all available information about the account owner from profile pages and site APIs, including links to other accounts.
  • Performs recursive search using discovered usernames and other IDs.
  • Allows filtering by tags (site categories, countries).
  • Detects and partially bypasses blocks, censorship, and CAPTCHA.
  • Fetches an auto-updated site database from GitHub each run (once per 24 hours), and falls back to the built-in database if offline.
  • Works with Tor and I2P websites; able to check domains.
  • Ships with a web interface for browsing results as a graph and downloading reports in every format from a single page.
  • Optional AI analysis mode (--ai) that turns raw findings into a short investigation summary using an OpenAI-compatible API.

For the complete feature list, see the features documentation.

Used by

Professional OSINT and social-media analysis tools built on Maigret:

Social Links API Social Links Crimewall UserSearch

Demo

Video

asciicast

Reports

PDF report, HTML report

HTML report screenshot

XMind 8 report screenshot

Full console output

Installation

Already ran the In one minute steps? You're set. Below are alternative methods.

Don't want to install anything? Use the community Telegram bot.

Windows

Download a standalone EXE from Releases. Video guide: https://youtu.be/qIgwTZOmMmM.

Cloud Shells

Run Maigret in the browser via cloud shells or Jupyter notebooks:

Open in Cloud Shell Run on Replit

Open In Colab Open In Binder

Local installation (pip)

# install from pypi
pip3 install maigret

# usage
maigret username

From source

# or clone and install manually
git clone https://github.com/soxoj/maigret && cd maigret

# build and install
pip3 install .

# usage
maigret username

Docker

Two image variants are published:

  • soxoj/maigret:latest — CLI mode (default)
  • soxoj/maigret:web — auto-launches the web interface
# official image (CLI)
docker pull soxoj/maigret

# CLI usage
docker run -v /mydir:/app/reports soxoj/maigret:latest username --html

# Web UI (open http://localhost:5000)
docker run -p 5000:5000 soxoj/maigret:web

# Web UI on a custom port
docker run -e PORT=8080 -p 8080:8080 soxoj/maigret:web

# manual build
docker build -t maigret .                  # CLI image (default target)
docker build --target web -t maigret-web . # Web UI image

Troubleshooting

Build errors? See the troubleshooting guide.

PDF reports (--pdf) are an optional extra — install with pip install 'maigret[pdf]'. They need system-level graphics libraries on Linux/macOS; see the PDF reports section for per-OS install steps.

Usage

Examples

# make HTML, PDF, and Xmind8 reports
maigret user --html
maigret user --pdf
maigret user --xmind #Output not compatible with xmind 2022+

# machine-readable exports
maigret user --json ndjson   # newline-delimited JSON (also: --json simple)
maigret user --csv
maigret user --txt
maigret user --graph         # interactive D3 graph (HTML)

# search on sites marked with tags photo & dating
maigret user --tags photo,dating

# search on sites marked with tag us
maigret user --tags us

# search for three usernames on all available sites
maigret user1 user2 user3 -a

# AI-assisted investigation summary (needs OPENAI_API_KEY)
maigret user --ai

Run maigret --help for all options. Docs: CLI options, more examples. Running into 403s or timeouts? See TROUBLESHOOTING.md.

Web interface

Maigret has a built-in web UI with a results graph and downloadable reports.

Web Interface Screenshots

Web interface: how to start

Web interface: results

maigret --web 5000

Open http://127.0.0.1:5000, enter a username, and view results.

Python library

Maigret can be embedded in your own Python projects. The CLI is a thin wrapper around an async function you can call directly — build custom pipelines, feed results into your own tooling, or run it inside a larger OSINT workflow.

See the full library usage guide for a working example, async patterns, and how to filter sites by tag.

Useful CLI flags

  • --parse URL — parse a profile page, extract IDs/usernames, and use them to kick off a recursive search.
  • --permute — generate likely username variants from two or more inputs (e.g. john doe → johndoe, j.doe, …) and search for all of them.
  • --self-check [--auto-disable] — verify usernameClaimed / usernameUnclaimed pairs against live sites for maintainers auditing the database.
  • --ai / --ai-model — run the AI analysis over the search results and stream a short investigation summary to the terminal.

AI analysis

--ai collects the search results, builds an internal Markdown report, and sends it to an OpenAI-compatible chat completion endpoint to produce a short, neutral investigation summary (likely real name, location, occupation, interests, languages, confidence, follow-up leads). Per-site progress is suppressed and the model's output is streamed to stdout.

export OPENAI_API_KEY=sk-...
maigret user --ai

# pick a different model
maigret user --ai --ai-model gpt-4o-mini

The key can also be set as openai_api_key in settings.json. The endpoint defaults to https://api.openai.com/v1, but openai_api_base_url in settings.json can point to any OpenAI-compatible API (Azure OpenAI, OpenRouter, a local server, …). See the settings docs for the full list of options.

Tor / I2P / proxies

Maigret can route checks through a proxy, Tor, or I2P — useful for .onion / .i2p sites and for bypassing WAFs that block datacenter IPs.

# any HTTP/SOCKS proxy
maigret user --proxy socks5://127.0.0.1:1080

# Tor (default gateway socks5://127.0.0.1:9050)
maigret user --tor-proxy socks5://127.0.0.1:9050

# I2P (default gateway http://127.0.0.1:4444)
maigret user --i2p-proxy http://127.0.0.1:4444

Start your Tor / I2P daemon before running the command — Maigret does not manage these gateways.

Cloudflare bypass

Experimental. The Cloudflare webgate is under active development; the configuration schema, CLI behaviour, and the set of routed sites may change without backwards-compatibility guarantees.

A subset of sites in the database require a real browser to solve a JavaScript challenge. Maigret can offload these checks to a local FlareSolverr instance:

docker run -d -p 8191:8191 --name flaresolverr ghcr.io/flaresolverr/flaresolverr:latest
maigret --cloudflare-bypass <username>

The bypass is opt-in (--cloudflare-bypass or cloudflare_bypass.enabled in settings.json) and only fires for sites whose protection field matches. See the feature docs for backend options and configuration.

Contributing

Add or fix new sites surgically in data.json (no json.load/json.dump), then run ./utils/update_site_data.py to regenerate sites.md and the database metadata, and open a pull request. For more details, see the CONTRIBUTING guide and development docs. Release history: CHANGELOG.md.

Commercial Use

The open-source Maigret is MIT-licensed and free for commercial use without restriction — but site checks break over time and need active maintenance.

For serious commercial use — with a daily-updated site database or a username-check API — reach out: 📧 maigret@soxoj.com

  • Private site database — 5 000+ sites, updated daily (separate from the public open-source database)
  • Username check API — integrate Maigret into your product

About

Disclaimer

For educational and lawful purposes only. You are responsible for complying with all applicable laws (GDPR, CCPA, etc.) in your jurisdiction. The authors bear no responsibility for misuse.

Feedback

Open an issue · GitHub Discussions · Telegram

SOWEL classification

OSINT techniques used:

License

MIT © Maigret

Metadata

Release files for maigret 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for maigret 0.6.1
File Size Uploaded
maigret-0.6.1.tar.gz 263.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for maigret 0.6.1
File Interpreter ABI Platform
maigret-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 536.7 kB

Release files / maigret-0.6.1.tar.gz

Download URL maigret-0.6.1.tar.gz
Size 263.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e1cc37b008ccf83ec64039c0b5c7219c607da8bcd1423157f299c3c58aa84dce
BLAKE2b-256 checksum
How to use checksums
e3d62e342593372b0e215f3080af6c0c3493250a1321c3348a54a018fc173963
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 16, 2026.

Transparency log

Release files / maigret-0.6.1-py3-none-any.whl

Download URL maigret-0.6.1-py3-none-any.whl
Size 273.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbbeb395b7c5299c445e38aedcb3906d59eeb0da30e1dab25c4d5c8a942751a8
BLAKE2b-256 checksum
How to use checksums
977b9bac41a5e0844e39f8cb1e2848bc07daec50e55ebf1c5c43bfa8282a50a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

1 release file

0.1.6

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page