maigret is a free, open source social networking project written in Python and released under MIT. It has 39,620 GitHub stars, 3,150 forks and 62 open issues, and was last pushed 11 hours ago. On this registry it ranks #2 of 47 tracked projects in Social Networking, with 5 head-to-head comparisons available. It gained 1,447 stars over the last 30 tracked days.

What is maigret?

Maigret is an open-source Python OSINT tool that builds a dossier on a person from a username alone, checking for accounts across more than 3,000 sites without requiring API keys โ€” it is aimed at OSINT analysts, pentesters, infosec teams, and investigators.

What it is

Maigret is a command-line information-gathering tool written in Python and released under the MIT licence. Given a single username, it queries a large built-in database of sites, detects which ones hold an account for that handle, and then scrapes each confirmed profile page and site API for whatever information the owner has left public. It lives in the Python OSINT and pentesting ecosystem, installs from PyPI, and is also importable as a library inside other Python projects. The project ships its own web interface for browsing results, and the companion extractor socid_extractor handles the parsing of profile data.

The concrete problem it solves is the manual, repetitive work of checking a handle site by site. Instead of opening hundreds of profile URLs by hand, an investigator runs one command and receives a consolidated view of where the username exists, what those profiles reveal, and which other accounts and identifiers are linked to them. A default run checks the 500 highest-ranked sites by traffic, and the -a flag widens the scan to the full set of 3,000-plus sites, so the tool scales from a quick triage pass to an exhaustive sweep.

Key capabilities

  • Checks 3,000+ sites; default run covers the 500 highest-ranked by traffic, -a scans everything, and --tags narrows by category or country.
  • Extracts available account-owner information from profile pages and site APIs via the socid_extractor component, including links to other accounts.
  • Performs recursive search using discovered usernames and other identifiers found in earlier results.
  • Detects and partially bypasses blocks, censorship, and CAPTCHA.
  • Fetches an auto-updated site database from GitHub once per 24 hours, falling back to the built-in database when offline.
  • Works with Tor and I2P sites, and can check domains.
  • Ships a web interface for browsing results as a graph and downloading reports in every supported format from one page; optional --ai mode summarizes findings through an OpenAI-compatible API.
  • Embeddable in Python projects โ€” import maigret and run searches programmatically.

Who uses it and how

  • OSINT analysts building a dossier on a handle, running the default 500-site pass for triage and -a when the full 3,000-site sweep is warranted.
  • Pentesters and infosec teams mapping an organization's or target's public footprint as part of an engagement.
  • Developers embedding maigret as a library inside larger social-media analysis or identification tooling.
  • Users who want no local install at all, running the community Telegram bot, a Cloud Shell instance, or the Windows maigret_standalone.exe from Releases.
  • Investigations that need anonymity or reachability, using Tor and I2P support to route checks through those networks.

Getting started

Install with pip install maigret on Python 3.10 or higher, then run maigret YOUR_USERNAME. A web UI launch path, a community Telegram bot, Cloud Shell options, and the standalone Windows executable are available for anyone who does not want a local Python install.

How it compares

The facts provided name no paid products that Maigret replaces, and the topic list names no comparable tools. On the recorded evidence, Maigret stands alone in this registry.

When to use it โ€” and when not

Choose Maigret when the task is username-based account discovery and profile extraction, when MIT licensing and self-hosting matter, and when Tor, I2P, or a scriptable Python interface is required. A self-hoster must supply Python 3.10 or higher, network access, and โ€” for large or protected scans โ€” proxy infrastructure, since the README's sponsor section centers on residential proxies for scraping workflows; the --ai mode additionally needs an OpenAI-compatible API endpoint and key. Anyone wanting a turnkey hosted service with no setup, or an operator unwilling to handle rate limits and partial CAPTCHA bypass, should look elsewhere. Note also that the README is truncated in the supplied facts and lists no release date, so packaging and versioning details cannot be confirmed from this page.

project readme (upstream, from github) โ€” read inline

Maigret

PyPI version badge for Maigret Total downloads Downloads/month View count for Maigret project Minimum Python version required: 3.10+ License badge for Maigret
Maigret logo
Ask Code Wiki about Maigret Ask DeepWiki about Maigret

English ยท ็ฎ€ไฝ“ไธญๆ–‡


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. AI profiling (demo).

Sponsors

Top sponsorship slot



RapidProxy

RapidProxy provides high-performance residential proxies for Twitter scraping, Selenium automation, and web data extraction. 90M+ IPs โ€ข Smart rotation โ€ข Anti-block โ€ข Non-expiring traffic.
Special Offer: Try it free โ€” Plans from $0.65/GB. Use code RAPID10 for 10% off.

MangoProxy

MangoProxy is a Residential, ISP, Mobile and Datacenter proxy service designed for professional tasks where stability, speed, and anonymity matter.
Promo code: SOXOJ - 8% off Static ISP proxies

Thordata

Thordata provides reliable residential proxies for OSINT research, username lookup, and public data collection workflows. Access 100M+ real residential IPs across 195+ countries unlimited concurrent connectionswith 99.99% uptime and stable connections, Rotating + Sticky Sessions, and high success rates.
Special Offer: Free 3-day trial + 10% OFF with code SOXOJ10.

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 maigret_standalone.exe from Releases. You can launch it two ways:

  • Double-click it โ€” Maigret will ask for a username, run a default search, and wait at the end so the report links stay visible.
  • Run it from a terminal โ€” open Command Prompt (press Win+R, type cmd, hit Enter) or PowerShell to pass extra options:
cd %USERPROFILE%\Downloads
maigret_standalone.exe USERNAME
maigret_standalone.exe USERNAME --html       :: also save an HTML report
maigret_standalone.exe --help                :: list all options

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

Snap (Linux)

Get it from the Snap Store

sudo snap install maigret

# usage
maigret username

Available for amd64 and arm64, no Python required. The snap is strictly confined and can write inside your home directory, so run it from there. For USB drives, connect the interface once with sudo snap connect maigret:removable-media.

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 XMind reports
maigret user --html
maigret user --pdf
maigret user --xmind # legacy XML with a manifest for XMind 2022+ readers

# 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)
maigret user --neo4j         # Neo4j Cypher script (graph database)

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

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

# highlight sites whose page also mentions specific keywords
maigret user --keywords python rust
# keyword-matched sites are shown with "[++]" in bright green

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

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

--neo4j writes a *_neo4j.cypher script of the results graph; import it with `cypher-shell -u neo4j -p

Web interface

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

Don't want to run it yourself? Deploy the published soxoj/maigret:web Docker image as a hosted app in one click:

Deploy to Render

Runs on Render's free tier (spins down after 15 min idle, spins back up on the next request). No login is set up on the instance, so anyone with the URL can use it.

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

asciicast

--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

Frequently asked questions

Is maigret free to use?

maigret is open source under the MIT licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does maigret do?

๐Ÿ•ต๏ธโ€โ™‚๏ธ Collect a dossier on a person by username from 3000+ sites

What is maigret written in?

maigret is primarily written in Python. Its source is publicly available at https://github.com/soxoj/maigret, and it has 39,620 GitHub stars.