SP

Spyse

global API

Spyse

Type: ip
Module: Spyse

Capabilities

Domain Intelligence IP Lookup Certificate Search DNS Records WHOIS Data Subdomain Discovery Technology Profiling AS Lookup

Try Spyse

API Endpoint

Results

Overview

Spyse is an Internet assets search engine designed for cybersecurity professionals that aggregates data from multiple scanning and passive collection sources into a unified platform. It provides deep visibility into domains, IP addresses, SSL certificates, DNS records, autonomous systems, and the relationships between them. The platform differentiates itself through its relational data model -- rather than presenting isolated data points, it maps connections between Internet assets, enabling analysts to pivot from one entity to related infrastructure effortlessly.

The relational approach transforms individual data points into an interconnected intelligence graph. When an analyst queries a domain, Spyse does not merely return DNS records; it reveals the IP addresses those records resolve to, the other domains hosted on those IPs, the SSL certificates covering those domains, the autonomous systems announcing those IP blocks, and the technologies running on those servers. This web of relationships is what separates Spyse from simple lookup tools and positions it as an infrastructure intelligence platform.

For OSINT and attack surface analysis, Spyse provides the foundational infrastructure layer that informs vulnerability assessment, competitive intelligence, and threat investigation workflows. When combined with active scanning data from Shodan and Censys, Spyse's passive intelligence creates a comprehensive view of any organization's Internet-facing infrastructure without generating detectable traffic against the target.

Data Coverage

Data TypeDescription
DomainsRegistration, DNS, technology stack, linked IPs
SubdomainsPassive enumeration from multiple sources
IP AddressesGeolocation, ports, services, hosting provider
SSL CertificatesIssuance, expiry, SANs, chain analysis
DNS RecordsA, AAAA, MX, NS, TXT, SOA, CNAME history
WHOISRegistration, registrar, dates, contact data
Autonomous SystemsASN lookup, prefix lists, peering
TechnologiesWeb frameworks, CMS, CDN, analytics detection
CVEsVulnerability mapping based on detected software

Data Relationships

Spyse maps bidirectional relationships between entities, enabling pivoting across the entire Internet asset graph:

Starting EntityPivot ToVia
DomainIPsDNS A/AAAA records
DomainDomainsShared certificate SANs
DomainMX HostsMX record resolution
IPDomainsReverse DNS / hosted domains
IPIPsSame ASN / same subnet
CertificateDomainsSubject and SAN fields
ASNIPsAnnounced prefixes
TechnologyDomainsTechnology detection matches

Data Collection Architecture

Spyse employs a multi-layered collection architecture that combines passive observation with periodic active scanning:

Passive Collection Layer:
  - Certificate Transparency log monitoring
  - DNS zone walk enumeration
  - WHOIS registration monitoring
  - BGP route announcements

Active Scanning Layer:
  - Port scanning across common service ports
  - HTTP/HTTPS banner grabbing
  - Technology fingerprinting via response analysis
  - TLS certificate harvesting

Enrichment Layer:
  - Geolocation mapping
  - ASN attribution
  - CVE correlation from detected versions
  - Historical change tracking

Integration with Prismatic

Spyse serves as a comprehensive Internet intelligence source within the Prismatic platform, particularly for the Prismatic Perimeter attack surface discovery and the OSINT Core enrichment pipeline.

# Get comprehensive domain intelligence
{:ok, domain} = Spyse.domain("example.com")
# => %{
#   name: "example.com",
#   dns: %{a: ["93.184.216.34"], mx: ["mail.example.com"], ns: ["ns1.example.com"]},
#   whois: %{registrar: "Example Registrar", created: ~D[1995-08-14]},
#   technologies: ["nginx", "React", "Google Analytics"],
#   certificate: %{issuer: "DigiCert", expires: ~D[2025-01-15]},
#   alexa_rank: 12345
# }

# Discover subdomains
{:ok, subdomains} = Spyse.subdomains("example.com")
# => ["www.example.com", "mail.example.com", "api.example.com", ...]

# IP intelligence
{:ok, ip_info} = Spyse.ip("93.184.216.34")

# Search by technology
{:ok, results} = Spyse.search(:domain,
  filters: [%{type: "technology", operator: "eq", value: "WordPress 5.x"}]
)

# Certificate search
{:ok, certs} = Spyse.search(:certificate,
  filters: [%{type: "domain", operator: "contains", value: "example.com"}]
)

# DNS history
{:ok, history} = Spyse.dns_history("example.com", type: :a)

# AS lookup
{:ok, as_info} = Spyse.as(13335)

# Bulk domain lookup
{:ok, bulk} = Spyse.bulk_domain(["example.com", "example.org", "example.net"])

Infrastructure Mapping Pipeline

The infrastructure mapping pipeline leverages Spyse's relational data to build a complete picture of an organization's Internet-facing assets from a single domain input.

defmodule PrismaticPerimeter.Discovery.InfrastructureMapper do
  @moduledoc """
  Maps complete infrastructure using Spyse relationship data.
  Discovers co-hosted domains, related certificates, and
  technology dependencies for attack surface assessment.
  """

  def map_infrastructure(domain) do
    with {:ok, domain_data} <- Spyse.domain(domain),
         {:ok, subdomains} <- Spyse.subdomains(domain),
         {:ok, certificates} <- Spyse.search(:certificate, domain_filter(domain)),
         {:ok, dns_history} <- Spyse.dns_history(domain, type: :a) do
      {:ok, %{
        primary_domain: domain_data,
        subdomains: subdomains,
        unique_ips: extract_unique_ips(domain_data, subdomains),
        certificates: certificates,
        technology_stack: domain_data.technologies,
        related_domains: find_related_via_certs(certificates),
        dns_timeline: dns_history,
        infrastructure_risk: assess_infrastructure_risk(domain_data, subdomains)
      }}
    end
  end

  defp assess_infrastructure_risk(domain_data, subdomains) do
    risks = []
    risks = if expired_certificate?(domain_data), do: [:expired_cert | risks], else: risks
    risks = if outdated_technology?(domain_data), do: [:outdated_tech | risks], else: risks
    risks = if length(subdomains) > 100, do: [:large_attack_surface | risks], else: risks
    %{factors: risks, level: risk_level(length(risks))}
  end
