# sherlock | Sherlock | Knowledge Base | Instagit

Hunt down social media accounts by username across social networks

GitHub Stars: 73.3k

Repository: https://github.com/sherlock-project/sherlock

---

## Articles

### [Sherlock Output Formats: Configuring CSV, XLSX, and Text Reports](/sherlock-project/sherlock/what-output-formats-does-sherlock-support-csv-json-etc-and-how-are-they-configured)

Learn how to configure Sherlock output formats like CSV, XLSX, and text reports. Easily generate and manage your Sherlock scan data with command-line flags.

- Tags: how-to-guide
- Published: 2026-03-02

### [How Sherlock Detects WAF Blocks (Cloudflare) and Returns QueryStatus.WAF](/sherlock-project/sherlock/how-does-sherlock-handle-waf-blocks-like-cloudflare-and-what-status-is-returned)

Learn how Sherlock detects WAF blocks like Cloudflare by scanning responses for fingerprints and returns QueryStatus.WAF to show interception.

- Tags: internals
- Published: 2026-03-02

### [How to Import and Use Sherlock as a Python Library: A Complete Guide](/sherlock-project/sherlock/how-can-sherlock-be-imported-and-used-as-a-library-in-python-code)

Learn how to import and use Sherlock as a Python library. Install the package and call the sherlock function with required arguments for structured results.

- Tags: how-to-guide
- Published: 2026-03-02

### [Sherlock False Positive Exclusions System: Configuration and Implementation Guide](/sherlock-project/sherlock/what-is-the-false-positive-exclusions-system-and-how-is-it-configured)

Configure Sherlock's False Positive Exclusions system to automatically suppress unreliable sites during username searches. Learn how to implement this powerful feature.

- Tags: how-to-guide
- Published: 2026-03-02

### [How `request_payload` Works in Sherlock for POST-Based Sites: A Complete Guide](/sherlock-project/sherlock/how-does-request_payload-work-for-sites-requiring-post-data)

Understand how Sherlock's request_payload enables POST requests for sites. Learn to send JSON data by interpolating usernames for automated requests.

- Tags: deep-dive
- Published: 2026-03-02

### [SitesInformation Class in Sherlock: How It Loads and Manages Site Data](/sherlock-project/sherlock/what-is-the-sitesinformation-class-and-how-does-it-load-and-manage-site-data)

Discover the SitesInformation class in Sherlock. Learn how it loads, validates, and manages site data from JSON manifests to build a queryable collection of SiteInformation objects.

- Tags: internals
- Published: 2026-03-02

### [How Sherlock Handles HTTP Errors vs Application-Level Errors: A Deep Dive into the Request Pipeline](/sherlock-project/sherlock/how-does-sherlock-handle-http-errors-vs-application-level-errors)

Understand how Sherlock handles HTTP errors versus application errors. Learn how it differentiates transport failures from site-specific signals within its request pipeline.

- Tags: deep-dive
- Published: 2026-03-02

### [Sherlock Maximum Concurrent Worker Count: How the 20-Worker Limit Works](/sherlock-project/sherlock/what-is-the-maximum-concurrent-worker-count-and-how-is-it-determined)

Understand Sherlock's maximum concurrent worker count. Learn how the 20-worker limit works and its automatic scaling for efficient social network probing.

- Tags: internals
- Published: 2026-03-02

### [How Sherlock Handles Redirect Behavior Based on ErrorType Settings](/sherlock-project/sherlock/how-does-sherlock-handle-redirect-behavior-based-on-errortype-settings)

Sherlock manages redirect behavior using errorType settings. Learn how Sherlock handles redirects for accurate username checks and status code capture. Optimize your Sherlock experience today.

- Tags: internals
- Published: 2026-03-02

### [How Sherlock's Timeout Configuration Works: Default Values and Customization](/sherlock-project/sherlock/how-does-the-timeout-configuration-work-and-what-is-the-default-value)

Discover how Sherlock's timeout configuration works, its default 60-second value, and how to customize it using the CLI or Python API for efficient HTTP requests.

- Tags: internals
- Published: 2026-03-02

### [How Sherlock's QueryNotify Notification System Enables Real-Time Updates](/sherlock-project/sherlock/how-does-sherlocks-notification-system-querynotify-work-for-real-time-updates)

Learn how Sherlock's QueryNotify system delivers real-time updates and live results to your terminal as HTTP requests complete. Enhance your Sherlock scan efficiency today.

- Tags: internals
- Published: 2026-03-02

### [How NSFW Site Filtering Works in Sherlock: A Technical Deep Dive](/sherlock-project/sherlock/how-does-the-nsfw-site-filtering-work)

