Username OSINT Search: How to Find Social Media Accounts by Username
Learn how username OSINT tools find social media accounts, profiles, and online identities across multiple platforms.
A username is often the most reused piece of someone’s online identity. Email addresses stay private on most sites, but usernames are displayed publicly and usually appear in the profile URL. That makes them one of the fastest ways to map an online footprint, and one of the easiest to misread.
Organizations are just as consistent as people. A company, a seller, or an open-source project usually claims the same handle on social media, code hosting, forums, and app stores, because consistency helps customers find it. That habit leaves a public pattern you can map and check. The hard part is not finding matches; it is telling real matches from noise, and our tests below show how much noise there is.
Key Findings at a Glance
| Finding | Figure | Source |
|---|---|---|
| Sites reporting “found” for a random string that nobody uses | 267 of 2,173 (12.3%) | Our test |
| Sites reporting “found” for all three test handles | 258 | Our test |
| mozilla results left after removing the random-string matches | 299 of 560 | Our test |
| Sites where the HTTP status alone separated a real and a missing profile | 7 of 18; 6 were soft 404s | Our test |
| WhatsMyName sites returning the same status whether or not the account exists | 169 of 691 (24.5%) | WhatsMyName data |
| Active Maigret sites that need a text marker to decide | 4,144 of 7,516 (55%) | Maigret data |
How the data was produced. All tests ran on October 23, 2026. Site searches used the Holehe OSINT homepage username search from one connection. Manual checks usedcurlagainst 18 profile URLs. Site-list statistics come from the public data files of Sherlock, Maigret, and WhatsMyName, downloaded the same day. We searched only an organization handle (mozilla), a common first name (alex), and a random control string (qzv7k3xw9tlm), and we did not open or record any private person’s profile. Every chart states its method; the full list is in Data Sources and Methodology.
Why Username Search Matters
People tend to keep a handle once they like it, so the same name can follow them from a gaming account at 15 to a developer profile at 30. For example, johnsmith88 might appear on GitHub, Reddit, Discord, and a gaming forum. Creating a new, unique name for every site is tiring, so most people settle on a small set: a “professional” handle, a gaming handle, perhaps a project handle. The lines blur when someone registers a project handle on an ordinary site just to reserve the name.
Organizations follow the same pattern, which analysts call handle continuity. A brand that registered northwind_tools in 2016 is likely to use northwindtools, northwind.tools, or the exact same string elsewhere. Genuine organizations are consistent, so gaps stand out. Copycat accounts tend to be recent, thin, and inconsistent with the official pattern.
The catch is that identical handles are not always the same person. Short or common names (alex, mike92) are claimed by different people on different sites. The more unusual the handle, the stronger a cross-platform match becomes: j.smith is low confidence; j.smith.dev.2024 is much higher.
How Username OSINT Works
A username checker keeps a list of sites and the profile URL pattern each one uses, for example:
github.com/johnsmith88reddit.com/user/johnsmith88x.com/johnsmith88
For each site, it requests the URL and decides whether the profile exists. That decision is less simple than it sounds. Some sites return an error page for missing users, some return a normal page that says “user not found”, and some redirect to a login screen. Good tools define, per site, which response means “exists”. Open-source projects such as Sherlock, Maigret, and WhatsMyName maintain these site definitions publicly.

The three projects make different trade-offs. Sherlock relies mostly on status codes (68% of its 481 sites). Maigret, which grew out of Sherlock and covers many more forums, needs a text marker on 55% of its 7,516 active sites. WhatsMyName checks both the status code and a text marker on every site, and its data shows why: on 169 of 691 sites (24.5%), the status code is the same whether or not the account exists.
The soft 404 problem

curl request per URL, October 23, 2026.We requested the same 18 profile URLs for mozilla and for qzv7k3xw9tlm. The status code alone told them apart on only 7 sites. Six sites, including Reddit, TikTok, Twitch, and Steam, returned 200 OK for the handle that does not exist: a “soft 404”, where the page loads but says nothing useful or shows an app shell. GitLab redirected the missing handle to a sign-in page, and Instagram, Medium, and npm blocked or challenged both requests. In other words, a page that loads is not a profile that exists.
Because websites change their pages, these definitions break over time. False positives (a missing profile reported as found) and false negatives are normal, so results should always be opened and checked by hand.
Categories of Platforms Checked
A comprehensive username search tool like Holehe OSINT checks accounts across many categories, including:
- Social media (Instagram, X, Facebook, Snapchat)
- Video and streaming (YouTube, TikTok, Twitch)
- Coding and developer platforms (GitHub, GitLab, Stack Overflow)
- Gaming communities (Steam, Xbox, PlayStation Network)
- Blogging and publishing (Medium, WordPress, Substack)

Bigger lists reach further into the “forgotten tail”: old forums, wikis, and niche communities where people and companies leave details they would no longer publish. More than half of Maigret’s 8,215 listed sites carry the forum tag. The trade-off is that every extra site is another rule that can break. Some large platforms also limit what anonymous visitors can see or block automated requests, so coverage on those sites can vary from one check to the next.
What a Search Shows: Three Handles, 2,173 Sites
An organization handle

