Skip to content
Username OSINT

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.

15 min read Holehe OSINT

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

FindingFigureSource
Sites reporting “found” for a random string that nobody uses267 of 2,173 (12.3%)Our test
Sites reporting “found” for all three test handles258Our test
mozilla results left after removing the random-string matches299 of 560Our test
Sites where the HTTP status alone separated a real and a missing profile7 of 18; 6 were soft 404sOur test
WhatsMyName sites returning the same status whether or not the account exists169 of 691 (24.5%)WhatsMyName data
Active Maigret sites that need a text marker to decide4,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 used curl against 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/johnsmith88
  • reddit.com/user/johnsmith88
  • x.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.

Stacked bar chart of detection methods: Sherlock 481 sites, 68 percent status code, 26 percent text marker, 6 percent redirect; Maigret 7,516 active sites, 44 percent status code, 55 percent text marker, 1 percent redirect; WhatsMyName 691 active sites, 169 or 24.5 percent return the same HTTP status whether or not the account exists
Chart 1. How open-source checkers decide that a profile exists. Sources: Sherlock, Maigret, and WhatsMyName data files, downloaded October 23, 2026.

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

Matrix of HTTP status codes for mozilla and qzv7k3xw9tlm on 18 sites: status code separated them on GitHub, X, YouTube, Vimeo, Keybase, Docker Hub and Mastodon.social; Reddit, TikTok, Twitch, Steam, Hacker News and PyPI returned 200 for both (soft 404); GitLab redirected the missing handle to a login page; DEV returned 404 for both; Instagram, Medium and npm blocked both requests
Chart 2. HTTP status for an existing and a non-existent handle on 18 sites. One 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)
Bar chart of site list sizes: Sherlock 481, WhatsMyName 691, Holehe OSINT 2,173 sites per search, Maigret 7,516 active; Maigret sites by tag: forum 4,360, discussion 3,380, tech 1,186, coding 1,159, social 842, wiki 761, gaming 709, hobby 403
Chart 3. Site coverage, and what the long tail is made of. Maigret tags show that most of its sites are forums and discussion boards.

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

Holehe OSINT username results for mozilla: complete in 45.6 seconds, 2,173 checked, 560 found, 1,613 not found; found cards include X linking to x.com/mozilla, Twitter linking to x.com, YouTube, TikTok, GitHub, Reddit, Pinterest, Snapchat, Discord, Telegram, Threads, Spotify and many smaller sites
Screenshot 1. 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

Holehe OSINT username results for qzv7k3xw9tlm: complete in 44.0 seconds, 2,173 checked, 267 found, 1,906 not found; found cards include Twitter, TikTok, Reddit, Pinterest, Discord, Threads, Spotify, Folkd, 35photo, Aparat, CodeChef, Codeforces, CodeSandbox, Imgur, GitLab and DeviantArt
Screenshot 2. The random 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

Bar chart of found results out of 2,173 sites: qzv7k3xw9tlm 267 (12.3 percent), mozilla 560 (25.8 percent), alex 979 (45.1 percent); 258 sites answered found for all three; 299 mozilla results remain after removing sites that also matched the random string
Chart 4. Found results for three handles, split into noise and the rest. Grey: sites that also reported the random string as found.

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.

Grouped bar chart of found results per category for qzv7k3xw9tlm, mozilla and alex: Misc 123, 249, 385; Social 20, 53, 124; Coding 16, 31, 66; Gaming 9, 35, 53; Internet 14, 29, 46; Reference 25, 26, 52; Tech 5, 15, 29; Music 5, 14, 16; Finance 2, 10, 14; Images 3, 9, 11
Chart 5. Where the noise sits. Random-string results per category, as a share of mozilla’s results in that category.

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:

SignalWhat to compare
Profile URLThe result links to an actual profile page, not a home page or sign-in page
Profile photoThe same image across profiles; a reverse image search can help
Bio and linksProfiles that link to each other or to the same personal website
Display name and locationConsistent real name, city, or time zone
Activity datesAccounts active in the same period, rather than one abandoned years before the other was created
Writing style and topicsRecurring interests, phrases, or languages
Control stringThe 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.

  1. Broad search: the team searches both handles together with a random control string, and sets aside every site that matched the control.
  2. 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.
  3. Images: a reverse image search finds that the seller’s logo is the official logo, recolored.
  4. Archives: no snapshots of the seller accounts exist before last month.
  5. 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

DatasetUsed inSource and methodDateSample
Detection rulesChart 1Sherlock 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, 2026481 / 7,516 / 691 sites
HTTP status testChart 2curl -L with a desktop browser User-Agent, one request per URL, 1 s apartOct 23, 202618 sites × 2 handles
Site coverage and tagsChart 3Same data files; Holehe OSINT count from the search panelOct 23, 20264 lists; 8,215 Maigret sites
Site searchesScreenshots 1–2, Charts 4–5Holehe OSINT homepage username search, one connection, searches run one after anotherOct 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

Found this useful? Share it with your network.