Convert Figma logo to code with AI

qeeqbox logosocial-analyzer

API, CLI, and Web App for analyzing and finding a person's profile in 1000 social media \ websites

11,432
904
11,432
12

Top Related Projects

59,570

Hunt down social media accounts by username across social networks

10,065

🕵️‍♂️ Collect a dossier on a person by username from thousands of sites

Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search.

This repository has the JSON file required to perform user enumeration on various websites.

2,928

Snoop — инструмент разведки на основе открытых данных (OSINT world)

15,468

🕵️‍♂️ Offensive Google framework.

Quick Overview

Social-analyzer is an open-source intelligence (OSINT) tool designed to analyze and correlate information from various social media platforms. It automates the process of searching for usernames across multiple websites, providing a comprehensive overview of an individual's online presence.

Pros

  • Supports over 300 social media platforms and websites
  • Provides detailed analysis with high accuracy
  • Offers multiple output formats (JSON, HTML, CSV)
  • Can be used as a command-line tool, Python package, or via a web interface

Cons

  • May raise privacy concerns if used unethically
  • Can be resource-intensive when searching across many platforms
  • Requires careful interpretation of results to avoid false positives
  • Some websites may block automated queries, affecting results

Code Examples

  1. Basic username search:
from social_analyzer import analyze
results = analyze(username="johndoe")
print(results)
  1. Searching with specific websites:
from social_analyzer import analyze
results = analyze(username="johndoe", websites="facebook.com,twitter.com,linkedin.com")
print(results)
  1. Exporting results to a file:
from social_analyzer import analyze
results = analyze(username="johndoe", output="results.json")

Getting Started

To get started with social-analyzer:

  1. Install the package:

    pip install social-analyzer
    
  2. Import and use in your Python script:

    from social_analyzer import analyze
    results = analyze(username="targetusername")
    print(results)
    

Alternatively, use the command-line interface:

social-analyzer --username "targetusername"

For more advanced usage and options, refer to the project's documentation on GitHub.

Competitor Comparisons

59,570

Hunt down social media accounts by username across social networks

Pros of Sherlock

  • Larger community and more frequent updates
  • Supports a wider range of social media platforms (350+)
  • Simpler installation process and fewer dependencies

Cons of Sherlock

  • Limited to username searches only
  • Less detailed output compared to Social Analyzer
  • Lacks advanced features like custom queries and API support

Code Comparison

Social Analyzer:

def check_user(username, site):
    response = requests.get(f"{site['url']}/{username}")
    if response.status_code == 200:
        return {"status": "found", "url": response.url}
    return {"status": "not found"}

Sherlock:

def sherlock(username):
    for site in sites:
        url = site['url'].format(username=username)
        response = requests.get(url)
        if response.status_code == 200:
            print(f"[+] {site['name']}: {url}")

Both projects aim to search for usernames across various social media platforms, but they differ in their approach and features. Social Analyzer offers more comprehensive analysis and flexibility, while Sherlock focuses on simplicity and broad platform coverage. The code snippets demonstrate that both use similar methods for checking username availability, but Social Analyzer's implementation allows for more detailed output and customization.

10,065

🕵️‍♂️ Collect a dossier on a person by username from thousands of sites

Pros of maigret

  • More extensive site coverage (1000+ sites compared to 300+ for social-analyzer)
  • Supports custom site addition through YAML files
  • Includes additional features like report generation and recursive search

Cons of maigret

  • Slower execution due to more comprehensive checks
  • May produce more false positives in some cases
  • Requires more setup and dependencies

Code comparison

maigret:

async def main():
    queries = [
        QueryTask(username, site)
        for username in args.username
        for site in sites
    ]
    results = await run_queries(queries)

social-analyzer:

def find_username_normal(req):
    for site in sites:
        response = requests.get(site['url'].format(req['string']))
        if response.status_code == 200:
            return True
    return False

Both projects aim to search for usernames across multiple platforms, but maigret uses asynchronous programming for improved performance when dealing with a larger number of sites. social-analyzer uses a simpler synchronous approach, which may be more straightforward but potentially slower for extensive searches.

