
⛏️ The extraction engine behind Maigret: turn any profile URL into a structured OSINT record across 150+ sites
Turn any public profile page into a structured account record — usernames, display names, bios, avatars, locations, joined-at dates, follower counts, external links, and the stable internal identifiers that uniquely pin an account across renames, redesigns, and deletions.
socid_extractor parses HTML pages and API responses from 250+ schemes and returns a flat, machine-readable dictionary of account fields. No API keys required, no headless browser — just a single function call on response text.
Why it's useful
extract() call for Instagram, GitHub, VK, Reddit, Substack, Bluesky, TikTok — no per-platform glue code on your side.username, fullname, created_at, is_verified, …) so downstream pipelines don't need 130 mappings.Python: 3.10+.
pip install socid-extractor
For a clean CLI install on a workstation:
pipx install socid-extractor
The latest development version:
pip install -U git+https://github.com/soxoj/socid-extractor.git
As a CLI:
$ socid_extractor --url https://www.deviantart.com/muse1908
country: France
created_at: 2005-06-16 18:17:41
gender: female
username: Muse1908
website: www.patreon.com/musemercier
links: ['https://www.facebook.com/musemercier', 'https://www.instagram.com/muse.mercier/', 'https://www.patreon.com/musemercier']
tagline: Nothing worth having is easy...
As a Python library:
import requests
import socid_extractor
r = requests.get('https://www.patreon.com/annetlovart')
print(socid_extractor.extract(r.text))
# {'patreon_id': '33913189', 'patreon_username': 'annetlovart',
# 'fullname': 'Annet Lovart',
# 'links': "['https://www.facebook.com/322598031832479', ...]"}
Tip — batch runs: pass --skip-fetch-if-no-url-hint to skip the HTTP request when the URL doesn't match any known site hint (faster, but may skip generic engines such as forum templates):
$ socid_extractor --url https://example.com/foo --skip-fetch-if-no-url-hint
250+ schemes, covering roughly 2,000 of the sites Maigret checks — see METHODS.md for the full list.
A non-exhaustive sample:
…and many others.
For data examples, see tests/test_e2e.py; for the parsing logic, see socid_extractor/schemes.py; for the field ontology, see FIELDS.md.
The open-source socid_extractor is MIT-licensed and free for commercial use without restriction — but page parsers break over time as platforms change their HTML and APIs, and they need active maintenance.
For serious commercial use — a hosted extraction API, or maintenance of the parsers your product depends on — reach out: 📧 [email protected]
socid_extractor into your productMaps to the following SOWEL techniques:
socid_extractor reads a profile page, ShareTrace takes a share link (TikTok, Instagram, ChatGPT, Discord, Telegram and more) and recovers who created or forwarded it, decoding some share tokens offline. Nothing to install if you just want to try it: the community-run Telegram bot or web UI.