Skip to main content

Overview

Social Analyzer provides extensive command-line options for customizing your analysis. This page documents all available CLI flags for both Node.js and Python implementations.

Basic Usage

# Node.js
node app.js --username "johndoe" --websites "youtube tiktok"

# Python
python app.py --username "johndoe" --websites "youtube tiktok"

Required Arguments

username
string
default:""
The username to search for across social media sites.Examples:
  • johndoe
  • john_doe
  • johndoe9999
node app.js --username "johndoe"

Website Selection

websites
string
default:"all"
Specify one or more websites to search, separated by spaces.Values:
  • all - Search all available websites (default)
  • Space-separated website names: youtube tiktok tumblr
node app.js --username "johndoe" --websites "youtube tiktok"
Use --list to see all available websites

Analysis Mode

mode
string
default:"fast"
Analysis mode determines the depth and method of profile detection.Options:
  • fast - FindUserProfilesFast (recommended for most cases)
  • slow - FindUserProfilesSlow (more thorough, uses browser automation)
  • special - FindUserProfilesSpecial (advanced detection methods)
# Fast analysis (default)
node app.js --username "johndoe" --mode fast

# Slow analysis for better accuracy
node app.js --username "johndoe" --mode slow

Output Options

output
string
default:"pretty"
Control the output format.Options:
  • pretty - Human-readable formatted output (default)
  • json - JSON output for integration with other tools
# JSON output for parsing
node app.js --username "johndoe" --output json

# Pretty output for terminal
node app.js --username "johndoe" --output pretty
options
string
default:""
Specify which information to display when a profile is found.Values:
  • link - Show profile URLs
  • rate - Show detection confidence rate
  • title - Show page titles
  • text - Show extracted text content
  • Multiple values can be combined: link,rate,title
node app.js --username "johndoe" --options "link,rate,title"
simplify
boolean
default:"false"
Print only the detected profile links (Python only).
python app.py --username "johndoe" --simplify

Detection Methods

method
string
default:"all"
Control which profiles to display based on detection status.Options:
  • find - Show only detected profiles
  • get - Show all profiles regardless of detection status
  • all - Combine find & get (default)
node app.js --username "johndoe" --method find

Filtering Results

filter
string
default:"good"
Filter detected profiles by detection quality.Options:
  • good - High confidence detections (default)
  • maybe - Uncertain detections
  • bad - Low confidence detections
  • all - Show all detection qualities
  • Combine with commas: good,maybe
# Show only high confidence results
node app.js --username "johndoe" --filter good

# Show high and medium confidence
node app.js --username "johndoe" --filter "good,maybe"
profiles
string
default:"detected"
Filter profiles by detection status.Options:
  • detected - Successfully detected profiles (default)
  • unknown - Profiles with unknown status
  • failed - Failed detection attempts
  • all - Show all profile statuses
  • Combine with commas: detected,failed
node app.js --username "johndoe" --profiles "detected,failed"

Data Extraction

extract
boolean
default:"false"
Extract profiles, URLs, and patterns from detected pages.
node app.js --username "johndoe" --extract
metadata
boolean
default:"false"
Extract metadata from profiles using QeeqBox OSINT (requires pypi package).
python app.py --username "johndoe" --metadata
trim
boolean
default:"false"
Trim long strings in the output for better readability.
node app.js --username "johndoe" --trim

Listing & Information

list
boolean
default:"false"
List all available websites and exit.
node app.js --list
python app.py --list

Advanced Options

screenshots
boolean
default:"false"
Capture screenshots from detected profiles (Python only, requires —logs).
python app.py --username "johndoe" --screenshots --logs
This option requires --logs to be enabled and uses browser automation.
gui
boolean
default:"false"
Reserved for GUI mode (not fully implemented).
node app.js --gui
cli
boolean
default:"false"
Reserved for CLI mode (not needed, included for compatibility).
node app.js --cli
docker
boolean
default:"false"
Enable Docker compatibility mode (Node.js only).
node app.js --docker
grid
string
default:""
Grid option for distributed scanning (not for CLI use).

Complete Example

# Comprehensive search with multiple options
node app.js \
  --username "johndoe" \
  --websites "youtube tiktok instagram" \
  --mode fast \
  --output json \
  --method find \
  --filter "good,maybe" \
  --extract \
  --trim

FAQ

  • --filter controls the quality of detections (good/maybe/bad confidence)
  • --profiles controls the status of profiles (detected/unknown/failed)
Use --filter good for high-confidence results, and --profiles detected to only see successful detections.
  • fast: Best for most use cases, quick HTTP-based detection
  • slow: Uses browser automation for JavaScript-heavy sites, more accurate but slower
  • special: Advanced detection methods for difficult cases
Start with fast mode. If you need higher accuracy, try slow mode.
Use --output json and redirect the output:
node app.js --username "johndoe" --output json > results.json
No, Social Analyzer searches one username at a time. To search multiple usernames, run the command multiple times or create a shell script:
for user in johndoe janedoe alice; do
  node app.js --username "$user" --output json > "${user}.json"
done

See Also

Build docs developers (and LLMs) love