Stalk your Friends. Find their Instagram, FB and Twitter Profiles using Image Recognition and Reverse Image Search.

Pros of EagleEye

  • Focuses specifically on facial recognition across social media platforms
  • Utilizes machine learning for improved accuracy in image matching
  • Provides detailed output including potential social media profiles and image matches

Cons of EagleEye

  • Less comprehensive in terms of overall social media analysis
  • May require more setup and dependencies due to its machine learning components
  • Limited to image-based searches, not as versatile for text-based queries

Code Comparison

EagleEye:

def get_social_media_profiles(name):
    profiles = []
    for platform in SUPPORTED_PLATFORMS:
        profile = platform.search(name)
        if profile:
            profiles.append(profile)
    return profiles

Social-analyzer:

def get_profile(username, site):
    try:
        response = requests.get(f"{site['url']}/{username}")
        if response.status_code == 200:
            return {"username": username, "url": response.url, "found": True}
    except:
        pass
    return {"username": username, "url": None, "found": False}

EagleEye focuses on facial recognition and image matching across platforms, while Social-analyzer provides a broader approach to social media profile analysis. EagleEye may offer more accurate results for image-based searches, but Social-analyzer is more versatile for general social media investigations. The code snippets illustrate the different approaches: EagleEye's emphasis on platform-specific searches and Social-analyzer's more generic profile retrieval method.

This repository has the JSON file required to perform user enumeration on various websites.

Pros of WhatsMyName

  • Larger database of sites and platforms (over 1000)
  • Community-driven updates and contributions
  • Simpler setup and usage for quick checks

Cons of WhatsMyName

  • Less comprehensive analysis capabilities
  • Limited automation features
  • Fewer output format options

Code Comparison

WhatsMyName:

def check_site(site, username):
    url = site['uri'].format(account=username)
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        print(f"[+] {site['name']}: {url}")

Social Analyzer:

def find_username_normal(username, site):
    url = site['url'].format(username=username)
    response = networking.request(url, headers=headers)
    if response and response.status_code == 200:
        return [{"status": "good", "url": url}]

Both projects use similar approaches for checking username availability on different platforms. However, Social Analyzer offers more advanced features and analysis capabilities beyond simple username checks.

WhatsMyName focuses on a broad range of platforms and relies on community contributions to maintain its extensive database. Social Analyzer provides a more comprehensive toolkit for social media analysis, including profile picture matching and metadata extraction.

While WhatsMyName is easier to set up and use for quick checks, Social Analyzer offers more in-depth analysis and automation options, making it suitable for more complex investigations and larger-scale projects.

2,928

Snoop — инструмент разведки на основе открытых данных (OSINT world)

Pros of Snoop

  • Written in Python, making it more accessible for many developers
  • Supports a wider range of social networks and websites (300+)
  • Includes a graphical user interface (GUI) for easier use

Cons of Snoop

  • Less frequently updated compared to Social-Analyzer
  • Documentation is primarily in Russian, which may be a barrier for non-Russian speakers
  • Lacks some of the advanced features found in Social-Analyzer, such as custom search engines

Code Comparison

Social-Analyzer (JavaScript):

async function find_username_normal(req) {
  let results = [];
  for (let site of sites_arr) {
    let temp = await find_username_site(req.body.string, site, req.body.option);
    results.push(temp);
  }
  return results;
}

Snoop (Python):

def start(self):
    for site in self.sites:
        self.submit_site(site)
    self.completed_lock.acquire()
    while self.counter > 0:
        self.completed_lock.wait()
    self.completed_lock.release()

Both repositories aim to analyze and gather information from social media profiles, but they differ in implementation and features. Social-Analyzer offers more frequent updates and advanced features, while Snoop provides a wider range of supported platforms and a GUI. The choice between them depends on specific requirements and user preferences.

15,468

🕵️‍♂️ Offensive Google framework.

Pros of GHunt

  • Focused specifically on Google account OSINT, providing in-depth information
  • Offers a command-line interface for efficient usage
  • Includes features like Google Photos metadata extraction

