Check a Username Across Developer Platforms
Scope the sweep to dev platforms — GitHub, GitLab, npm, PyPI, Docker Hub, LeetCode — for engineering-identity OSINT.

For engineering identity, a dozen dev platforms matter more than forty social sites. Thirdwatch's Username OSINT Scraper checks a username across 40+ platforms in one run and returns a per-site verdict with the profile URL — GitHub to Reddit to Keybase.
Skip the setup: Run this as a ready-to-go task on Apify — pre-loaded with the configuration from this guide.
Why check dev platforms
When you're correlating a developer's footprint — sourcing, security research, attribution — the signal lives on GitHub, package registries, and challenge sites, not Instagram.
sites scopes the run to exactly the platforms that matter for the question.
The checker resolves each platform's profile URL pattern and reports the verdict with the HTTP status behind it — one run replaces an afternoon of tab-checking.
How does this compare to the alternatives?
| Approach | Cost model | Coverage | Effort |
|---|---|---|---|
| Sherlock-style CLI tools | Free, your infra | Wide but rate-limit-prone | You run and maintain it |
| Manual site-by-site check | Analyst hours | Whatever you remember to check | Hours per username |
| Thirdwatch Username OSINT Scraper | Pay per check row | 40+ platforms, one run | Paste a username, run |
Why this Actor
- 40+ platforms per run — code, social, creator, and niche sites in one sweep.
- Clean verdicts per site:
exists,not_found, orerror— never ambiguous. profileUrlgives the canonical link when the account exists.httpStatusexposes the evidence behind each verdict.- Bulk input — a watchlist of usernames runs in one go.
How to do it in 3 steps
Step 1: Configure the input
Set the inputs as shown below — usernames takes the targets, sites restricts the sweep to a subset — omit it to check all 40+ supported platforms.
Step 2: Run the Actor
Run it from the console, the API, or the linked saved task. One dataset row is written per site check.
Step 3: Use the output
Each row carries username, site, a status verdict (exists/not_found/error), the profileUrl when found, and the httpStatus behind the verdict.
{
"usernames": [
"pushpak"
],
"sites": [
"github",
"gitlab",
"npm",
"pypi",
"dockerhub",
"leetcode",
"hackerrank"
]
}Each dataset row looks like:
{
"username": "pushpak",
"site": "github",
"status": "exists",
"profileUrl": "https://github.com/pushpak",
"httpStatus": 200
}What to watch for
Verdicts are status-code based — a handful of sites rate-limit aggressively and may return error rows under load; retry those rather than counting them as absent. exists proves the handle is registered, not who owns it.
Related use cases
- Audit Your Brand Handle Across 40+ Platforms
- Check a Username Across Creator Platforms
- Sweep Social Platforms for a Username
- Monitor Lookalike Usernames for Impersonation
- All Thirdwatch use-case guides
Run the Username OSINT Scraper on Apify Store — pay per result, free to try, no credit card to test.
Frequently asked questions
Which sites are covered?
40+ platforms including GitHub, GitLab, npm, PyPI, Docker Hub, Reddit, Instagram, YouTube, Twitch, Pinterest, Medium, Substack, Patreon, Keybase, Kaggle, Steam, and more.
What does `error` status mean?
The check couldn't be completed — usually a rate limit or a site change. Retry those rows rather than reading them as `not_found`.
Does `exists` mean it's the same person?
No — it means the username resolves on that site. Identity correlation across sites is your downstream analysis step.
Can I check only specific sites?
Yes — `sites` takes a list of site keys to restrict the sweep.
Is this useful for brand protection?
Yes — that's the second main use: check your brand handle across all platforms for squatters and impersonators.
How does detection work?
Per-site status-code and redirect checks — the same signal a human gets loading the profile URL, applied at scale.
Related
100 free credits, no credit card.
About 30 real searches. Add the MCP to Claude or Cursor in two minutes.