What Identifier Types Does Maigret Support Besides Usernames?
Maigret supports nine distinct identifier types—including Google GAIA IDs, Steam numeric IDs, and VK user IDs—defined in the SUPPORTED_IDS constant within maigret/checking.py and accessible via the --id-type CLI option.
While Maigret is commonly known for username enumeration, the soxoj/maigret repository actually supports platform-specific identifiers that bypass screen name variations. These alternative identifiers enable direct searches for internal numeric IDs and platform-specific tokens across hundreds of supported sites.
Supported Identifier Types in Maigret
The complete list of supported identifiers is maintained in maigret/checking.py lines 36-46 within the SUPPORTED_IDS dictionary. According to the source code and documentation in docs/source/supported-identifier-types.rst, Maigret recognizes the following identifier categories:
- username: The default screen name or handle used on a service.
- gaia_id: Google’s internal numeric identifier, formerly visible in Google+ profile URLs.
- vk_id: Numeric user ID for VK.com profiles.
- ok_id: Numeric identifier for OK.ru (Odnoklassniki) users.
- steam_id: Numeric Steam user identifier used across Valve’s gaming platform.
- yandex_public_id: Alphanumeric public ID used by Yandex services and YaSeeker.
- wikimapia_uid: Numeric user ID specific to Wikimapia.org.
- uidme_uguid: Numeric identifier for uID.me profiles.
- yelp_userid: Internal user identifier assigned by Yelp.
These identifiers map to specific URL patterns and API endpoints within the site database, allowing Maigret to query platforms using their native ID formats rather than public usernames.
How Identifier Types Work in the Source Code
In maigret/checking.py, the SUPPORTED_IDS constant serves as the master registry for valid identifier types. This dictionary validates user input before execution. When you specify an identifier type via the command line, maigret/maigret.py parses the --id-type argument and passes it to the core checking logic.
The Python API accepts these identifiers through the id_type parameter in the maigret function, which then applies the appropriate URL templates from the site database based on the selected identifier schema.
Using Alternative Identifiers in Practice
Command Line Examples
Specify the identifier type using the --id-type flag followed by the target value:
# Search by Google GAIA ID
maigret 112233445566778899 --id-type gaia_id
# Query a VK.com numeric profile ID
maigret 123456789 --id-type vk_id
# Search using Yandex public ID format
maigret "AB-CDE-1234" --id-type yandex_public_id
Python API Integration
When integrating Maigret into Python applications, pass the identifier type to the maigret function:
from maigret.maigret import maigret
# Search for a Steam ID
results = await maigret(
username="76561198000000000",
site_dict=site_database,
logger=my_logger,
id_type="steam_id",
)
Summary
- Maigret supports nine identifier types including platform-specific numeric IDs and alphanumeric tokens.
- Valid types are defined in
maigret/checking.pywithin theSUPPORTED_IDSconstant. - Use the
--id-typeCLI option to specify non-username identifiers likegaia_id,steam_id, orvk_id. - The Python API accepts identifier types through the
id_typeparameter in themaigretfunction. - Documentation in
docs/source/supported-identifier-types.rstprovides the authoritative reference for each identifier format.
Frequently Asked Questions
What is the default identifier type in Maigret?
The default identifier type is username, which instructs Maigret to treat the input as a standard screen name or handle across supported platforms. This default is applied when the --id-type parameter is omitted from CLI commands or when id_type is not specified in Python API calls.
Can I search multiple identifier types simultaneously in a single command?
No, Maigret processes one identifier type per execution. To search across different identifier formats—such as both a gaia_id and a steam_id—you must run separate commands or API calls for each identifier type, as each requires distinct URL templates and validation logic defined in the site database.
Where is the complete list of supported identifier types documented?
The canonical documentation resides in docs/source/supported-identifier-types.rst within the repository. The programmatic source of truth is the SUPPORTED_IDS dictionary in maigret/checking.py (lines 36-46), which contains the active registry of identifier schemas recognized by the tool.
How do I search for a Steam ID or VK numeric ID specifically?
Pass the numeric value to Maigret using the --id-type flag with the appropriate key. For Steam, use --id-type steam_id (e.g., maigret 76561198000000000 --id-type steam_id). For VK.com profiles, use --id-type vk_id followed by the numeric user ID. These platform-specific identifiers bypass username variations and query the platforms' internal ID systems directly.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →