🪪 Profile Page Extractor

Paste a profile URL → structured fields. 12 CORS-permissive platforms covered. Pure browser-side.

Paste a profile URL from a supported site, get back structured fields — name, location, employer, joined date, follower counts, linked services. Inspired by the open-source socid-extractor tool, ported to browser-side JS using each platform's public CORS-friendly JSON endpoint.

GitHubGitLabCodebergBlueskyMastodon Hacker NewsRedditStack OverflowLichessChess.com KeybaseORCID
💡 The fields shown depend entirely on what each platform's public API exposes. Some users hide fields (e.g. company, email on GitHub, Mastodon bio); some platforms (Mastodon, Keybase) expose linked accounts as PGP-proofed fields, which are particularly valuable for cross-platform identity correlation. The whole pipeline is browser-side — your IP visits the platform's API directly.

Free profile-page structured data extractor

Paste a profile URL from any of 12 supported platforms — GitHub, GitLab, Codeberg, Bluesky, Mastodon, Hacker News, Reddit, Stack Overflow, Lichess, Chess.com, Keybase, ORCID — and the page extracts structured identity fields: name, location, employer, bio, joined date, linked services, activity counts. Pure browser-side via each platform's public CORS-friendly JSON endpoint.

For OSINT investigators: this is the enrichment step that follows a username search. After confirming an account exists on a platform, paste its URL here to extract every public identity field at once. The Keybase extractor is especially valuable because it returns PGP-signed proofs of linked services, which constitutes cryptographically verifiable identity correlation across platforms — rare and high-confidence.

For broader platform coverage (DeviantArt, Patreon, Yandex, VK, Steam) use the original socid-extractor Python CLI, which parses HTML pages directly. The browser-side tool here is faster for the dozen most CORS-permissive platforms and leaves no install footprint.

Frequently asked questions

How is this different from a username search?
A username search asks "does this username exist on these 500 sites?" This tool asks "given a confirmed profile URL, what fields can I extract from it?" The username search finds candidates; the profile extractor enriches them. Use them in sequence: username search → confirm hits → paste each hit URL here for structured fields.
Why these specific platforms?
These twelve all expose CORS-friendly public JSON endpoints with rich profile data — name, location, employer, linked services, joined date, activity counts. Other valuable platforms (LinkedIn, Instagram, Twitter/X, TikTok, Facebook) either block public API access entirely or require authenticated cookies/tokens that can't safely run in your browser.
What can the extracted data tell me?
A few high-value patterns: linked services on Keybase are PGP-signed proofs that one identity controls multiple accounts. Public emails in GitHub GPG keys (and the same fields in ORCID, GitLab) are often investigators' way to pivot from username to email. Joined dates across platforms reveal whether several accounts were created in a coordinated burst (a sock-puppet tell). Twitter handles linked from GitHub are surprisingly common and rarely scrubbed.
What about the original socid-extractor?
The Python tool by soxoj covers far more sites (DeviantArt, Patreon, Yandex, VK, Tumblr, Steam, ...) by parsing HTML pages directly. That approach doesn't work browser-side because most sites set CORS policies that block cross-origin HTML fetches. For broader coverage install the CLI; for the dozen platforms supported here, the browser version is faster and leaves no install footprint.
Does the target see my visit?
The platform's server logs will show a request from your IP to its public API. The target user does not get a notification (unlike, say, viewing a LinkedIn profile while logged in). For full operational anonymity use a VPN or Tor, or switch to the CLI socid-extractor with proxies.
Why are some fields empty?
Either the user didn't set them, or the API doesn't expose them publicly. Empty fields are filtered out automatically rather than displayed as null/empty. If a profile URL returns no fields at all, the platform's API either doesn't recognize that user or has temporarily rate-limited your IP.