@whisper-security/whisper-api-sdk
v0.2.3
Published
# Whisper Security Threat Intelligence API The Whisper Security API provides comprehensive threat intelligence, geolocation data, and security operations capabilities for enterprise security teams and developers. ## Key Capabilities - **Indicator Enric
Downloads
58
Keywords
Readme
Whisper API SDK - TypeScript
Official TypeScript SDK for Whisper API - Comprehensive threat intelligence and security operations for domains, IPs, and web infrastructure.
Website | Dashboard | Documentation | API Reference | API Playground | Contact Us
Quick Start
Installation
npm install @whisper-security/whisper-api-sdk
# or
yarn add @whisper-security/whisper-api-sdkGet Your API Key
Sign up at dash.whisper.security to get your API key.
First Request
import { Configuration, EnrichmentApi } from '@whisper-security/whisper-api-sdk';
const config = new Configuration({
basePath: 'https://api.whisper.security',
accessToken: 'YOUR_API_KEY'
});
const api = new EnrichmentApi(config);
// Enrich an IP address
const response = await api.getIndicator('ip', '8.8.8.8');
console.log(response.data);Key Features
- Fully Typed - Complete TypeScript definitions for IDE autocomplete
- Promise-Based - Modern async/await support
- Comprehensive - IP, Domain, DNS, WHOIS, Routing, Geolocation, Screenshots, AI/ML
- Fast - Sub-500ms typical response times with strategic caching
- Universal - Works in Node.js and browsers
API Overview
Enrichment API
Enrich IPs and domains with comprehensive threat intelligence.
import { EnrichmentApi } from '@whisper-security/whisper-api-sdk';
const api = new EnrichmentApi(config);
// Basic enrichment
const ipData = await api.getIndicator('ip', '8.8.8.8');
// With additional data modules
const domainData = await api.getIndicator('domain', 'example.com', 'whois,dns_details,routing,rpki');
// Get relationship graph
const graph = await api.getIndicatorGraph('ip', '8.8.8.8');
// Historical data
const history = await api.getIndicatorHistory('domain', 'example.com', 10);
// Predictive risk score (AI-powered)
const risk = await api.getPredictiveRisk('ip', '8.8.8.8');
// Subdomain discovery
const subdomains = await api.getSubdomains('example.com', 100);
// Bulk enrichment (async job)
const job = await api.bulkEnrichment(bulkRequest);
// Search by WHOIS fields
const searchJob = await api.searchIndicators(searchRequest);
// Similar/typosquat domain generation
const similarJob = await api.similarDomains(similarRequest);Location API
Geolocation lookups and network analysis.
import { LocationApi } from '@whisper-security/whisper-api-sdk';
const api = new LocationApi(config);
// Single IP geolocation
const location = await api.getIpLocation('8.8.8.8');
// Bulk geolocation (up to 1000 IPs)
const bulkResult = await api.getBulkIpLocation(bulkRequest);
// Network/CIDR lookup
const network = await api.getNetworkLocation('8.8.8.0/24');
// Search by attributes
const results = await api.searchLocation('city', 'San Francisco', 100);
// Location statistics
const stats = await api.getLocationStats();Screenshots API
Capture and schedule website screenshots.
import { ScreenshotsApi } from '@whisper-security/whisper-api-sdk';
const api = new ScreenshotsApi(config);
// Screenshot capture (returns job ID)
const job = await api.createScreenshot(screenshotRequest);
// Schedule recurring screenshots
const schedule = await api.scheduleScreenshot(scheduleRequest);
// Get screenshot history
const history = await api.getScreenshotHistory('https://example.com');
// List scheduled screenshots
const schedules = await api.listScreenshotSchedules();AI Intelligence API
AI-powered threat investigation and analysis.
import { AiIntelligenceApi } from '@whisper-security/whisper-api-sdk';
const api = new AiIntelligenceApi(config);
// Industry security benchmark (synchronous)
const benchmark = await api.getIndustryBenchmark('financial_services', 'enterprise');
// AI-powered investigation (async job)
const investigation = await api.aiInvestigate(investigateRequest);
// Find similar threat cases
const cases = await api.findSimilarCases(similarCasesRequest);
// Infrastructure pivoting
const pivot = await api.aiPivot(pivotRequest);
// Threat actor attribution
const attribution = await api.aiAttribute(attributeRequest);
// Global indicator correlation
const correlation = await api.aiCorrelate(correlateRequest);Infrastructure Scanning API
Discover and analyze infrastructure.
import { InfrastructureScanningApi } from '@whisper-security/whisper-api-sdk';
const api = new InfrastructureScanningApi(config);
// Infrastructure scan (SSL, technologies, subdomains, ports)
const scanJob = await api.createInfrastructureScan(scanRequest);
// Infrastructure relationship mapping
const mapJob = await api.createInfrastructureMap(mapRequest);Monitoring API
Uptime and availability monitoring.
import { MonitoringApi } from '@whisper-security/whisper-api-sdk';
const api = new MonitoringApi(config);
// Create monitoring check
const check = await api.createMonitorCheck(monitorRequest);
// List monitoring checks
const checks = await api.listMonitorChecks();
// Get dashboard summary
const dashboard = await api.getMonitorDashboard();
// Configure alerts
await api.createMonitoringAlert(checkId, alertRequest);Change Tracking API
Monitor indicators for changes.
import { ChangeTrackingApi } from '@whisper-security/whisper-api-sdk';
const api = new ChangeTrackingApi(config);
// Start tracking an indicator
await api.startChangeTracking('domain', 'example.com', trackingRequest);
// Get detected changes
const changes = await api.getChanges('domain', 'example.com');
// List tracked indicators
const tracked = await api.listTrackedIndicators();
// Trigger immediate check
await api.triggerCheck('domain', 'example.com');Graph Database API
Direct access to the threat intelligence graph.
import { GraphDatabaseApi } from '@whisper-security/whisper-api-sdk';
const api = new GraphDatabaseApi(config);
// Execute Cypher query
const result = await api.executeCypherQuery(cypherRequest);
// Execute GraphQL query
const graphqlResult = await api.executeGraphQL(graphqlRequest);
// Get graph schema
const schema = await api.getSchema();Jobs API
Manage async operations.
import { JobsApi } from '@whisper-security/whisper-api-sdk';
const api = new JobsApi(config);
// Get job status and results
const job = await api.getJob(jobId);
// List your jobs
const jobs = await api.listJobs();Authentication
All endpoints require Bearer token authentication:
const config = new Configuration({
basePath: 'https://api.whisper.security',
accessToken: process.env.WHISPER_API_KEY
});Rate Limits
| Category | Limit |
|----------|-------|
| Indicators (/v1/indicators/*) | 100 req/sec |
| Location (/v1/location/*) | 100 req/sec |
| Jobs (/v1/ops/jobs/*) | 100 req/sec |
| Bulk Operations | 10 req/sec |
| Screenshots | 10 req/sec |
| Scans | 10 req/sec |
| Monitoring | 10 req/sec |
| Change Tracking | 10 req/sec |
| AI Operations | 5 req/min |
Rate limits return HTTP 429 with a Retry-After header.
Documentation
- API Documentation: docs.whisper.security
- API Reference: developer.whisper.security
- TypeScript Docs: See the
docs/directory
Other SDKs
- Python: github.com/whisper-sec/sdk-python
- Java: github.com/whisper-sec/sdk-java
- C#/.NET: github.com/whisper-sec/sdk-csharp
- Rust: github.com/whisper-sec/sdk-rust
Support
License
MIT License - See LICENSE file for details.
Built with TypeScript by Whisper Security
