GitHub Username Lookup: A Practical Guide
How to look up any GitHub user by handle, what data is public, what isn't, and a few patterns for using github.dawg.bot as a quick share-friendly alternative to github.com.
What "looking up a GitHub user" actually means
The github.com profile page has been the de-facto answer for a decade: a navbar, a sidebar, a pinned-repo grid, a contribution graph, and a busy footer. It's great when you're on GitHub doing GitHub work. It's overkill when you're on Slack and someone asks "who is this person."
A username lookup is just the public profile minus everything else. Avatar, bio, location, blog link, follower count, repo count, joined date. That's the answer to "who is this." github.dawg.bot is built around exactly that flow.
How github.dawg.bot resolves a username
When you visit github.dawg.bot/torvalds:
- The catch-all route asks the Dawg API to resolve
torvaldsagainst the github platform. - The API hits
GET https://api.github.com/users/torvaldsif the cached snapshot is stale. - The raw JSON response is stored as a
ProviderSnapshotand normalized into aPlatformAccountrow. - The lens fetches the normalized profile and renders it.
You don't see any of that. You see a clean profile page in maybe 250ms with the data GitHub itself returned.
If the username doesn't resolve, the page shows a not-found card with the exact reason (github_account_not_found, github_rate_limited_or_forbidden, etc.) and a link to github.com/<user> so you can verify directly.
What's actually on the page
- Avatar and display name
- The handle in
@userform - Bio if the user has one
- Public repo count, followers, following, gists
- Joined date and the most recent profile update
- Company, location, blog URL, X/Twitter handle when public
- A direct link to the canonical github.com URL
For repository previews (github.dawg.bot/owner/repo), you also get stars, forks, watchers, default branch, license, topics, and the homepage URL when set.
Why a separate domain
The Dawg architecture gives every platform its own lens domain. Discord lives at discord.dog, Minecraft at mc.dog, Steam at steam.dog. They all read from one identity graph but render with the visual conventions of that platform.
Concretely, that means:
- The same profile can show up on multiple lenses if cross-platform connections exist. A Discord profile linking a GitHub username creates a
ConnectionEdgethat surfaces on both lenses. - Each domain gets its own SEO surface, sitemap, and tool pages, instead of cramming everything into one product.
- A future bot at the central account portal (dawg.bot) can run
/lookup torvaldsand pick the right lens automatically based on what the input shape looks like.
When to use the github.com URL instead
Use github.com when you actually need GitHub: starring a repo, opening a PR, reading code, filing an issue, anything that requires you to be signed in. github.dawg.bot is for the read-only sharing case where the recipient might not have a GitHub account or might not want to load the full app.
The two URLs always coexist. Every github.dawg.bot page links straight to github.com so nothing's hidden, nothing's mediated, you're always one click from the canonical source.
What's coming
The current lens is the minimum that's useful. Roadmap items, in rough order:
- Cross-lens connection rendering (showing the linked Discord, Steam, etc. accounts on a profile)
- A snapshot history view for claimed accounts via the dawg.bot dashboard
- Org pages with member counts and pinned repos
- A repo-stats tool page with a paste-a-URL form
If you want any of those sooner, the repo's open to PRs.
Frequently Asked Questions
What's the fastest way to find a GitHub user?
If you already know the handle, github.com/<user> is the canonical link. github.dawg.bot/<user> is the same page rendered as a clean preview without the navbar, sidebar, and contribution graph chrome, useful for sharing on social or pasting into a forum where you don't want the full GitHub UI.
Can I look someone up if I only know their email?
Not directly. GitHub does not let you query by email through the public API. You can sometimes search public commits if the email was used in a commit message, but that's the only public path. For verified emails behind OAuth, that's account-linking territory and lives at dawg.bot.
Why does the lookup say a profile doesn't exist when GitHub shows it?
Two common reasons: rate limiting on the unauthenticated GitHub API (60 requests per hour per IP) and recent profile renames. github.dawg.bot caches successful lookups so renames take a few minutes to settle. If you can see the profile on github.com but not here, retry in a couple minutes.
Is private data ever shown?
No. Only what GET /users/{login} returns to anonymous traffic, plus repo metadata for /owner/repo paths. Private repos, draft PRs, private contributions, secret gists, none of it appears here. We don't have access to it and we don't want it.
Try it on github.dawg.bot
Paste a username or owner/repo path and see the public preview immediately.