Cons of GHunt

  • Limited to Google accounts, while Social Analyzer covers multiple platforms
  • Requires more setup and dependencies compared to Social Analyzer
  • May require frequent updates due to changes in Google's systems

Code Comparison

GHunt (Python):

def check_and_gen_values(self, client, source):
    body = {"action_type": 1, "min_days_since_confirm": 0}
    headers = {"X-Goog-Spatula": "ChlBb0xNMGNRTDZJRVY4OWNKZzZKTTNSUmRUEhlBb0xNMGNRTDZJRVY4OWNKZzZKTTNSUmRUGAYiAA=="}
    req = client.post(f"{source}/accounts/recovery", json=body, headers=headers)

Social Analyzer (JavaScript):

async function find_username_normal(username) {
  var options = {
    method: "GET",
    url: "https://api.github.com/users/" + username,
    headers: {
      "User-Agent": "request"
    }
  };

Summary

GHunt excels in Google account OSINT but is limited to that platform. Social Analyzer offers broader coverage across multiple social networks. GHunt provides more detailed information for Google accounts, while Social Analyzer is easier to set up and use for general social media reconnaissance.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Social Analyzer - API, CLI, and Web App for analyzing & finding a person's profile across +1000 social media \ websites. It includes different analysis and detection modules, and you can choose which modules to use during the investigation process.

The detection modules utilize a rating mechanism based on different detection techniques, which produces a rate value that starts from 0 to 100 (No-Maybe-Yes). This module is intended to have fewer false positives.

The analysis and public extracted information from this OSINT tool could help investigate profiles related to suspicious or malicious activities such as cyberbullying, cyber grooming, cyberstalking, and spreading misinformation.

This project is currently used by some law enforcement agencies in countries where resources are limited - The detection database is different than the one shared here..

So·cial Me·di·a

Websites and applications that enable users to create and share content or to participate in social networking - Oxford Dictionary

Structure

APP (Preferred!)

Standard localhost WEB APP url: http://0.0.0.0:9005/app.html

CLI

Features

  • String & name analysis (Permutations and Combinations)
  • Find a profile using multiple techniques (HTTPS library & Webdriver)
  • Multi profile search (Used for correlation - any combination separated with "," )
  • Multilayers detections (OCR, normal, advanced & special)
  • Visualized profile information using Ixora (Metadata & Patterns)
  • Metadata & Patterns extraction (Added from Qeeqbox OSINT project)
  • Force-directed Graph for Metadata (Needs ExtractPatterns)
  • Search by top ranking or by country (Alexa Ranking)
  • Search by type (adult, music, etc.. - automated websites stats)
  • Profiles stats and static info (Category country)
  • Cross Metadata stats (Added from Qeeqbox OSINT project)
  • Auto-flirtation to unnecessary output (Enable javascript etc..)
  • Search engine lookup (Google API - optional)
  • Custom search queries (Google API & DuckDuckGo API - optional)
  • Profile screenshot, title, info, and website description
  • Find name origins, name similarity & common words by language
  • Find possible profile\person age (Limited analysis)
  • Custom user-agent, proxy, timeout & implicit wait
  • Python CLI & NodeJS CLI (limited to FindUserProfilesFast option)
  • Screenshots of detected profile (The latest version of Chrome must be installed)
  • Grid option for faster checking (limited to docker-compose)
  • Dump logs to folder or terminal (prettified)
  • Adjust finding\getting profile workers (default 15)
  • Re-checking option for failed profiles
  • Filter profiles by good, maybe, and bad
  • Save the analysis as a JSON file
  • Simplified web interface and CLI
  • And, more!!

Special Detections

Install & Run

Linux (As Node WebApp)

sudo apt-get update
#Depedning on your Linux distro, you may or may not need these 2 lines
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt-get install -y firefox-esr tesseract-ocr git nodejs npm
git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
npm update
npm install
npm install loadash
npm start

Linux (As Node CLI)

sudo apt-get update
#Depedning on your Linux distro, you may or may not need these 2 lines
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt-get install -y firefox-esr tesseract-ocr git nodejs npm
git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
npm install
npm install loadash
nodejs app.js --username "johndoe"
#or
nodejs app.js --username "johndoe,janedoe" --metadata
#or
nodejs app.js --username "johndoe,janedoe" --metadata --top 100
#or
nodejs app.js --username "johndoe" --type "adult"

Linux (As python package)

sudo apt-get update
sudo apt-get install python3 python3-pip
pip3 install social-analyzer
python3 -m social-analyzer --username "johndoe"
#or
python3 -m social-analyzer --username "johndoe" --metadata
#or
python3 -m social-analyzer --username "johndoe" --metadata --top 100
#or
python3 -m social-analyzer --username "johndoe" --type "adult"
#or
python3 -m social-analyzer --username "johndoe" --websites "car" --logs --screenshots

Linux (As python script)

sudo apt-get update
sudo apt-get install git python3 python3-pip
git clone https://github.com/qeeqbox/social-analyzer
cd social-analyzer
pip3 install -r requirements.txt
python3 app.py --username "janedoe"
#or
python3 app.py --username "johndoe" --metadata
#or
python3 app.py --username "johndoe" --metadata --top 100
#or
python3 app.py --username "johndoe" --type "adult"
#or
python3 app.py --username "johndoe" --websites "car" --logs --screenshots

Importing as object (python)


#E.g. #1
from importlib import import_module
SocialAnalyzer = import_module("social-analyzer").SocialAnalyzer()
results = SocialAnalyzer.run_as_object(username="johndoe",silent=True)
print(results)

#E.g. #2
from importlib import import_module
SocialAnalyzer = import_module("social-analyzer").SocialAnalyzer()
results = SocialAnalyzer.run_as_object(username="johndoe,janedoe",silent=True,output="json",filter="good",metadata=False,timeout=10, profiles="detected")
print(results)

Linux, Windows, MacOS, Raspberry pi..

  • check this wiki for all possible installation methods
  • check this wiki for integrating social-analyzer with your OSINT tools, feeds, etc...

social-analyzer --h

Required Arguments:
  --username   E.g. johndoe, john_doe or johndoe9999

Optional Arguments:
  --websites    A website or websites separated by space E.g. youtube, tiktokor tumblr
  --mode        Analysis mode E.g.fast -> FindUserProfilesFast, slow -> FindUserProfilesSlow or special -> FindUserProfilesSpecial
  --output      Show the output in the following format: json -> json outputfor integration or pretty -> prettify the output
  --options     Show the following when a profile is found: link, rate, titleor text
  --method      find -> show detected profiles, get -> show all profiles regardless detected or not, all -> combine find & get
  --filter      Filter detected profiles by good, maybe or bad, you can do combine them with comma (good,bad) or use all
  --profiles    Filter profiles by detected, unknown or failed, you can do combine them with comma (detected,failed) or use all
  --countries   select websites by country or countries separated by space as: us br ru
  --type        Select websites by type (Adult, Music etc)
  --top         select top websites as 10, 50 etc...[--websites is not needed]
  --extract     Extract profiles, urls & patterns if possible
  --metadata    Extract metadata if possible (pypi QeeqBox OSINT)
  --trim        Trim long strings
  --gui         Reserved for a gui (Not implemented)
  --cli         Reserved for a cli (Not needed)

Listing websites & detections:
  --list        List all available websites

Setting:
  --headers     Headers as dict
  --logs_dir    Change logs directory
  --timeout     Change timeout between each request
  --silent      Disable output to screen

Open Shell

Open in Cloud Shell Open in repl.it Shell

Resources

  • DuckDuckGo API, Google API, NodeJS, bootstrap, selectize, jQuery, Wikipedia, font-awesome, selenium-webdriver & tesseract.js
  • Let me know if I missed a reference or resource!

Disclaimer\Notes

  • Download this project from GitHub and treat it as a security project
  • If you want your website to be excluded from this project list, please reach out to me
  • This tool is meant to be used locally, not as a service (It does not have any Access Control)
  • For issues related to modules that end with -private or under the private group , reach out directly to me (do not open an issue on GitHub)

Other Projects

NPM DownloadsLast 30 Days