mozilla on Holehe OSINT, October 23, 2026: 560 of 2,173 sites reported “found” in 45.6 s, filtered to found results.What it shows. Mozilla publishes accounts under this handle on major platforms, so many of these results are real. But look at the links. The X card links to x.com/mozilla, a profile URL. The Twitter, TikTok, GitHub, and Reddit cards link to the sites’ home pages, not to a profile. A result that does not point to a profile page is a claim you cannot verify from the card alone.
A random control string

qzv7k3xw9tlm, searched a minute later: 267 sites still reported “found”.What it shows. We made this string up, so no account should exist anywhere. Yet 267 sites reported “found”, many again linking to a home page such as x.com/ or reddit.com/. Treat this number as the noise floor of the tool: any result that also appears for a random string tells you nothing about your handle.
Subtracting the noise

Running a control string next to your real search is the simplest false-positive filter there is. Of mozilla’s 560 results, 261 also appeared for the random string; removing them leaves 299 to check. The common name alex reached 979 results, the most of the three, which shows the opposite problem: a common handle exists on many sites, but almost certainly belongs to many different people. A repeat search for mozilla returned the same 560 results in 1.3 s, served from cache, so rerunning a search does not by itself confirm anything.

Noise is not spread evenly. In the Reference category the random string scored 25 against mozilla’s 26 (96%), so that category says almost nothing on its own. Gaming (26%) and Finance (20%) were cleaner. If your search is about a software company, start with Coding and Tech results, and leave noisy categories until last.
The Manual Method: Search Operators, URLs, and Archives
Search operators
Search engines index many profile pages long after a platform’s own search stops showing them. Google documents its operators, and two patterns cover most needs:
inurl:example_handle -site:x.com -site:instagram.com -site:tiktok.com
"example_handle" ("member" OR "joined" OR "profile" OR "official")
The first finds URLs containing the handle on sites you have not already checked: niche forums, code paste sites, and blog comment profiles. The second finds the exact handle on pages that also contain account-related words, which filters out pages where the string appears by chance.
URL pattern checks
Even when a site has no search feature, you can type the expected address. Keep a short list of likely places: github.com/handle, gitlab.com/handle, x.com/handle, tiktok.com/@handle, medium.com/@handle, steamcommunity.com/id/handle, twitch.tv/handle. As Chart 2 shows, check the page content, not just whether it loaded.
Command-line tools
pip install maigret
maigret example_handle --top-sites 500
maigret example_handle -a --pdf
Maigret checks its most popular sites by default; -a checks all of them and --pdf writes a report (the PDF needs the optional maigret[pdf] extra). Expect friction: large platforms rate-limit quickly, results depend on your network, and output sits in local files. Sherlock and the WhatsMyName web interface follow the same idea with smaller lists.
Caches and archives
Accounts get renamed, emptied, or deleted. The Wayback Machine and Archive.today show pages as they existed in the past. A broken link to a profile on an old forum may still have a snapshot in which the bio listed a website or contact email that has since been removed.
How to Verify a Username Match
Treat every hit as a candidate until it passes a few checks:
| Signal | What to compare |
|---|---|
| Profile URL | The result links to an actual profile page, not a home page or sign-in page |
| Profile photo | The same image across profiles; a reverse image search can help |
| Bio and links | Profiles that link to each other or to the same personal website |
| Display name and location | Consistent real name, city, or time zone |
| Activity dates | Accounts active in the same period, rather than one abandoned years before the other was created |
| Writing style and topics | Recurring interests, phrases, or languages |
| Control string | The site does not also report “found” for a random handle |
Two or more independent signals agreeing is a reasonable bar before treating two accounts as the same person.
Advanced Pivots
Stable IDs survive renames
Many platforms give each account a numeric ID that stays the same when the handle changes. On X, the user lookup API returns this ID; on GitHub, the public REST API (api.github.com/users/handle) returns an id field. Record the ID next to the handle, and compare it with archived snapshots: a business that presents itself as new may turn out to have operated under another name on the same account.
The forgotten tail
Organizations curate their main accounts but forget older ones: an early forum account, a dormant image host, an abandoned app listing. These often show earlier trading names or former contact addresses. Chart 3 shows why the tail is large: most of the sites in the biggest open list are forums. Keep what you collect to what your purpose needs.
Clusters and context clashes
Write each account down with its handle, avatar, join date, and linked website, then group them. For a fictional handle DevWorks, you might get:
- Cluster A: five accounts (X, GitHub, Reddit, YouTube, a company page) with the same logo and website link.
- Cluster B: three accounts (Steam, Twitch, Discord) with a game-themed avatar and no website.
- Cluster C: one marketplace account with no shared details.
The grouping shows that the same string belongs to different operators. A context clash, such as a software company’s handle on a marketplace selling unrelated goods, is usually a lookalike account, an undisclosed activity, or a plain coincidence. Compare join dates and shared links to tell which. Posting times help too: a cluster that posts during UK business hours and one that posts late at night are probably run by different people.
Worked Example: A Lookalike Seller
This scenario is illustrative; all names are fictional. The brand team at Larkfield Outdoor, which uses larkfieldoutdoor everywhere, receives customer complaints about a marketplace seller called larkfield_outdoor_store.
- Broad search: the team searches both handles together with a random control string, and sets aside every site that matched the control.
- Clusters: the official handle forms a cluster of eight accounts sharing the company logo and website, the oldest from 2015. The seller handle appears on the marketplace and two social accounts, all created within the last month.
- Images: a reverse image search finds that the seller’s logo is the official logo, recolored.
- Archives: no snapshots of the seller accounts exist before last month.
- Outcome: the team documents the findings, with links and capture dates, and files an impersonation report through the marketplace’s official process.
The control string kept the noise out, and the clusters, the reused logo, and the account ages made the case.
Why Reused Usernames Matter for Security
When the same username is reused across many platforms, it becomes easier for both researchers and attackers to build a profile of a person’s online activity. An attacker can combine a public gaming profile, an old forum post, and a social account to guess security answers or craft a convincing phishing message.
Running a username search on your own handle helps you:
- Find forgotten accounts that still hold personal details or reused passwords
- Spot impersonation accounts using your name
- Decide which old profiles to delete or make private
Tips for Faster Username OSINT Searches
- Start exact. Search the precise handle first, then try variations: underscores or dots (
john_smith88,john.smith88), dropped numbers, and different capitalization where a site treats case differently. - Run a control. Search a random string alongside your handle and ignore sites that report both as found.
- Use other identifiers. If you have an email address, its local part is a strong candidate handle; see finding websites by email address.
- Prioritize unusual handles. A rare username across five sites is stronger evidence than a common one across fifty.
- Open every result. Confirm the profile exists and is not a placeholder, suspended, or “page not found” in disguise.
- Record and date findings. Profiles get renamed and deleted; a dated note or archived copy keeps your findings verifiable.
Legal and Ethical Boundaries
- Respect platform terms. High-volume automated collection may break a site’s terms and get your address blocked. Keep scripts slow.
- Personal data rules apply. Under the UK GDPR and EU GDPR, accounts linked to a person are personal data. Have a lawful purpose, such as fraud prevention or brand protection, and collect only what it needs.
- Stay passive. Review what is published. Do not message, follow, or create accounts to draw out information.
- Do not use results to harass, stalk, or locate people.
Keep research separate from your personal browsing. Some sites, such as LinkedIn, can show members who viewed their pages, and any site can log your IP address. Use a work browser and follow your organization’s research policy.
Frequently Asked Questions
Does a “found” result prove an account exists? No. In our test, 267 of 2,173 sites reported a random string as found. Open the result and check that it is a real profile page.
Why do different tools give different numbers? They check different site lists (481 to over 7,500 sites) with different rules, and results depend on network, location, and rate limits.
Is the same handle on two sites the same person? Only if independent signals agree: a matching photo, cross-links, consistent dates, or shared websites. Common handles almost always belong to several people.
How can I find an account that was renamed? Use the platform’s numeric ID where available, search archived snapshots of the old URL, and search the old handle in quotes.
Which handles are safe to use for testing? A long random string, such as the one we used, is unlikely to belong to anyone and makes a good control.
Data Sources and Methodology
| Dataset | Used in | Source and method | Date | Sample |
|---|---|---|---|---|
| Detection rules | Chart 1 | Sherlock data.json, Maigret data.json (check type resolved through site engines, disabled sites excluded), WhatsMyName wmn-data.json (e_code vs m_code) | Downloaded Oct 23, 2026 | 481 / 7,516 / 691 sites |
| HTTP status test | Chart 2 | curl -L with a desktop browser User-Agent, one request per URL, 1 s apart | Oct 23, 2026 | 18 sites × 2 handles |
| Site coverage and tags | Chart 3 | Same data files; Holehe OSINT count from the search panel | Oct 23, 2026 | 4 lists; 8,215 Maigret sites |
| Site searches | Screenshots 1–2, Charts 4–5 | Holehe OSINT homepage username search, one connection, searches run one after another | Oct 23, 2026, 11:47–11:50 (UTC+8) | 3 handles + 1 repeat, 2,173 sites each |
Limits of our tests: one connection, one day, and three handles chosen so that no private individual is involved. Results for other handles, networks, and times will differ, and site lists change weekly.
References
- sherlock-project/sherlock (last repository commit September 26, 2026)
- soxoj/maigret (last repository commit October 22, 2026)
- WebBreacher/WhatsMyName (last repository commit October 20, 2026)
- Google: Refine web searches
- GitHub REST API: Users and X API: User lookup
- Internet Archive Wayback Machine and Archive.today
- ICO: Legitimate interests
Related Articles
Username OSINT
Mapping a Username Footprint Across Thousands of Sites: A Practical OSINT Workflow
Brand Protection
How to Spot Brand Impersonation Online: An OSINT Checklist Backed by FTC and APWG Data
OSINT Guide
OSINT vs SOCMINT vs HUMINT vs GEOINT: Which Discipline Does Each Holehe OSINT Search Belong To?