ProjectDiscovery
ProjectDiscovery Cloud Platform for Enterprises. Use automation, integration, and continuous scanning to help defend the modern tech stack.
ProjectDiscovery Documentation
Docs
- Export the list of unique input domains of an enumeration.: Export the list of unique input domains of an enumeration.
- Add labels to an asset
- Create asset policy: Create a new asset policy that automatically takes action on assets matching defined conditions. Supported actions: alert (send notifications), delete (remove assets), set_label (add labels), and remove_label (remove labels).
- Delete labels of an asset
- Delete asset policy: Permanently delete an asset policy. This stops all future automatic actions for this policy.
- Get Asset Changelogs for a given asset_id: Get asset changelogs
- Get asset policy: Get a single asset policy by ID, including its conditions, action configuration, and execution metadata.
- Get asset policy events: Get the execution history for a specific asset policy, including apply actions, alert deliveries, and errors.
- Get asset policy suggestions: Get suggested asset policies based on user data patterns. Analyzes asset data to suggest policies for bad data detection and important asset highlighting.
- List asset policies: List all asset policies configured for your account. Returns each policy with its conditions, action type, and execution metadata.
- Modify labels of an asset
- Bulk Update Asset Labels
- Update asset policy: Update an existing asset policy. Use
appendmode to merge new values with existing ones (e.g., add alerting configs or labels without removing current ones). Usereplacemode to completely overwrite the policy configuration. - Add Config: Add a new scan configuration
- Add custom severity mapping
- Add excluded templates and targets: Add excluded templates or targets
- Delete Config: Delete scan configuration
- Delete custom severity mapping
- Delete excluded templates or targets by ids: Delete excluded templates or targets by ids
- Get Config: Get a scan configuration
- Get Configs List: Get user scan configurations list
- Get custom severity mappings
- Get excluded templates: Get excluded templates
- Modify custom severity mapping
- Update Config: Update existing scan configuration
- Verify Config: Verify scan configuration
- Create an asset group: Create an asset group from existing enumeration data using filters
- Create Enumeration: Create a new enumeration
- Delete an asset group: Delete an asset group by id
- Delete Assets in bulk: Delete enumeration by enumerate ids
- Delete Enumeration: Delete enumeration by enumerate_id
- Delete Enumeration Schedule: Delete a re-scan schedule
- Export Enumeration: Export the list of discovered assets for an enumeration.
- Export Enumeration of user: Export the list of discovered assets for all enumerations.
- Get All Enumeration Contents: Get All enumeration content
- Get Associated Domains: Discover domains related to a given domain through acquisition history, certificate transparency logs, and WHOIS records. Returns associated domains with evidence of their relationship.
- Get Enumeration: Get enumeration by enumerate_id
- Get enumeration config
- Get Enumeration Contents: Get enumeration content by enumerate_id
- Get Enumeration List: Get enumeration list
- Get Enumeration Schedules: Get enumeration re-scan schedule
- List Misconfiguration Findings: Retrieve infrastructure misconfiguration findings discovered during asset enumeration. Currently detects AWS dangling DNS (Elastic IPs that no longer exist) and Cloudflare origin IP exposure.
- Rescan Enumeration: Re-run a existing enumeration
- Set Enumeration Schedule: Set enumeration re-scan frequency
- Update an asset group: Update an asset group by customising the filters
- Update Enumeration: Update enumeration by enumerate_id
- Export filtered Scan results: Export filtered scan results
- Full Text Search: Full text search on vulnerabilities
- Get All Filters for Vulnerabilities: Get all filters for vulnerabilities
- Get asset enumeration history data: Get asset enumeration history data
- Get audit logs for team
- Get Vulnerability by ID: Get Vulnerability by ID
- Get scan log stats of given scan id
- Add Team Member: Invite a new team member
- Create Workspace: Create a new team
- Delete Default Team Members: Delete default team members (specific or all)
- Delete Team: Delete team (require 0 members)
- Delete Team Member: Delete a team member using member email
- Get Default Team Members: Retrieve the list of configured default team members
- Get Team: Get a team metadata
- Get Team Members: Get team member list
- Smart search across audit logs
- Set Default Team Members: Set (replace) the list of default team members
- Update Team: Update a existing team
- Update Team Member: Accept team invite
- Cloud API Reference Introduction: Details on the ProjectDiscovery API
- Export leaked credentials: Export leaked credentials with filtering by type, domain, email, date range, and more. Passwords are unmasked after domain verification. See Domain Verification for setup instructions.
- Get all leaked credentials: Returns all leaks (personal, employee, customer) with optional type filtering. Replaces the need for separate endpoint calls.
- Get leak statistics for a domain (Public): Public endpoint - no authentication required. Returns leak statistics for any domain including employee/customer leak counts, geographic distribution, and top compromised services.
- Get leak statistics for an email (Public): Public endpoint - no authentication required. Returns leak statistics for any email address including leak classification, compromised services, and risk timeline.
- Get leak information by ID: Retrieve detailed leak information by leak ID. Passwords are unmasked after domain verification. See Domain Verification for setup instructions.
- Update leak status: Mark leaks as fixed or reopen them. Requires authentication and domain verification for employee/customer leaks. See Domain Verification for setup instructions.
- Rename tunnel
- Get All Results: Get scans results of a user
- Get all Vulnerability Changelogs: get changelogs of all vulnerabilities
- Get Scan Vulnerability: Get scan result vulnerability by ID
- Get Vulnerability Changelogs: get changelogs of specific vulnerability by id
- Get Vulnerability Timeline: Get timeline of events for a vulnerability including template release date, first detection, status changes, and severity changes
- Get Retest Vulnerability: Get retest vulnerability (retests from editor)
- Export scan log of given scan id
- Create Scan: Trigger a scan
- Delete Scan: Delete a scan using scanId
- Delete Scan in bulk: Delete scans using scan ids
- Delete Scan Schedule: Delete scan schedule for a user
- Delete Scan Vulnerability: Batch Delete scan vulnerability
- Export Filtered Scan: Export filtered scan results
- Export list of unique assets for a scan: Export the list of all unique assets for a scan.
- Export Scan: Export scan results
- Export Scan Vulnerability: Export a specific scan vulnerability
- Get All Scans History: Get user scan history details
- Get Scan: Get details of a scan by scan ID
- Get Scan Config: Get scan metadata config
- Get Scan History: Get scan history detial by scanId
- Get Scan IPs: Get user static scan IPs list
- Get Scan List: Get user scans status
- Get Scan Schedules: Get scan schedules for a user
- Import OSS Scan: Import scan details
- Rescan scan: Re-run a existing scan
- Retest vulnerability: Retest a scan vulnerability
- Set Scan Schedule: set a scan schedule for a user
- Stop Scan: Stop a running scan, not applied in any other state.
- Update Imported Scan: Import more results to a given scan
- Update Scan: Update scan metadata
- Update Scan Config: Update scan metadata config
- Update Vulnerability Labels: Batch update vulnerability labels
- Update Vulnerability Status: Batch update vulnerability status
- Create Template: Create a private template
- Delete Template: Delete private template using ID
- Generate AI Template: Generate a private template with AI Engine
- Get Early Template: Get early template text
- Get Early Template List: Get pdcp early template lists
- Get Public Template: Get public template data
- Get Public Template List: Get public-template list
- Get Shared Template: Get a shared template text
- Get Shared Template List: Shared template list
- Get Template: Get private template text using ID
- Get Template List: Get user private(my) templates
- Share Template: Share a private template (shared-with-link)
- Update Template: Update existing private template
- Search Templates: Search templates with filtering, sorting, and faceting capabilities
- Unshare/Delete template
- Update enumeration config
- Update Shared Template
- Create API Key: Create user api-key, this won't create a new api-key if it already exists.
- Delete API Key: Delete user api-key
- Get API Key: Get user api-key
- Get tunnels list
- Rotate API Key: Rotate user api-key
- Settings & Administration : Review administrative, team, and account settings
- Audit Logs: Track and monitor all user activities and system events across your organization
- SAML SSO: Enterprise Single Sign-On (SSO) integration for secure team access
- Scan IPs for Whitelisting: Configure and manage scanning IP addresses for enterprise security controls
- SCIM Provisioning: System for Cross-domain Identity Management (SCIM) integration for automated and seamless user management
- Adding Assets: Learn how to add and manage assets in ProjectDiscovery
- Asset Policies
- Associated Domains Discovery: Discover related domains through acquisition history, certificate transparency, and WHOIS records
- Custom & Bulk Asset Labeling: Create and manage custom labels for your assets with powerful bulk labeling capabilities
- Discovery Target Exclusions: Configure patterns to exclude specific targets from asset discovery
- Dynamic Asset Grouping: Create and manage filtered asset groups for targeted visibility
- AI-Powered Asset Labeling: Automatically categorize and contextualize your assets with AI-driven labeling
- Asset Discovery and Exposure Management: Next-generation attack surface management and asset discovery platform
- Asset Screenshots: Visual catalog of your discovered assets for quick security assessment
- Credential Monitoring: Detect and respond to compromised credentials from dark web sources and infostealer logs
- AI Assistance: Review details on using AI to help generate templates for Nuclei and ProjectDiscovery
- Templates & Editor FAQ: Answers to common questions about Nuclei templates and our cloud platform template editor
- Template Editor Overview: Learn more about using the Nuclei Templates Editor
- Recommended: Learn more about using recommended templates with ProjectDiscovery
- Template Sharing: Learn about sharing templates
- Editor Keyboard Shortcuts: Review keyboard shortcuts for Nuclei templates
- Frequently Asked Questions
- Platform Integrations: Technical guide for configuring third-party integrations for cloud assets, vulnerability scanning, alerts, and ticketing
- Introducing ProjectDiscovery
- From Open Source to Cloud Platform
- Scan Exclusions: Configure target and template exclusions for vulnerability scanning
- External Vulnerability Scanning
- Internal Network Vulnerability Scanning
- ProjectDiscovery Vulnerability Scanning Overview
- Scan & Template Configurations: Configure custom scan settings, HTTP headers, template variables, and template profiles
- Real-Time Autoscan for Trending Exploits
- Retesting Vulnerabilities: Quickly verify the current status of vulnerabilities through targeted retesting
- Home: ProjectDiscovery Documentation
- AlterX Install: Learn how to install AlterX and get started
- AlterX Overview: A fast and customizable subdomain wordlist generator
- Running AlterX: Learn about running AlterX with details on variables and examples
- AlterX Usage: Learn AlterX usage including flags and filters
- Chaos Install: Learn how to install Chaos and get started
- Chaos Overview: A Go Client to communicate with the Chaos API
- Running Chaos: Learn about running Chaos with details and an example
- Chaos Usage: Learn Chaos usage including flags and filters
- Cloudlist Install: Learn how to install Cloudlist and get started
- Cloudlist Overview: A multi-cloud tool to identify assets across cloud service providers
- Cloudlist Providers: Supported cloud providers
- Running Cloudlist: Learn about running Cloudlist with examples and support details
- Cloudlist Usage: Learn Cloudlist usage including flags and filters
- Installing cvemap: Learn about how to install and get started with cvemap
- cvemap overview: A structured and easy way to navigate public CVE sources
- Running cvemap: Learn about running cvemap with examples including commands and output
- cvemap usage: Learn cvemap usage including flags and filters
- Installing dnsx: Learn about how to install and get started with dnsx
- dnsx Overview: A fast DNS toolkit for running various probes with multiple features
- Running dnsx: Learn about running dnsx with examples including commands and output
- dnsx Usage: Learn dnsx usage including queries, filters, and configurations
- Installing httpx: Learn about how to install and get started with httpx
- httpx Overview: An HTTP toolkit that probes services, web servers, and other valuable metadata
- Running httpx: Learn about running httpx with examples including commands and output
- Httpx Usage: Learn httpx usage including flags, probes, and options
- Open Source Tools: Learn about ProjectDiscovery's Open Source Tools
- Interactsh Install: Learn how to install Interactsh and get started
- Interactsh Integrations: Learn about integrating interactsh with other tools
- Interactsh Overview: A tool for detecting out-of-band vulnerabilities
- Running Interactsh interactsh-client: Learn about running Interactsh with examples and detailed output
- Interactsh Server: Learn about self-hosting an interactsh server
- Interactsh Usage: Learn Interact usage including flags and filters
- Installing Katana: Learn about how to install Katana
- Katana Overview: A web crawling framework designed to navigate and parse for hidden details
- Running Katana: Learn about running Katana with examples including commands and output
- Katana Usage: Review Katana usage including flags, configs, and options
- Installing Naabu: Learn about how to install Naabu and get started
- Naabu Overview: A Go-based port scanning tool to quickly enumerate valid ports
- Running Naabu: Learn about running Naabu with examples and sample output
- Naabu Usage: Review Naabu usage including flags, configs, and optimization
- Notify Install: Learn how to install Notify and get started
- Notify Overview: A Go-based package to streamline and publish output of tools to multiple locations
- Notify Provider Config: Learn how to set up Notify's provider configuration
- Running Notify: Learn about running Notify with details om variables and examples
- Notify Usage: Learn Notify usage including flags and filters
- Authenticated Scans: Learn about scanning targets behind authentication with Nuclei
- Running Nuclei in CI/CD: Automate Nuclei scans in CI/CD pipelines with GitHub Actions
- Nuclei FAQ: Common questions and answers about Nuclei
- Supported Input Formats: Learn about supported input formats in Nuclei and how to use them
- Installing Nuclei: Learn about how to install and get started with Nuclei
- Mass Scanning with Nuclei: Running Nuclei through the CLI on hundreds of targets
- Nuclei SDK: Learn more about using the Nuclei SDK
- Nuclei Overview: A fast and customisable vulnerability scanner powered by simple YAML-based templates
- Running Nuclei: Learn about how to run Nuclei and produce results
- PDTM Install: Learn how to install PDTM and get started
- PDTM Overview: Use ProjectDiscovery Tool Manager to download and organize your tools
- Running PDTM: Learn about PDTM with examples including commands and output
- PDTM Usage: Learn PDTM usage including flags and options
- Installing Subfinder: Learn about how to install and get started with Subfinder
- Subfinder Overview: A robust discovery tool for passive enumeration on valid subdomains
- Running: Learn about running Subfinder with examples including commands and output
- Subfinder Usage: Learn Subfinder usage including input, flags, and filters
- uncover Install: Learn how to install uncover and get started
- uncover Overview: A Go wrapper using APIs to discover exposed hosts
- Running uncover: Learn about running uncover including examples
- uncover Usage: Learn uncover usage including flags and filters
- ProjectDiscovery Quick Start Guide: Get started with ProjectDiscovery for asset discovery, vulnerability scanning and exposure monitoring
- Nuclei Templates FAQ: Common questions and answers about Nuclei templates, including usage tips and best practices.
- Introduction to Nuclei Templates: YAML based universal language for describing exploitable vulnerabilities
- Code Protocol: Learn about using external code with Nuclei
- DNS Protocol: Learn about using DNS with Nuclei
- File Protocol: Learn about using Nuclei to work with the local file system
- Flow Protocol: Learn about the template flow engine in Nuclei v3
- Headless Protocol: Learn about using a headless browser with Nuclei
- Basic HTTP Protocol: Learn about using Basic HTTP with Nuclei
- Connection Tampering: Learn more about using HTTP pipelining and connection pooling with Nuclei
- Fuzzing Examples: Review some examples of fuzzing with Nuclei
- Fuzzing Overview: Learn about fuzzing HTTP requests with Nuclei
- HTTP Payloads: Learn about bruteforcing HTTP requests using payloads with Nuclei
- HTTP Payloads Examples: Review some HTTP payload examples for Nuclei
- Race Conditions: Learn about using race conditions with Nuclei
- Raw HTTP Protocol: Learn about using Raw HTTP with Nuclei
- Request Tampering: Learn about request tampering in HTTP with Nuclei
- Unsafe HTTP: Learn about using rawhttp or unsafe HTTP with Nuclei
- Value Sharing: Learn about sharing values between HTTP requests in the HTTP template.
- JavaScript Protocol Introduction: Learn more about using JavaScript with Nuclei v3
- Bytes
- Fs
- Ikev2
- Kerberos
- Ldap
- Mssql
- Mysql
- Net
- Oracle
- Pop3
- Postgres
- Rdp
- Redis
- Rsync
- Smb
- Smtp
- Ssh
- Structs
- Telnet
- Vnc
- JavaScript Protocol: Review examples of JavaScript with Nuclei v3
- Multi-protocol: Learn about multi-protocol support in Nuclei v3
- Network Protocol: Learn about network requests with Nuclei
- Extractors: Review details on extractors for Nuclei
- Helper Functions: Review details on helper functions for Nuclei
- Javascript Helper Functions: Available JS Helper Functions that can be used in global js runtime & protocol specific helpers.
- Matchers: Review details on matchers for Nuclei
- OOB Testing: Understanding OOB testing with Nuclei Templates
- Preprocessors: Review details on pre-processors for Nuclei
- Template Signing: Review details on template signing for Nuclei
- Variables: Review details on variables for Nuclei
- Nuclei Template Structure: Learn the common elements required to create a Nuclei Template
- Workflow Examples: Review some template workflow examples for Nuclei
- Template Workflows Overview: Learn about template workflows in Nuclei
OpenAPI Specs
Optional
Meet the modern standard for public facing documentation. Beautiful out of the box, easy to maintain, and optimized for user engagement.
Search through billions of items for similar matches to any object, in milliseconds. It’s the next generation of search, an API call away.
Build and deploy reliable background jobs with no timeouts and no infrastructure to manage.
Get the simple developer experience of SQLite in production, and scale your multi-tenant backend with unlimited databases.
Upstash is a serverless data platform providing low latency and high scalability for real-time applications.
One-click deployments built for teams, tuned for Laravel, loaded with tools and goodies you're going to love.