More than 1,000 site checks produce leads, not identities
Social Analyzer takes a username or name and checks it against a large database of social websites. It can use direct HTTPS requests, browser automation, OCR, metadata extraction, screenshots, and search queries. Results receive a detection rate from 0 to 100, described in the README as No, Maybe, or Yes. The rating tries to reduce false positives, but it remains a match signal. A repeated handle can belong to different people, and a positive result still needs corroboration.
Analysts can filter sites by country, category, or ranking, submit several profiles for correlation, set proxies and timeouts, and save JSON. Node and Python interfaces let the engine fit different cases. The project becomes more involved than a simple username checker once Selenium, Firefox, screenshots, and OCR enter the path.
The 29-second install ended with 26 dependency findings
Our sandbox cloned commit 1ba0905 into a fresh Debian container with 3 CPUs and 8 GB of RAM. Npm installed 415 packages in 29 seconds and occupied 117 MB. The repository had no build script or target, so the build step was skipped. Npm audit reported 26 known vulnerabilities: 1 critical, 16 high, 6 moderate, and 3 low. That audit result is the largest adoption warning in our run.
The checkout contained 63 files, roughly 3,755 lines of source, and 15.6 MB before installation. It had 1 CI workflow file, a Dockerfile, a compose file, and a tests directory. Those signals sound healthier than the executable test command. File presence does not compensate for a package script that intentionally fails without running assertions, and the dependency findings need triage against the code paths you intend to use.
What happened when we ran it
Our npm install completed in 29 seconds with 415 packages and 117 MB on disk. There was no build command, so nothing was compiled in that stage. The test step failed after 7 seconds with exit code 1. Its complete useful message was Error: no test specified, printed by the package's own placeholder test script. The log did not show a failed assertion or product defect because no actual test suite ran.
Npm audit counted 26 known vulnerabilities in the installed tree, split into 1 critical, 16 high, 6 moderate, and 3 low. The lab result does not name the packages or establish whether every advisory is reachable during a profile search. It does establish that the checked-out dependency set was not clean. Before handling investigative data, generate the detailed audit report, remove unused paths, update safely, and rerun behavior checks that this repository does not currently provide.
Full mode adds Firefox, Tesseract, and Selenium Grid
The Node package declares version 2.0.32 and requires Node.js 20.18.1 or newer. The Linux instructions also install Firefox ESR and Tesseract OCR. Screenshots require a current Chrome according to the feature list, while WebDriver checks use geckodriver and Selenium. Optional Google search needs API access. The basic install passing in 29 seconds describes dependency resolution, not a configured investigation workstation with every detection module exercised.
Docker Compose adds 3 services: the Social Analyzer app, a Selenium hub, and a Firefox node. The hub exposes port 4444, the app uses port 9005, and the Firefox node mounts shared memory. That setup supports grid-based checking, but it is more machinery than the single npm start command suggests. Pin image versions, restrict exposed ports, and decide where screenshots and logs may be stored before using real subjects.
The local-only warning should be treated as a boundary
The README explicitly says the project is meant to run locally and does not have access control. That rules out placing the web app directly on the public internet. An OSINT interface can reveal targets, query history, screenshots, and result files even if every underlying source is public. Put it on a controlled analyst machine or behind a tested private access layer, and retain only what the investigation permits.
Issue 138 lists 12 sites as false-positive examples, including Gravatar, Dailymotion, and Lichess. A detector that mistakes a generic or blocked response for a profile can attach the wrong account to a person. Social Analyzer's rating is useful for sorting, but a report should preserve the source URL, retrieval date, observed evidence, and an analyst's confirmation rather than presenting the score as identity proof.
Windows and current Node compatibility need proof
Issue 134 documents failed attempts on Windows Server 2025 through Node, Python, and Docker. The Node install rejected package n because it does not support Windows, and the Docker attempt later hit an ESM import problem involving Cheerio. Issue 171 reports another module import failure with Ixora on Node.js 18.19.1. These reports cover particular environments, yet they expose a gap between the README's broad platform claim and tested installation paths.
The repository was last pushed on January 12, 2026. GitHub showed 27 combined open issues and pull requests, with separate searches finding 17 issues and 10 pull requests. Issue discussion continued into July 2026, so the community surface is not silent even though code activity trails it. There is no GitHub release to pin. Record the commit, runtime, detector data, and dependency lock for repeatable case work.
Use it only with verification and a remediation pass
Social Analyzer has useful breadth for username research: many sites, several detection methods, machine-readable output, and local interfaces. The 7-second placeholder test failure leaves adopters without a basic regression signal, while 26 advisories raise the cost of putting it near sensitive case material.
Choose Social Analyzer when you need its browser, OCR, metadata, or web layers and can own the maintenance. Sherlock or Maigret is easier to justify for focused username enumeration. Holehe is closer when the starting identifier is an email address. Lawful scope and human confirmation matter more than the number of sites checked.

