Find social media accounts by username

Updated 2026-08-30

A username lookup across social media returns every platform where that handle is registered, out of hundreds checked in one request. It confirms that a profile exists under the handle; it does not read the profile, and it does not claim the same person is behind every hit.

What a username lookup across social media returns

Send the handle as query; the type is detected, so a string with no @ and no digits-only shape is treated as a username. The response is one entry per platform that answered: registered: true where a profile exists under that handle, false where the platform confirmed there is none, plus method and checkedAt for each. There is no derived pass for a username - the handle is already the handle - so derivedMatches is always zero here.

POST /v1/lookup?wait=true
curl -X POST "https://api.digifootprint.dev/v1/lookup?wait=true" \
  -H "Authorization: Bearer dfp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"query": "janedoe_dev"}'
Response (abridged)
{
  "query": "janedoe_dev",
  "platformsChecked": 887,
  "matches": 5,
  "socialMatches": 4,
  "derivedMatches": 0,
  "servedFromCache": false,
  "results": [
    { "platform": "github",    "registered": true,  "method": "public_api", "checkedAt": "2026-08-30T10:02:11.044Z" },
    { "platform": "reddit",    "registered": true,  "method": "public_api", "checkedAt": "2026-08-30T10:02:11.097Z" },
    { "platform": "instagram", "registered": true,  "method": "public_api", "checkedAt": "2026-08-30T10:02:11.230Z" },
    { "platform": "twitter",   "registered": true,  "method": "public_api", "checkedAt": "2026-08-30T10:02:11.301Z" },
    { "platform": "telegram",  "registered": true,  "method": "public_api", "checkedAt": "2026-08-30T10:02:11.355Z" },
    { "platform": "tiktok",    "registered": false, "method": "public_api", "checkedAt": "2026-08-30T10:02:11.418Z" }
  ],
  "breaches": null,
  "webMentions": [],
  "phoneDetails": null
}

Note breaches: null: breach data is keyed on email addresses, so for a username query that source is not consulted and the field says so, instead of pretending to have checked. Public web mentions are still resolved for a handle, and [] there means checked and nothing found.

Coverage: 864 platforms keyed on a handle

A username is the widest input there is. Most social networks, forums, developer platforms and creator sites are keyed on a handle, which is why 864 of the 887 platforms in the standard band accept one, against a much shorter list for an email address. 25 of them - including GitHub, Reddit, Instagram, Telegram and YouTube - form the instant tier that answers in around half a second. A deep lookup extends past the standard band into the long tail; the trade-offs are on the depth guide.

Because a full username sweep touches hundreds of platforms, it is the input that benefits most from streaming: each platform arrives as its own event the moment it lands, so a UI can fill in as the sweep runs rather than waiting for the slowest site. Browse the social category to see which platforms accept a handle.

A handle is not a person

The single most important caveat in username lookup: handles collide. janedoe_dev on GitHub and janedoe_dev on Instagram may be one person or two, and a short or common handle will exist on dozens of platforms held by dozens of people. The API reports what it can verify - a profile exists under this handle here - and stops. It does not link hits to each other, score how likely they are to be the same person, or fetch anything from the profiles to compare.

That is a feature for the people this is built for. An investigator wants the candidate list and will corroborate it through proper channels. A trust-and-safety team checking whether a brand’s handle has been taken on other platforms wants existence, not contents. A signup flow using the handle as a secondary signal wants a count. None of them are served by a guess dressed up as a match.

Omitted, not found, and what each means

Three outcomes, and only two of them appear in the response. registered: true is a confirmed profile. registered: false is a platform that answered and has no profile under the handle. A platform that blocked the check, timed out, or returned something we could not interpret is the third outcome, and it is omitted from results entirely - never reported as false, because an unknown is not a fact. Compare results.length to platformsChecked to see how much of the sweep produced an answer.

Answers are cached and say so. servedFromCache flags a response that reused anything, and every entry’s checkedAt is the real time it was established, so you can decide for yourself whether a two-day-old negative on a platform where handles are created every minute is fresh enough. The caching page lists how long each kind of answer is trusted.

Where finding accounts by username fits

OSINT and investigations: turn one known handle into a list of platforms to examine, with a timestamp for each. Trust and safety: check whether a handle reported for impersonation or abuse exists across the platforms you care about, and whether a brand handle is registered where it should be. Fraud prevention: a chosen username that exists on many established platforms is mild evidence of a real person; one that exists nowhere is mild evidence of nothing. In every case the check returns which profiles exist, not their contents, and our terms rule out harassment and stalking. The email-first version of this is on finding accounts by email; the umbrella is the social profile lookup API. Free lookups to start - see pricing.

Frequently asked questions

How do I find all social media accounts with the same username?
Send the handle to the lookup endpoint. The response lists each platform where a profile exists under that exact handle, out of 864 platforms that accept a username, with the moment each one was confirmed. Platforms that could not be confirmed are omitted rather than guessed.
Does a username lookup show who owns the account?
No. It confirms that a profile exists under the handle on that platform. Handles are not unique across platforms, so two hits for the same username can belong to two different people. Treat the set of hits as evidence to corroborate, not as an identity.
Is a username search the same as a social media profile search?
It is a registration check, not a profile search. The API returns whether a profile exists, the method and a timestamp - never display names, photos, bios, posts or follower counts.
Can I run a username lookup on social media for free?
New accounts get free lookups to start, no card required, and each lookup covers every platform the handle can reach. See the pricing section for what happens after that.

Related

Start freeTry a lookup