end

Technology-Based Vulnerability Correlation

Spyse's technology detection capabilities enable automated vulnerability correlation, identifying potential security issues based on the detected software stack:

defmodule PrismaticPerimeter.Assessment.TechVulnerabilityCorrelation do
  @moduledoc """
  Correlates detected technologies from Spyse with known
  vulnerabilities from NVD and Exploit-DB.
  """

  def correlate_vulnerabilities(domain) do
    with {:ok, domain_data} <- Spyse.domain(domain),
         {:ok, cves} <- lookup_technology_cves(domain_data.technologies) do
      {:ok, %{
        domain: domain,
        technologies: domain_data.technologies,
        total_cves: length(cves),
        critical_cves: Enum.count(cves, &(&1.severity == :critical)),
        exploitable: Enum.count(cves, &(&1.has_exploit)),
        recommendations: prioritize_patches(cves)
      }}
    end
  end
end

Search Filter System

Spyse provides a powerful filter-based search system that enables precise querying across its entire dataset. The filter system supports multiple operators and can be combined for complex queries.

Filter TypeOperatorsExample Use
Domainequals, contains, starts_withFind domains matching patterns
IPequals, cidr, rangeSearch by IP or network range
Technologyequals, containsFind sites using specific software
Portequals, rangeDiscover services on specific ports
Certificateissuer, subject, expiryCertificate-based infrastructure search
ASNequalsFilter by autonomous system
CountryequalsGeographic filtering
OrganizationcontainsFilter by registrant organization
HTTP StatusequalsFilter by server response status
DNS TypeequalsFilter specific DNS record types

Advanced Query Examples

Query PurposeFilter Configuration
Find all WordPress sites in Czech RepublicTechnology=WordPress, Country=CZ
Expired certificates on production domainsCertificate expiry < today, Port=443
All domains on a specific ASNASN=13335 (Cloudflare)
Domains with open admin panelsTechnology=phpMyAdmin OR Technology=Adminer
IP range reconnaissanceIP CIDR=192.168.0.0/16

Rate Limits and Access

TierQueries/DaySearch ResultsFeatures
Free10025 per queryBasic lookups, limited search
Pro10,0001,000 per queryFull API, bulk operations
Business50,00010,000 per queryPriority scanning, webhooks
EnterpriseCustomUnlimitedDedicated infrastructure

Authentication

API token required for all API access. Free tier available with registration. The token is passed via the Authorization: Bearer header.

API Endpoints

EndpointMethodDescription
/api/v4/data/domainPOSTDomain intelligence lookup
/api/v4/data/ipPOSTIP address intelligence
/api/v4/data/certPOSTCertificate details
/api/v4/data/dnsPOSTDNS record lookup
/api/v4/data/asPOSTAutonomous system lookup
/api/v4/searchPOSTAdvanced filtered search
/api/v4/subdomainsPOSTSubdomain enumeration
/api/v4/history/dnsPOSTHistorical DNS records

Use Cases

Attack Surface Discovery

  • Map complete domain infrastructure for Perimeter assessments
  • Discover shadow domains and forgotten subdomains through certificate and DNS correlation
  • Identify shared hosting relationships that may create cross-domain risk
  • Enumerate all SSL certificates to find previously unknown assets
  • Track infrastructure changes over time through DNS history analysis

Competitive Intelligence

  • Analyze competitor technology stacks to identify strategic platforms
  • Track infrastructure changes over time that may signal business decisions
  • Identify vendor relationships through DNS and certificates
  • Discover marketing technology adoption through JavaScript detection
  • Monitor CDN and hosting provider choices for performance benchmarking

Threat Investigation

  • Pivot from one IOC (indicator of compromise) to related infrastructure via shared hosting
  • Track domain registration patterns across threat actor campaigns
  • Identify bulletproof hosting through ASN analysis and hosting concentration
  • Map command-and-control infrastructure through certificate and DNS relationships
  • Discover domain fronting and fast-flux configurations

Compliance and Audit

  • Inventory all SSL certificates for governance and expiry management
  • Verify DNS configuration compliance (SPF, DKIM, DMARC)
  • Identify unauthorized subdomains and shadow IT deployments
  • Assess technology stack compliance with organizational standards

Platform Status Note

Spyse was acquired by CrowdStrike in 2021 and integrated into the CrowdStrike Falcon platform. While the standalone Spyse API is no longer available for new registrations, the Prismatic adapter maintains compatibility with cached data and redirects queries to alternative sources (Censys, Shodan, SecurityTrails) when live Spyse data is unavailable. The adapter implements a transparent fallback mechanism:

Data TypePrimary SourceFallback Source
Domain IntelligenceSpyse cacheCensys + SecurityTrails
SubdomainsSpyse cachecrt.sh + SecurityTrails
IP IntelligenceSpyse cacheShodan + IPinfo
CertificatesSpyse cachecrt.sh + Censys
DNS HistorySpyse cacheSecurityTrails
TechnologySpyse cacheBuiltWith

This fallback architecture ensures that Prismatic users receive consistent intelligence regardless of Spyse's availability status, demonstrating the platform's resilience through multi-source adapter design.


Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL