SpiderFoot is a production-ready, enterprise-grade open source intelligence (OSINT) automation platform. Enhanced with advanced storage capabilities, AI-powered threat intelligence, and comprehensive security hardening, it integrates with hundreds of data sources and utilizes advanced methods for data analysis, making intelligence data easily navigable and actionable.
SpiderFoot features an embedded web-server for providing a clean and intuitive web-based interface but can also be used completely via the command-line. It's written in Python 3 and MIT-licensed.
graph TD;
A[User] -->|Web UI| B[SpiderFoot Core Engine];
A -->|CLI| B;
B --> C[Modules];
B --> D[Database];
B --> E[API];
C --> F[External Data Sources];
E --> G[SIEM/SOAR/Integrations];
B --> H[Scheduler];
B --> I[Correlation Engine];
B --> J[Reporting & Export];
This version includes production-ready enterprise features:
- Advanced Storage Engine: High-performance data storage with optimized querying and reporting
- AI-Powered Threat Intelligence: Automated threat analysis and intelligent pattern recognition
- Security Hardening: Enhanced security controls, input validation, and secure configurations
- Comprehensive Reporting: Advanced analytics and customizable report generation
- Performance Optimization: Scalable architecture for enterprise workloads
- Production Configuration: Ready-to-deploy configurations for enterprise environments
- Web based UI or CLI
- Over 200 modules with enterprise enhancements
- Python 3.9+
- YAML-configurable correlation engine with 37+ pre-defined rules
- CSV/JSON/GEXF export with advanced formatting options
- API key export/import
- SQLite and PostgreSQL back-end for enterprise scalability
- Highly configurable with production-ready defaults
- Fully documented with enterprise deployment guides
- Advanced visualizations and analytics
- TOR integration for dark web searching
- Docker and Kubernetes deployment support
- Can call other tools like DNSTwist, Whatweb, Nmap and CMSeeK
- Actively developed since 2012!
- Comprehensive REST API for enterprise integration
graph LR;
A[Start Scan] --> B[Select Target];
B --> C[Choose Modules];
C --> D[Run Scan];
D --> E[Data Collection];
E --> F[Correlation & Analysis];
F --> G[View Results];
G --> H[Export/Integrate];
- Automated Threat Analysis: Machine learning algorithms analyze patterns and identify threats
- Intelligent Pattern Recognition: AI-powered correlation of indicators across data sources
- Predictive Analytics: Threat trend analysis and risk prediction capabilities
- Natural Language Processing: Automated analysis of text-based intelligence sources
- Enhanced Input Validation: Comprehensive sanitization and validation of all inputs
- Security Configuration: Hardened default configurations and security best practices
- Audit Logging: Comprehensive audit trails for compliance and forensic analysis
- Access Controls: Role-based access control and authentication mechanisms
- High-Performance Storage: Optimized database operations with compression and indexing
- Concurrent Processing: Advanced threading and asynchronous processing capabilities
- Resource Management: Intelligent resource allocation and memory optimization
- Load Balancing: Support for distributed scanning across multiple instances
- Custom Dashboards: Configurable dashboards with real-time metrics and KPIs
- Comprehensive Reporting: Advanced report generation with customizable templates
- Data Visualization: Interactive charts, graphs, and network topology views
- Export Capabilities: Multiple export formats with enterprise-grade data handling
- REST API: Comprehensive API for seamless integration with security tools
- Webhook Support: Real-time notifications and event-driven integrations
- SIEM Integration: Direct integration with popular SIEM platforms
- CI/CD Pipeline Support: Automated scanning integration for DevSecOps workflows
graph TD;
A[User/Analyst] -->|Web UI/CLI| B[SpiderFoot Container];
B --> C[Persistent Storage];
B --> D[Network];
B --> E[External APIs];
B --> F[SIEM/SOAR];
B --> G[Monitoring];
Comprehensive documentation is available for all aspects of SpiderFoot Enterprise:
- Installation Guide - Complete setup instructions
- Quick Start Guide - Get scanning quickly
- User Guide - Fundamental concepts and usage
- CLI Reference - Command-line interface guide
- API Documentation - REST API reference
- Module Guide - Understanding modules
SpiderFoot can be used offensively (e.g. in a red team exercise or penetration test) for reconnaissance of your target or defensively to gather information about what you or your organisation might have exposed over the Internet.
You can target the following entities in a SpiderFoot scan:
- IP address
- Domain/sub-domain name
- Hostname
- Network subnet (CIDR)
- ASN
- E-mail address
- Phone number
- Username
- Person's name
- Bitcoin address
SpiderFoot's 200+ modules feed each other in a publisher/subscriber model to ensure maximum data extraction to do things like:
- Host/sub-domain/TLD enumeration/extraction
- Email address, phone number and human name extraction
- Bitcoin and Ethereum address extraction
- Check for susceptibility to sub-domain hijacking
- DNS zone transfers
- Threat intelligence and Blacklist queries
- API integration with SHODAN, HaveIBeenPwned, GreyNoise, AlienVault, SecurityTrails, etc.
- Social media account enumeration
- S3/Azure/Digitalocean bucket enumeration/scraping
- IP geo-location
- Web scraping, web content analysis
- Image, document and binary file meta data analysis
- Dark web searches
- Port scanning and banner grabbing
- Data breach searches
- So much more...
SpiderFoot Enterprise is production-ready and designed for enterprise environments:
Standard Installation:
git clone https://github.com/poppopjmp/spiderfoot.git
cd spiderfoot
pip3 install -r requirements.txt
python3 ./sf.py -l 127.0.0.1:5001
Docker Production Deployment:
# Production deployment with optimized configuration
docker-compose -f docker-compose-prod.yml up -d
# Development environment
docker-compose up -d
Enterprise Configuration:
# Initialize with production settings
python3 ./sf.py --init-prod
# Run with enterprise modules enabled
python3 ./sf.py -l 0.0.0.0:5001 --enterprise
The enterprise modules are automatically loaded and configured:
- Advanced Storage (
sfp__stor_db_advanced
): High-performance data storage with compression and indexing - AI Threat Intelligence (
sfp__ai_threat_intel
): ML-powered threat analysis and pattern recognition - Security Hardening (
sfp__security_hardening
): Enhanced security controls and validation
See the Enterprise Deployment Guide for detailed configuration options.
SpiderFoot Enterprise supports both SQLite (default) and PostgreSQL for enterprise scalability:
For high-volume enterprise deployments, configure PostgreSQL:
# Install PostgreSQL and dependencies
sudo apt-get install postgresql postgresql-contrib
pip3 install psycopg2-binary
# Create database and user
sudo -u postgres psql
CREATE DATABASE spiderfoot_enterprise;
CREATE USER spiderfootuser WITH PASSWORD 'secure_enterprise_password';
GRANT ALL PRIVILEGES ON DATABASE spiderfoot_enterprise TO spiderfootuser;
\q
# Configure SpiderFoot for PostgreSQL
python3 ./sf.py --init-db postgresql://spiderfootuser:secure_enterprise_password@localhost/spiderfoot_enterprise
The enterprise storage engine provides:
- Compression: Automatic data compression for efficient storage
- Indexing: Optimized database indexes for fast query performance
- Partitioning: Automatic data partitioning for large datasets
- Backup: Automated backup and recovery capabilities
- Monitoring: Real-time storage performance metrics
Whether you're a contributor, user or just curious about SpiderFoot and OSINT in general, we'd love to have you join our community! SpiderFoot now has a Discord server for seeking help from the community, requesting features or just general OSINT chit-chat.
We have a comprehensive write-up and reference of the correlation rule-set introduced in SpiderFoot 4.0 here.
Also take a look at the template.yaml file for a walk through. The existing 37 rules are also quite readable and good as starting points for additional rules.
SpiderFoot has over 200 modules, most of which don't require API keys, and many of those that do require API keys have a free tier.
Name | Description | Type |
---|---|---|
4chan | Search 4chan for mentions of the target. | Free API |
AbstractAPI | Look up domain, phone and IP address information from AbstractAPI. | Tiered API |
abuse.ch | Check if a host/domain, IP address or netblock is malicious according to Abuse.ch. | Free API |
AbuseIPDB | Check if an IP address is malicious according to AbuseIPDB.com blacklist. | Tiered API |
Account Finder | Look for possible associated accounts on over 500 social and other websites such as Instagram, Reddit, etc. | Internal |
AdBlock Check | Check if linked pages would be blocked by AdBlock Plus. | Tiered API |
AdGuard DNS | Check if a host would be blocked by AdGuard DNS. | Free API |
Ahmia | Search Tor 'Ahmia' search engine for mentions of the target. | Free API |
AI Summary | Generate AI-powered summaries of discovered data. | Internal |
AlienVault IP Reputation | Check if an IP or netblock is malicious according to the AlienVault IP Reputation database. | Free API |
AlienVault OTX | Obtain information from AlienVault Open Threat Exchange (OTX) | Tiered API |
Aparat | Search Aparat for videos related to the target. | Free API |
Apple iTunes | Search Apple iTunes for mobile apps. | Free API |
Archive.org | Identifies historic versions of interesting files/pages from the Wayback Machine. | Free API |
ARIN | Queries ARIN registry for contact information. | Free API |
Azure Blob Finder | Search for potential Azure blobs associated with the target and attempt to list their contents. | Free API |
Bambenek | Check if a netblock or IP is malicious according to Bambenek feeds. | Free API |
Base64 Decoder | Identify Base64-encoded strings in URLs, often revealing interesting hidden information. | Internal |
BGPView | Obtain network information from BGPView API. | Free API |
BinaryEdge | Obtain information from BinaryEdge.io Internet scanning systems, including breaches, vulnerabilities, torrents and passive DNS. | Tiered API |
Bing | Obtain information from Bing to identify sub-domains and links. | Tiered API |
Bing (Shared IPs) | Search Bing for hosts sharing the same IP. | Tiered API |
Binary String Extractor | Attempt to identify strings in binary content. | Internal |
Bitcoin Finder | Identify bitcoin addresses in scraped webpages. | Internal |
Bitcoin Who's Who | Check for Bitcoin addresses against the Bitcoin Who's Who database of suspect/malicious addresses. | Tiered API |
Blockchain | Queries blockchain.info to find the balance of identified bitcoin wallet addresses. | Free API |
blocklist.de | Check if a netblock or IP is malicious according to blocklist.de. | Free API |
Bluesky | Search Bluesky for mentions of the target. | Free API |
BNB | Identify BNB addresses in scraped webpages. | Internal |
BotScout | Searches BotScout.com's database of spam-bot IP addresses and e-mail addresses. | Tiered API |
botvrij.eu | Check if a domain is malicious according to botvrij.eu. | Free API |
BuiltWith | Query BuiltWith.com's Domain API for information about your target's web technology stack, e-mail addresses and more. | Tiered API |
C99 | Queries the C99 API which offers various data (geo location, proxy detection, phone lookup, etc). | Commercial API |
CallerName | Lookup US phone number location and reputation information. | Free API |
Censys | Obtain host information from Censys.io. | Tiered API |
Certificate Transparency | Gather hostnames from historical certificates in crt.sh. | Free API |
CertSpotter | Gather information about SSL certificates from SSLMate CertSpotter API. | Tiered API |
CINS Army List | Check if a netblock or IP address is malicious according to Collective Intelligence Network Security (CINS) Army list. | Free API |
CIRCL.LU | Obtain information from CIRCL.LU's Passive DNS and Passive SSL databases. | Free API |
Cisco Umbrella | Check if a domain is categorized as malicious or unsafe by Cisco Umbrella. | Tiered API |
Citadel | Search Citadel for threat intelligence. | Free API |
CleanBrowsing.org | Check if a host would be blocked by CleanBrowsing.org DNS content filters. | Free API |
CleanTalk Spam List | Check if a netblock or IP address is on CleanTalk.org's spam IP list. | Free API |
CloudFlare DNS | Check if a host would be blocked by CloudFlare DNS. | Free API |
CloudFront | Check if a host is using CloudFront CDN. | Free API |
CoinBlocker Lists | Check if a domain appears on CoinBlocker lists. | Free API |
CommonCrawl | Searches for URLs found through CommonCrawl.org. | Free API |
Comodo Secure DNS | Check if a host would be blocked by Comodo Secure DNS. | Tiered API |
Company Name Extractor | Identify company names in any obtained data. | Internal |
Cookie Extractor | Extract Cookies from HTTP headers. | Internal |
Country Name Extractor | Identify country names in any obtained data. | Internal |
Credit Card Number Extractor | Identify Credit Card Numbers in any data | Internal |
CriminalIP | Look up domain, phone and IP address information from CriminalIP. | Tiered API |
Crobat API | Search Crobat API for subdomains. | Free API |
Cross-Referencer | Identify whether other domains are associated ('Affiliates') of the target by looking for links back to the target site(s). | Internal |
Certificate Transparency (crt.sh) | Gather hostnames from historical certificates in crt.sh. | Free API |
CRXcavator | Search CRXcavator for Chrome extensions. | Free API |
Custom Threat Feed | Check if a host/domain, netblock, ASN or IP is malicious according to your custom feed. | Internal |
CyberCrime-Tracker.net | Check if a host/domain or IP address is malicious according to CyberCrime-Tracker.net. | Free API |
Debounce | Check whether an email is disposable | Free API |
Deepinfo | Search Deepinfo.com for historical DNS records, WHOIS data, and associated domains. | Tiered API |
Dehashed | Gather breach data from Dehashed API. | Commercial API |
Dideo | Search Dideo for videos related to the target. | Free API |
Digital Ocean Space Finder | Search for potential Digital Ocean Spaces associated with the target and attempt to list their contents. | Free API |
Discord | Search Discord for mentions of the target. | Free API |
DNS Brute-forcer | Attempts to identify hostnames through brute-forcing common names and iterations. | Internal |
DNS Common SRV | Attempts to identify hostnames through brute-forcing common DNS SRV records. | Internal |
DNSDumpster | Passive subdomain enumeration using HackerTarget's DNSDumpster | Free API |
DNSGrep | Obtain Passive DNS information from Rapid7 Sonar Project using DNSGrep API. | Free API |
DNS Neighbor | Attempt to reverse-resolve the IP addresses next to your target to see if they are related. | Internal |
DNS Raw Records | Retrieves raw DNS records such as MX, TXT and others. | Internal |
DNS Resolver | Resolves hosts and IP addresses identified, also extracted from raw content. | Internal |
DNS Zone Transfer | Attempts to perform a full DNS zone transfer. | Internal |
DNS for Family | Check if a host would be blocked by DNS for Family. | Free API |
Douyin | Search Douyin for videos related to the target. | Free API |
DroneBL | Query the DroneBL database for open relays, open proxies, vulnerable servers, etc. | Free API |
DuckDuckGo | Query DuckDuckGo's API for descriptive information about your target. | Free API |
E-Mail Address Extractor | Identify e-mail addresses in any obtained data. | Internal |
EmailCrawlr | Search EmailCrawlr for email addresses and phone numbers associated with a domain. | Tiered API |
EmailFormat | Look up e-mail addresses on email-format.com. | Free API |
EmailRep | Search EmailRep.io for email address reputation. | Tiered API |
Emerging Threats | Check if a netblock or IP address is malicious according to EmergingThreats.net. | Free API |
Error String Extractor | Identify common error messages in content like SQL errors, etc. | Internal |
Ethereum Address Extractor | Identify ethereum addresses in scraped webpages. | Internal |
Etherscan | Queries etherscan.io to find the balance of identified ethereum wallet addresses. | Free API |
File Metadata Extractor | Extracts meta data from documents and images. | Internal |
Flickr | Search Flickr for domains, URLs and emails related to the specified domain. | Free API |
Focsec | Look up IP address information from Focsec. | Tiered API |
Fofa | Look up domain, IP address, and other information from Fofa. | Tiered API |
Fortinet | Check if an IP address is malicious according to Fortinet. | Free API |
Fraudguard | Obtain threat information from Fraudguard.io | Tiered API |
F-Secure Riddler.io | Obtain network information from F-Secure Riddler.io API. | Commercial API |
FullContact | Gather domain and e-mail information from FullContact.com API. | Tiered API |
FullHunt | Identify domain attack surface using FullHunt API. | Tiered API |
Github | Identify associated public code repositories on Github. | Free API |
GLEIF | Look up company information from Global Legal Entity Identifier Foundation (GLEIF). | Tiered API |
Google Maps | Identifies potential physical addresses and latitude/longitude coordinates. | Tiered API |
Google Object Storage Finder | Search for potential Google Object Storage buckets associated with the target and attempt to list their contents. | Free API |
Google SafeBrowsing | Check if the URL is included on any of the Safe Browsing lists. | Free API |
Google Search | Obtain information from the Google Custom Search API to identify sub-domains and links. | Tiered API |
Gravatar | Retrieve user information from Gravatar API. | Free API |
Grayhat Warfare | Find bucket names matching the keyword extracted from a domain from Grayhat API. | Tiered API |
Greensnow | Check if a netblock or IP address is malicious according to greensnow.co. | Free API |
grep.app | Search grep.app API for links and emails related to the specified domain. | Free API |
GreyNoise | Obtain IP enrichment data from GreyNoise | Tiered API |
GreyNoise Community | Obtain IP enrichment data from GreyNoise Community API | Tiered API |
HackerOne (Unofficial) | Check external vulnerability scanning/reporting service h1.nobbd.de to see if the target is listed. | Free API |
HackerTarget | Search HackerTarget.com for hosts sharing the same IP. | Free API |
Hash Extractor | Identify MD5 and SHA hashes in web content, files and more. | Internal |
HaveIBeenPwned | Check HaveIBeenPwned.com for hacked e-mail addresses identified in breaches. | Commercial API |
Honeypot | Identify honeypot systems related to the target. | Internal |
Hosting Provider Identifier | Find out if any IP addresses identified fall within known 3rd party hosting ranges, e.g. Amazon, Azure, etc. | Internal |
Host.io | Obtain information about domain names from host.io. | Tiered API |
Hunter.io | Check for e-mail addresses and names on hunter.io. | Tiered API |
Hybrid Analysis | Search Hybrid Analysis for domains and URLs related to the target. | Free API |
IBAN Number Extractor | Identify International Bank Account Numbers (IBANs) in any data. | Internal |
Iknowwhatyoudownload.com | Check iknowwhatyoudownload.com for IP addresses that have been using torrents. | Tiered API |
Search Instagram for profiles related to the target. | Free API | |
IntelligenceX | Obtain information from IntelligenceX about identified IP addresses, domains, e-mail addresses and phone numbers. | Tiered API |
Interesting File Finder | Identifies potential files of interest, e.g. office documents, zip files. | Internal |
Internet Storm Center | Check if an IP address is malicious according to SANS ISC. | Free API |
ipapi.co | Queries ipapi.co to identify geolocation of IP Addresses using ipapi.co API | Tiered API |
ipapi.com | Queries ipapi.com to identify geolocation of IP Addresses using ipapi.com API | Tiered API |
IPInfo.io | Identifies the physical location of IP addresses identified using ipinfo.io. | Tiered API |
IPQualityScore | Determine if target is malicious using IPQualityScore API | Tiered API |
ipregistry | Query the ipregistry.co database for reputation and geo-location. | Tiered API |
ipstack | Identifies the physical location of IP addresses identified using ipstack.com. | Tiered API |
JsonWHOIS.com | Search JsonWHOIS.com for WHOIS records associated with a domain. | Tiered API |
Junk File Finder | Looks for old/temporary and other similar files. | Internal |
Keybase | Obtain additional information about domain names and identified usernames. | Free API |
Koodous | Search Koodous for mobile apps. | Tiered API |
LeakCheck | Check LeakCheck.net for data breaches associated with a domain or email address. | Free API |
LeakIX | Search LeakIX for host data leaks, open ports, software and geoip. | Free API |
Leak-Lookup | Searches Leak-Lookup.com's database of breaches. | Free API |
Maltiverse | Obtain information about any malicious activities involving IP addresses | Free API |
MalwarePatrol | Searches malwarepatrol.net's database of malicious URLs/IPs. | Tiered API |
MetaDefender | Search MetaDefender API for IP address and domain IP reputation. | Tiered API |
Mnemonic PassiveDNS | Obtain Passive DNS information from PassiveDNS.mnemonic.no. | Free API |
multiproxy.org Open Proxies | Check if an IP address is an open proxy according to multiproxy.org open proxy list. | Free API |
MySpace | Gather username and location from MySpace.com profiles. | Free API |
NameAPI | Check whether an email is disposable | Tiered API |
Netlas | Look up domain and IP address information from Netlas API. | Tiered API |
NetworksDB | Search NetworksDB.io API for IP address and domain information. | Tiered API |
NeutrinoAPI | Search NeutrinoAPI for phone location information, IP address information, and host reputation. | Tiered API |
numverify | Lookup phone number location and carrier information from numverify.com. | Tiered API |
Onion.link | Search Tor 'Onion City' search engine for mentions of the target domain using Google Custom Search. | Free API |
Onionsearchengine.com | Search Tor onionsearchengine.com for mentions of the target domain. | Free API |
Onyphe | Check Onyphe data (threat list, geo-location, pastries, vulnerabilities) about a given IP. | Tiered API |
Open Bug Bounty | Check external vulnerability scanning/reporting service openbugbounty.org to see if the target is listed. | Free API |
OpenCorporates | Look up company information from OpenCorporates. | Tiered API |
OpenDNS | Check if a host would be blocked by OpenDNS. | Free API |
OpenNIC DNS | Resolves host names in the OpenNIC alternative DNS system. | Free API |
OpenPhish | Check if a host/domain is malicious according to OpenPhish.com. | Free API |
OpenStreetMap | Retrieves latitude/longitude coordinates for physical addresses from OpenStreetMap API. | Free API |
OpenWiFiMap | Search OpenWiFiMap for WiFi hotspots related to the target. | Free API |
Page Information | Obtain information about web pages (do they take passwords, do they contain forms, etc.) | Internal |
PasteBin | PasteBin search (via Google Search API) to identify related content. | Tiered API |
PGP Key Servers | Look up domains and e-mail addresses in PGP public key servers. | Internal |
PhishStats | Check if a netblock or IP address is malicious according to PhishStats. | Free API |
PhishTank | Check if a host/domain is malicious according to PhishTank. | Free API |
Phone Number Extractor | Identify phone numbers in scraped webpages. | Internal |
Port Scanner - TCP | Scans for commonly open TCP ports on Internet-facing systems. | Internal |
Project Honey Pot | Query the Project Honey Pot database for IP addresses. | Free API |
ProjectDiscovery Chaos | Search for hosts/subdomains using chaos.projectdiscovery.io | Commercial API |
Psbdmp | Check psbdmp.cc (PasteBin Dump) for potentially hacked e-mails and domains. | Free API |
Pulsedive | Obtain information from Pulsedive's API. | Tiered API |
PunkSpider | Check the QOMPLX punkspider.io service to see if the target is listed as vulnerable. | Free API |
Quad9 | Check if a host would be blocked by Quad9 DNS. | Free API |
Recorded Future | Obtain threat intelligence from Recorded Future. | Commercial API |
Search Reddit for mentions of the target. | Free API | |
ReverseWhois | Reverse Whois lookups using reversewhois.io. | Free API |
RIPE | Queries the RIPE registry (includes ARIN data) to identify netblocks and other info. | Free API |
Robtex | Search Robtex.com for hosts sharing the same IP. | Free API |
Rocket.Chat | Search Rocket.Chat for mentions of the target. | Free API |
RocketReach | Look up email addresses, phone numbers, and social media profiles from RocketReach. | Tiered API |
Rubika | Search Rubika for mentions of the target. | Free API |
S3 Bucket Finder | Search for potential Amazon S3 buckets associated with the target and attempt to list their contents. | Free API |
searchcode | Search searchcode for code repositories mentioning the target domain. | Free API |
SecurityTrails | Obtain Passive DNS and other information from SecurityTrails | Tiered API |
Seon | Queries seon.io to gather intelligence about IP Addresses, email addresses, and phone numbers | Commercial API |
SHODAN | Obtain information from SHODAN about identified IP addresses. | Tiered API |
Similar Domain Finder | Search various sources to identify similar looking domain names, for instance squatted domains. | Internal |
Skymem | Look up e-mail addresses on Skymem. | Free API |
SlideShare | Gather name and location from SlideShare profiles. | Free API |
Snov | Gather available email IDs from identified domains | Tiered API |
Social Links | Queries SocialLinks.io to gather intelligence from social media platforms and dark web. | Commercial API |
Social Media Profile Finder | Tries to discover the social media profiles for human names identified. | Tiered API |
Social Network Identifier | Identify presence on social media networks such as LinkedIn, Twitter and others. | Internal |
SORBS | Query the SORBS database for open relays, open proxies, vulnerable servers, etc. | Free API |
SpamCop | Check if a netblock or IP address is in the SpamCop database. | Free API |
Spamhaus Zen | Check if a netblock or IP address is in the Spamhaus Zen database. | Free API |
spur.us | Obtain information about any malicious activities involving IP addresses found | Commercial API |
SSL Certificate Analyzer | Gather information about SSL certificates used by the target's HTTPS sites. | Internal |
StackOverflow | Search StackOverflow for any mentions of a target domain. Returns potentially related information. | Tiered API |
Steven Black Hosts | Check if a domain is malicious (malware or adware) according to Steven Black Hosts list. | Free API |
Strange Header Identifier | Obtain non-standard HTTP headers returned by web servers. | Internal |
Subdomain Takeover Checker | Check if affiliated subdomains are vulnerable to takeover. | Internal |
Sublist3r PassiveDNS | Passive subdomain enumeration using Sublist3r's API | Free API |
SURBL | Check if a netblock, IP address or domain is in the SURBL blacklist. | Free API |
Talos Intelligence | Check if a netblock or IP address is malicious according to TalosIntelligence. | Free API |
Telegram | Search Telegram for mentions of the target. | Free API |
TextMagic | Obtain phone number type from TextMagic API | Tiered API |
ThreatCrowd | Obtain information from ThreatCrowd about identified IP addresses, domains and e-mail addresses. | Free API |
ThreatFox | Check if an IP address is malicious according to ThreatFox. | Free API |
ThreatMiner | Obtain information from ThreatMiner's database for passive DNS and threat intelligence. | Free API |
TLD Searcher | Search all Internet TLDs for domains with the same name as the target (this can be very slow.) | Internal |
Tool - CMSeeK | Identify what Content Management System (CMS) might be used. | Tool |
Tool - DNSTwist | Identify bit-squatting, typo and other similar domains to the target using a local DNSTwist installation. | Tool |
Tool - Gobuster | Directory brute-forcing using Gobuster. | Tool |
Tool - nbtscan | Scans for open NETBIOS nameservers on your target's network. | Tool |
Tool - Nmap | Identify what Operating System might be used. | Tool |
Tool - Nuclei | Fast and customisable vulnerability scanner. | Tool |
Tool - onesixtyone | Fast scanner to find publicly exposed SNMP services. | Tool |
Tool - Retire.js | Scanner detecting the use of JavaScript libraries with known vulnerabilities | Tool |
Tool - snallygaster | Finds file leaks and other security problems on HTTP servers. | Tool |
Tool - testssl.sh | Identify various TLS/SSL weaknesses, including Heartbleed, CRIME and ROBOT. | Tool |
Tool - TruffleHog | Searches through git repositories for high entropy strings and secrets, digging deep into commit history. | Tool |
Tool - WAFW00F | Identify what web application firewall (WAF) is in use on the specified website. | Tool |
Tool - Wappalyzer | Wappalyzer identifies technologies on websites. | Tool |
Tool - WhatWeb | Identify what software is in use on the specified website. | Tool |
TOR Exit Nodes | Check if an IP adddress or netblock appears on the Tor Metrics exit node list. | Free API |
TORCH | Search Tor 'TORCH' search engine for mentions of the target domain. | Free API |
Tron | Search Tron for mentions of the target. | Free API |
Trumail | Check whether an email is disposable | Free API |
Twilio | Obtain information from Twilio about phone numbers. Ensure you have the Caller Name add-on installed in Twilio. | Tiered API |
Gather name and location from Twitter profiles. | Free API | |
UCEPROTECT | Check if a netblock or IP address is in the UCEPROTECT database. | Free API |
Unwired Labs | Obtain geolocation data from Unwired Labs. | Tiered API |
URLScan.io | Search URLScan.io cache for domain information. | Free API |
Venmo | Gather user information from Venmo API. | Free API |
ViewDNS.info | Identify co-hosted websites and perform reverse Whois lookups using ViewDNS.info. | Tiered API |
VirusTotal | Obtain information from VirusTotal about identified IP addresses. | Tiered API |
VoIP Blacklist (VoIPBL) | Check if an IP address or netblock is malicious according to VoIP Blacklist (VoIPBL). | Free API |
VXVault.net | Check if a domain or IP address is malicious according to VXVault.net. | Free API |
Web Analytics Extractor | Identify web analytics IDs in scraped webpages and DNS TXT records. | Internal |
Web Framework Identifier | Identify the usage of popular web frameworks like jQuery, YUI and others. | Internal |
Web Server Identifier | Obtain web server banners to identify versions of web servers being used. | Internal |
Web Spider | Spidering of web-pages to extract content for searching. | Internal |
Search WeChat for mentions of the target. | Free API | |
WhatCMS | Check web technology using WhatCMS.org API. | Tiered API |
Search WhatsApp for mentions of the target. | Free API | |
Whois | Perform a WHOIS look-up on domain names and owned netblocks. | Internal |
WhoisFreaks | Perform WHOIS lookups and identify historical WHOIS records using WhoisFreaks.com. | Tiered API |
Whoisology | Reverse Whois lookups using Whoisology.com. | Commercial API |
Whoxy | Reverse Whois lookups using Whoxy.com. | Commercial API |
WiGLE | Query WiGLE to identify nearby WiFi access points. | Free API |
Wikileaks | Search Wikileaks for mentions of domain names and e-mail addresses. | Free API |
Wikipedia Edits | Identify edits to Wikipedia articles made from a given IP address or username. | Free API |
XForce Exchange | Obtain IP reputation and passive DNS information from IBM X-Force Exchange. | Tiered API |
Xiaohongshu | Search Xiaohongshu for mentions of the target. | Free API |
Yandex DNS | Check if a host would be blocked by Yandex DNS. | Free API |
Zetalytics | Query the Zetalytics database for hosts on your target domain(s). | Tiered API |
ZoneFiles.io | Search ZoneFiles.io Domain query API for domain information. | Tiered API |
Zone-H Defacement Check | Check if a hostname/domain appears on the zone-h.org 'special defacements' RSS feed. | Free API |
ZoomEye | Look up domain, IP address, and other information from ZoomEye. | Tiered API |
Read more at the project website, including more complete documentation, blog posts with tutorials/guides.
SpiderFoot is actively maintained with regular updates and contributions. The project is under active development, with recent commits and ongoing improvements. Issues and pull requests are actively managed and addressed. The community is engaged through discussions and contributions. We encourage users to report issues and contribute to the project.
Maintainer: Poppopjmp van1sh@van1shland.io
- Added new modules for enhanced data extraction and analysis.
- Improved performance and stability of existing modules.
- Updated dependencies to ensure compatibility with the latest versions.
- Fixed various bugs and issues reported by the community.
- Enhanced documentation and added new tutorials for better user experience.
- Added initial support for Postgresql
- Container Autocreation
- Testing Integration
- Codecoverage and quality
SpiderFoot uses a centralized version management system to ensure consistency across all components:
- Single Source of Truth: All versions controlled from the
VERSION
file - Automated Updates: Use
python update_version.py
to update all version references - Consistency Checking: Validate version consistency with
python update_version.py --check
- Release Management: Streamlined version bumping with
python update_version.py --set X.Y.Z
For detailed information, see the Version Management Guide.
To trigger a release build manually using the GitHub Actions workflow, follow these steps:
- Go to the GitHub repository page.
- Click on the "Actions" tab.
- In the left sidebar, click on the "Release" workflow.
- Click on the "Run workflow" button.
- Select the branch you want to release from (e.g.,
main
). - Click on the "Run workflow" button to start the release build process.
The GitHub Actions workflow will handle the rest, including checking out the repository, setting up Python, installing dependencies, running tests, building the Docker image, and pushing the Github Content Registry
The SpiderFoot REST API allows you to interact with SpiderFoot programmatically. The API provides endpoints for starting scans, stopping scans, retrieving scan results, listing available modules, listing active scans, getting scan status, listing scan history, exporting scan results, importing API keys, and exporting API keys.
GET /api/scan/start
: Start a new scanPOST /api/scan/stop
: Stop an ongoing scanGET /api/scan/results
: Retrieve scan resultsGET /api/modules
: List available modulesGET /api/scans/active
: List active scansGET /api/scan/status
: Get the status of a specific scanGET /api/scans/history
: List the history of all scans performedGET /api/scan/export
: Export scan results in various formats (e.g., CSV, JSON)POST /api/keys/import
: Import API keys for various modulesGET /api/keys/export
: Export API keys for various modules
To start a new scan, send a GET
request to the /api/scan/start
endpoint with the required parameters:
curl -X GET "http://127.0.0.1:8000/api/scan/start?target=example.com&modules=module1,module2"
To stop an ongoing scan, send a POST
request to the /api/scan/stop
endpoint with the scan ID:
curl -X POST "http://127.0.0.1:8000/api/scan/stop" -d '{"scan_id": "12345"}'
To retrieve scan results, send a GET
request to the /api/scan/results
endpoint with the scan ID:
curl -X GET "http://127.0.0.1:8000/api/scan/results?scan_id=12345"
For more detailed instructions and examples, refer to the API documentation.
For more diagrams and visualizations, see the documentation and web UI dashboards!