Skip to main content

Overview

Social Analyzer includes an Express.js web server providing REST API endpoints for profile analysis, settings management, and task control.

Starting the Web Server

Node.js

Docker


Base URL

All endpoints are relative to this base URL.

Endpoints

POST /analyze_string

Analyze a username across social media platforms.
string
required
Username to analyze. Can be a single username or comma-separated list for batch analysis.
string
required
Unique task identifier (UUID format). Used for logging and task tracking.
string
required
Comma-separated analysis options. Available options:
  • FindUserProfilesFast - Fast profile detection
  • GetUserProfilesFast - Fast profile retrieval
  • FindUserProfilesSlow - Deep profile detection (not compatible with Fast)
  • ShowUserProfilesSlow - Show advanced profiles without finding
  • FindUserProfilesSpecial - Specialized detection methods
  • LookUps - External search engine lookups
  • CustomSearch - Google custom search integration
  • FindOrigins - Name origin analysis
  • SplitWordsByUpperCase - Split username by uppercase letters
  • SplitWordsByAlphabet - Split username alphabetically
  • FindSymbols - Detect symbols in username
  • FindNumbers - Detect numbers in username
  • FindAges - Guess age from username
  • ConvertNumbers - Convert numbers to words
  • WordInfo - Get word information
  • MostCommon - Find most common words
  • ExtractMetadata - Extract OSINT metadata
  • NetworkGraph - Generate relationship graph (requires ExtractMetadata)
  • CategoriesStats - Generate category statistics
  • MetadataStats - Generate metadata statistics
boolean
Automatically set to true if string contains commas (batch mode)

Response

string
Analyzed username
string
Task UUID
object
Analysis metadata
object
Fast scan results
object
Slow/deep scan results (if enabled)
object
Special detection results (if enabled)
array
Guessed ages from username (if FindAges enabled)
array
Name origin analysis (if FindOrigins enabled)
object
Parsed username components
array
Most common words (if MostCommon enabled)
array
Word information from dictionary (if WordInfo enabled)
Google custom search results (if CustomSearch enabled)
object
Network relationship graph (if NetworkGraph enabled)
object
Statistics (if CategoriesStats or MetadataStats enabled)
string
Task log contents

Example Request

Example Response


GET /get_settings

Retrieve current server settings and available websites.

Response

string
Configured proxy URL (empty if none)
string
Current User-Agent header
array
Google API credentials (partially masked)
array
Available websites with selection status

Example Request

Example Response


POST /save_settings

Update server settings and website selections.
string
Comma-separated indices of websites to select
string
Google API key (or masked value to keep current)
string
Google Custom Search engine ID (or masked value to keep current)
string
Custom User-Agent header
string
Proxy URL (empty to disable)

Response

string
Success message

Example Request


POST /get_logs

Retrieve the last log line for a task.
string
required
Task UUID

Response

Returns plain text (not JSON):
  • Last log line if file exists and has content
  • "nothing_here_error" if log file doesn’t exist
  • "nothinghere" if UUID is empty

Example Request

Example Response


GET /generate

Generate username combinations from a list of words.
string
required
Must be “Generate”
array
required
Array of 2-7 words to combine

Response

array
All possible combinations of the input words

Example Request

Example Response


POST /cancel

Cancel a running analysis task.
string
required
Must be “on” to trigger cancellation
string
required
Task UUID to cancel (sanitized, alphanumeric and hyphens only)

Response

string
Success message

Example Request


Special Test Endpoint

The /analyze_string endpoint has a special test mode:
If a file named test.json exists in the server directory, it will be returned instead of performing actual analysis.

Error Responses

All endpoints may return:
When:
  • Required parameters are missing
  • Invalid data is provided
  • Internal errors occur

Integration Examples

JavaScript/Node.js

Python

cURL with Polling


Notes

The web server is single-threaded by default. For production use, consider using a process manager like PM2 or running multiple instances behind a load balancer.
UUIDs in /cancel and /get_logs are sanitized to alphanumeric and hyphens only. Use standard UUID format.
For long-running tasks, poll /get_logs periodically to monitor progress:

See Also

CLI Reference

Command-line interface documentation

Python API

Python class and methods reference

Output Formats

Understanding result structures

Quickstart

Get started with Social Analyzer