Feature · Enterprise
Programmatic access to everything DNS Spy monitors. Automate your domain portfolio, integrate with PSA tools, and build custom workflows — all through a clean RESTful API with Swagger docs.
No credit card required · 7-day trial · Full Enterprise access · Read the docs →
Your clients' domains are your responsibility. The API lets you manage them the way you manage everything else — programmatically, at scale, integrated into your stack.
Onboard client domains programmatically. When you sign a new MSP client, add all their domains via a single API call. No manual data entry, no missed domains, no delays.
Pull security scores and DNS change data into ConnectWise, Datto, HaloPSA, or any tool that speaks HTTP. Create automated tickets when security issues are detected.
Script domain onboarding for new clients. Pull security data into your reporting tools. Automate recurring audits. The API gives you the building blocks to create workflows tailored to your MSP operations.
Standard REST conventions. JSON everywhere. Bearer token auth. If you've used any modern API, you already know how this works. Explore the full API reference →
GET /api/v1/domains — Returns all monitored domains with their current status and security score.
curl
curl -s https://dnsspy.io/api/v1/domains \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
PHP
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://dnsspy.io/api/v1/domains');
$domains = $response->json('data');
foreach ($domains as $domain) {
echo "{$domain['name']} — Score: {$domain['security_score']}\n";
}
GET /api/v1/domains/{domain}/security — Returns the security score breakdown with individual check results.
curl
curl -s https://dnsspy.io/api/v1/domains/example.com/security \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
PHP
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://dnsspy.io/api/v1/domains/example.com/security');
$security = $response->json('data');
echo "Grade: {$security['grade']}\n";
echo "Score: {$security['score']}/100\n";
echo "Failed checks: " . count($security['failed_checks']) . "\n";
POST /api/v1/domains — Creates a new monitored domain with immediate DNS discovery.
curl
curl -s -X POST https://dnsspy.io/api/v1/domains \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "example.com", "group_id": 1}'
PHP
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://dnsspy.io/api/v1/domains', [
'name' => 'example.com',
'group_id' => 1,
]);
$domain = $response->json('data');
echo "Created: {$domain['name']} (ID: {$domain['id']})\n";
A production-ready API with the features developers expect and the reliability operations teams demand.
Full CRUD for domains, groups, records, security checks, WHOIS data, SSL certificates, Phishing Sentinel variants, and notification channels.
Generate scoped API tokens from your account settings. Revoke tokens instantly. No OAuth dance required — just a header and you're in.
Interactive documentation with request/response schemas, example payloads, and a built-in test console. Auto-generated from the codebase — always current.
Generous monthly quota with a 60 req/min burst rate. More than enough for most integrations. Need more? Custom plans are available.
Clear rate limit headers on every response. 429 responses with Retry-After when exceeded. No surprises, no silent throttling.
Every API call logged with timestamp, endpoint, parameters, and response status. Full visibility into your integration activity for debugging and compliance.
API access is included with the Enterprise plan. Start your free trial for immediate access to all 50+ endpoints with full documentation.
Essential DNS security for individuals and small businesses
10 domains included
Complete DNS security suite for businesses and MSPs
100 domains included · expandable
No credit card required · 7-day trial · Full Enterprise access
View full pricing details →Monitor 60+ record types across all authoritative nameservers.
40+ automated security checks with weighted scoring.
Look-alike domain detection and brand protection.
Track WHOIS changes and domain expiration dates.
Certificate discovery, expiration tracking, and TLS auditing.
Organize domains by client, environment, or business unit.
Email, Slack, Discord & PagerDuty alert channels.
Connect Claude & AI agents to your DNS monitoring.
The DNS Spy API uses bearer token authentication. You generate an API token from your account settings, then include it in the Authorization header of every request as "Bearer {your-token}". Tokens can be scoped to specific permissions and revoked at any time.
Enterprise plans include 10,000 API calls per month with a burst rate limit of 60 requests per minute. If you exceed the rate limit, the API returns a 429 status code with a Retry-After header. Need higher limits? Contact us to discuss custom plans.
Yes. The API includes full Swagger/OpenAPI documentation available at /docs/api. Every endpoint is documented with request parameters, response schemas, example payloads, and error codes. You can test endpoints directly from the documentation interface.
API access is included with the Enterprise plan and is available during the 7-day free trial with full access. Personal plan users can upgrade to Enterprise to access the API alongside other advanced features like Security Center, Phishing Sentinel, and notification integrations.
Absolutely. The API is designed for MSPs who need to integrate DNS monitoring into their existing workflow. Pull domain security scores into your PSA dashboards, create automated tickets when DNS changes are detected, or sync your client domain portfolio programmatically. The RESTful design works with any tool that can make HTTP requests.
Everything you see in the DNS Spy dashboard is available via the API: domains and their DNS records, security scores and individual check results, WHOIS data, SSL certificate information, Phishing Sentinel variants, domain groups, notification channels, and change history. You can also create and manage domains, groups, and notification settings programmatically.
Absolutely. Use the POST /api/v1/domains endpoint to add domains programmatically. When you sign a new MSP client, script the onboarding to add all their domains one by one — no manual data entry needed. Combine with domain groups to organize them automatically.
Every API call is logged with the timestamp, endpoint, parameters, response status, and the API token used. You can review your API activity log in the account settings to track usage, debug integrations, and maintain compliance records.
Stop copy-pasting from dashboards. Automate your DNS monitoring with an API that resolves all your integration needs.