Incident Response
Rapidly identify threat actor infrastructure and attribution during active incidents. Cut investigation time from hours to minutes.
Stop spending hours on manual domain research. Our enterprise-grade APIs deliver comprehensive domain intelligence in milliseconds, empowering security teams, researchers, and developers to make faster, more informed decisions with data that matters.
Our APIs are designed by security researchers, for security researchers. Get production-ready code examples that integrate seamlessly into your existing security stack, SIEM platforms, and investigation workflows.
Explore our APIs with real code examples in your favorite programming language.
Request Early Access// WHOIS lookup
const response = await fetch('https://api.domine.io/whois', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ domain: 'example.com' })
});
const whoisData = await response.json();
console.log(whoisData.registrant.organization);
// GeoIP lookup
const geoResponse = await fetch('https://api.domine.io/geoip', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ ip: '8.8.8.8' })
});
const geoData = await geoResponse.json();
console.log(`${geoData.city}, ${geoData.country}`);
# WHOIS lookup
curl -X POST https://api.domine.io/whois \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
# DNS lookup
curl -X POST https://api.domine.io/dns \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com", "record_type": "A"}'
# SSL certificate check
curl -X POST https://api.domine.io/ssl \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
import requests
# WHOIS lookup
response = requests.post('https://api.domine.io/whois',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={'domain': 'example.com'}
)
whois_data = response.json()
print(whois_data['registrant']['organization'])
# WordPress detection
wp_response = requests.post('https://api.domine.io/wordpress',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={'domain': 'example.com'}
)
wp_data = wp_response.json()
if wp_data['is_wordpress']:
print(f"WordPress version: {wp_data['version']}")
<?php
// WHOIS lookup
$data = json_encode(['domain' => 'example.com']);
$options = [
'http' => [
'header' => "Authorization: Bearer YOUR_API_KEY\r\n" .
"Content-Type: application/json\r\n",
'method' => 'POST',
'content' => $data
]
];
$context = stream_context_create($options);
$response = file_get_contents('https://api.domine.io/whois', false, $context);
$whoisData = json_decode($response, true);
echo $whoisData['registrant']['organization'];
?>
const axios = require('axios');
// WHOIS lookup with Node.js
async function lookupWhois(domain) {
try {
const response = await axios.post('https://api.domine.io/whois', {
domain: domain
}, {
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
return response.data;
} catch (error) {
console.error('WHOIS lookup failed:', error);
}
}
// Usage
lookupWhois('example.com').then(data => {
console.log('Registrant:', data.registrant.organization);
});
require 'net/http'
require 'json'
# WHOIS lookup with Ruby
def whois_lookup(domain)
uri = URI('https://api.domine.io/whois')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = { domain: domain }.to_json
response = http.request(request)
JSON.parse(response.body)
end
# Usage
data = whois_lookup('example.com')
puts "Registrant: #{data['registrant']['organization']}"
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
type WhoisRequest struct {
Domain string `json:"domain"`
}
func whoisLookup(domain string) error {
reqBody := WhoisRequest{Domain: domain}
jsonData, _ := json.Marshal(reqBody)
req, _ := http.NewRequest("POST", "https://api.domine.io/whois",
bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println("Registrant:", result["registrant"])
return nil
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class DomineApiClient
{
private readonly HttpClient _httpClient;
public DomineApiClient(string apiKey)
{
_httpClient = new HttpClient();
_httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
}
public async Task WhoisLookup(string domain)
{
var requestBody = new { domain = domain };
var json = JsonConvert.SerializeObject(requestBody);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await _httpClient.PostAsync("https://api.domine.io/whois", content);
var responseString = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject(responseString);
}
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class DomineApiClient {
private final HttpClient httpClient;
private final String apiKey;
public DomineApiClient(String apiKey) {
this.httpClient = HttpClient.newHttpClient();
this.apiKey = apiKey;
}
public String whoisLookup(String domain) throws Exception {
String jsonBody = String.format("{\"domain\":\"%s\"}", domain);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.domine.io/whois"))
.header("Authorization", "Bearer " + apiKey)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
HttpResponse response = httpClient.send(request,
HttpResponse.BodyHandlers.ofString());
return response.body();
}
}
use reqwest::Client;
use serde_json::json;
use std::collections::HashMap;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new();
let response = client
.post("https://api.domine.io/whois")
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.json(&json!({
"domain": "example.com"
}))
.send()
.await?;
let whois_data: HashMap = response.json().await?;
if let Some(registrant) = whois_data.get("registrant") {
println!("Registrant: {:?}", registrant);
}
Ok(())
}
When seconds matter in incident response, our sub-200ms response times mean you get answers, not delays. Our global infrastructure ensures consistent performance whether you're investigating threats from London or Los Angeles.
Built for organizations that can't compromise on security. Our ISO 27001 certification and SOC 2 compliance mean you can confidently integrate our APIs into your most sensitive security workflows without compromising your risk posture.
Secure API key management with token-based authentication
Industry-standard OAuth 2.0 for secure third-party integrations
Automatic token rotation and expiration for enhanced security
Intelligent rate limiting to prevent abuse and ensure fair usage
// Secure API request with proper authentication
const response = await fetch('https://api.domine.io/whois', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_SECURE_API_KEY',
'Content-Type': 'application/json',
'X-API-Version': '2024-01'
},
body: JSON.stringify({
domain: 'example.com',
include_history: true
})
});
// Handle response securely
if (response.ok) {
const data = await response.json();
console.log('Secure data received:', data);
} else {
console.error('Authentication failed:', response.status);
}
All data in transit protected with latest TLS 1.3 encryption
Data at rest encrypted using military-grade AES-256 encryption
Complete encryption from client to server and back
Secure key rotation and management with HSM integration
Information Security Management System certified to international standards
Quality Management System ensuring consistent service delivery
Security, availability, and confidentiality controls audited annually
Full compliance with European data protection regulations
Identify domain ownership and track registration changes to accelerate threat investigations and due diligence processes. Complete WHOIS data with historical tracking
Uncover hidden infrastructure and hosting relationships to understand attack vectors and business connections. Global DNS resolution with historical data
Reverse DNS lookups and hostname resolution for IP addresses.
Identify website ownership and contact information discovery.
Detect certificate anomalies, track SSL changes, and identify potential security risks before they impact your organization. Real-time certificate monitoring
Security scanning and vulnerability assessment for WordPress sites.
SPF, DKIM, DMARC validation and email security analysis.
Spam and mail reputation scoring with threat intelligence.
Rapidly identify geographic origins and ISP relationships to accelerate threat attribution and incident response decisions. Comprehensive location and network intelligence
Bypass CDN and proxy services to reveal true server IPs.
Discover Microsoft 365 tenant information and federation status.
Identify WordPress installations, themes, and plugins.
Website performance, accessibility, and SEO scoring.
Company registration data and business intelligence.
Comprehensive data enhancement and business intelligence.
Our APIs are battle-tested in the most demanding security environments, from Fortune 500 SOCs to government cyber defense teams.
Rapidly identify threat actor infrastructure and attribution during active incidents. Cut investigation time from hours to minutes.
Enrich IOCs with comprehensive domain and infrastructure intelligence to build actionable threat intelligence feeds.
Discover and map attack surfaces across your digital footprint to identify security gaps before attackers do.
Replace hours of manual research with milliseconds of automated intelligence. Our early access pricing delivers enterprise-grade capabilities at startup-friendly rates.
Join our exclusive early access program and be among the first to experience our comprehensive domain intelligence APIs.