Whisper Python SDK

This guide explains how to use the official Whisper API Python SDK to integrate internet infrastructure intelligence into your applications.

The Whisper API offers extensive intelligence and monitoring for domains, IPs, and web infrastructure. This SDK provides a convenient way to access features like WHOIS data, DNS analysis, and network intelligence directly from your Python code.

Requirements

To use this SDK, you'll need:

  • Python 3.9+

Installation

You can install the package using pip or Setuptools.

pip

If the package is hosted on a repository like GitHub, you can install it directly:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

Setuptools

Alternatively, you can install the package using Setuptools:

python setup.py install --user

After installation, import the package into your project:

import noctis_frontgraph_sdk

Getting Started: Your First API Call

After installation, you can begin making API calls. The API uses Bearer Token authentication for all endpoints.

The following example demonstrates how to configure the client and find subdomains for example.com.

import noctis_frontgraph_sdk
from noctis_frontgraph_sdk.rest import ApiException
from pprint import pprint
import os

# 1. Define the configuration, including your access token.
#    All endpoints require Bearer authentication.
configuration = noctis_frontgraph_sdk.Configuration(
    access_token = os.environ["BEARER_TOKEN"] # Recommended: use an environment variable
)

# 2. Enter a context with an instance of the API client.
#    The host defaults to https://api.whisper.security.
with noctis_frontgraph_sdk.ApiClient(configuration) as api_client:
    # 3. Create an instance of the specific API class you want to use.
    api_instance = noctis_frontgraph_sdk.DomainManagementApi(api_client)
    
    # 4. Set the parameters for your API call.
    base_domain = 'example.com' # The base domain to search.
    limit = 100 # Optional: maximum number of results.
    level = 'ALL' # Optional: level of subdomains to find.

    # 5. Make the API call and handle potential exceptions.
    try:
        # Call the find_subdomains method.
        api_response = api_instance.find_subdomains(base_domain, limit=limit, level=level)
        print("The response of DomainManagementApi->find_subdomains:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling DomainManagementApi->find_subdomains: %s\n" % e)

Available API Endpoints

The SDK organizes API calls into classes based on their function. All URIs are relative to https://api.whisper.security.

  • DomainManagementApi
    • find_subdomains: Finds subdomains for a specified base domain.
  • IntelligenceServicesApi
    • get_domain_intelligence: Gets comprehensive intelligence for a domain.
    • get_ip_intelligence: Retrieves detailed intelligence for an IP address.