Explore how Sherlock's NSFW site filtering functions. Learn about metadata flags, site information attributes, and conditional removal methods. Enable NSFW content with the --nsfw flag.

- Tags: deep-dive
- Published: 2026-03-02

### [How Sherlock Measures and Tracks Response Time for Each Request](/sherlock-project/sherlock/how-does-sherlock-measure-and-track-response-time-for-each-request)

Learn how Sherlock measures and tracks response time for each request using custom hooks and monotonic timestamps. Optimize your application performance with detailed insights.

- Tags: performance
- Published: 2026-03-02

### [Sherlock urlProbe vs url: Understanding Site Configuration URL Fields](/sherlock-project/sherlock/how-does-the-urlprobe-differ-from-url-in-site-configuration)

Understand the difference between urlProbe and url in Sherlock site configuration. Learn how each field contributes to username checking and profile reporting for optimal analysis.

- Tags: how-to-guide
- Published: 2026-03-02

### [Sherlock Custom HTTP Headers: Default User-Agent and Per-Site Overrides](/sherlock-project/sherlock/what-custom-headers-does-sherlock-use-and-how-can-they-be-overridden-per-site)

Discover how Sherlock uses a default User-Agent and allows custom HTTP headers per site via JSON configuration. Override or append headers for tailored requests.

- Tags: internals
- Published: 2026-03-02

### [How Sherlock Handles Different HTTP Request Methods (GET, HEAD, POST, PUT)](/sherlock-project/sherlock/how-does-sherlock-handle-different-http-request-methods-get-head-post-put)

Discover how Sherlock handles GET HEAD POST and PUT HTTP request methods. Learn about request_method field mappings and default behaviors for efficient site scanning.

- Tags: internals
- Published: 2026-03-02

### [How the `{?}` Placeholder Enables Multiple Username Variant Checking in Sherlock](/sherlock-project/sherlock/how-does-the-placeholder-enable-multiple-username-variant-checking)

Discover how the {?} placeholder in Sherlock automatically generates username variants using separators like underscore, hyphen, and dot for efficient checking.

- Tags: internals
- Published: 2026-03-02

### [How to Add a New Site to Sherlock's Detection List: Complete Configuration Guide](/sherlock-project/sherlock/how-do-i-add-a-new-site-to-sherlocks-detection-list-with-proper-configuration)

Learn to add a new site to Sherlock's detection list. This guide covers configuration, URL patterns, regex, and validation for seamless integration into the Sherlock tool.

- Tags: how-to-guide
- Published: 2026-03-02

### [How Sherlock's Site Data JSON Structure Defines Detection Rules for Each Social Network](/sherlock-project/sherlock/how-does-the-site-data-json-structure-define-detection-rules-for-each-social-network)

Discover how Sherlock's site data JSON structure defines detection rules for social networks. Learn about URL patterns, HTTP methods, and validation logic used by the Python engine.

- Tags: internals
- Published: 2026-03-02

### [What Do the QueryStatus Enum Values Mean in Sherlock? A Complete Guide](/sherlock-project/sherlock/what-do-the-querystatus-enum-values-claimed-available-unknown-illegal-waf-mean)

Understand Sherlock QueryStatus enum values like CLAIMED, AVAILABLE, UNKNOWN, ILLEGAL, and WAF. Get a complete guide to username probe outcomes for deterministic reporting.

- Tags: api-reference
- Published: 2026-03-02

### [How Proxy Configuration Works in Sherlock: Supported URL Formats and CLI Usage](/sherlock-project/sherlock/how-does-proxy-configuration-work-in-sherlock-and-what-proxy-formats-are-supported)

Learn how Sherlock configures proxies using supported URL formats like HTTP HTTPS and SOCKS45 via the --proxy CLI option for efficient request routing.

- Tags: how-to-guide
- Published: 2026-03-02

### [How Sherlock Detects Username Existence Using Error Types: status_code, response_url, and message](/sherlock-project/sherlock/how-does-sherlock-detect-username-existence-using-different-error-types-status_code-response_url-response_text)

Learn how Sherlock detects username existence using status_code response_url and message error types Analyze HTTP responses with Sherlock to identify valid usernames effectively.

- Tags: internals
- Published: 2026-03-02

### [How Sherlock's Parallel Async Request System Works with FuturesSession](/sherlock-project/sherlock/how-does-sherlocks-parallel-async-request-system-work-with-futuressession)

Discover how Sherlock's parallel async request system uses FuturesSession to send hundreds of non-blocking HTTP requests simultaneously, aggregating results to complete username checks in seconds.

- Tags: internals
- Published: 2026-03-02

