Domain Intelligence API

Real-time domain risk & deliverability data for KYC, Email Analytics, Email Verification, and Bulk Cleaning.

Quick start
curl -H "X-API-Key: YOUR_API_KEY"
https://api.datazag.com/domain-intel/
example.com
import requests

url = "https://api.datazag.com/domain-intel/example.com"
headers = {"X-API-Key": "YOUR_API_KEY"}
r = requests.get(url, headers=headers, timeout=30)
print(r.json())
import fetch from 'node-fetch'

const url = 'https://api.datazag.com/domain-intel/example.com'
const r = await fetch(url,
	{ headers: { 'X-API-Key': 'YOUR_API_KEY' }})
console.log(await r.json())
Requires API key. See below for authentication.

OVERVIEW

Answers, Not just data

Query a continuously refreshed BigQuery dataset of 280M+ domains with DNS, risk, and deliverability signals.
  • Real-time domain scoring (0–100) with phishing, disposable, parked & typo signals.
  • Deliverability checks: SPF / DMARC presence, mailbox provider categorization.
  • Designed for KYC, security ops, growth, and data engineering workflows.
Tip

Use exclude to trim large payloads in latency-sensitive paths; use risk_threshold to short-circuit processing on low-risk domains.

SECURITY

Authentication

All requests require a valid API key passed via header.
Include your key in the HTTP header:
X-API-key
: YOUR _API KEY
  • Rotate keys regularly.
  • Keep keys out of client-side code; proxy from your backend.
  • Different environments → different keys.

REFERENCE

Endpoint: GET /domain-intel/{domain}

Retrieve domain intelligence as JSON.
Request
PARAMETER
TYPE
REQUIRED
DESCRIPTION
domain
string
Yes
Domain to query, e.g. example.com
profile
string
No
Curated fields selections. Single value param - either "kyc", "deliverability" or "validaton" for each use case
fields
string
No
Comma-separated fields to include in the  response
exclude
string
No
Comma-separated fields to exclude the  response

Path param domain accepts example.com-style hostnames.

Example

curl -H "X-API-Key: YOUR_API_KEY"
https://api.datazag.com/domain-intel/example.com
import requests

url = "https://api.datazag.com/domain-intel/example.com"
headers = {"X-API-Key": "YOUR_API_KEY"}
r = requests.get(url, headers=headers, timeout=30)
print(r.json())
import fetch from 'node-fetch'

const url = 'https://api.datazag.com/domain-intel/example.com'
const r = await fetch(url,
	{ headers: { 'X-API-Key': 'YOUR_API_KEY' }})
console.log(await r.json())

Field Glossary

FIELD
TYPE
PROFILE
DESCRIPTION
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com
domain
STRING
kyc, deliverability
e.g. example.com

OUTPUT

Response samples

Shape your logic around risk, flags, and deliverability signals
curl -H "X-API-Key: YOUR_API_KEY"
https://api.datazag.com/domain-intel/example.com
Response status: 200 OK
{
  "domain": "example.com",
  "ns": "ns1.provider.net",
  "soa": "hostmaster@example.com",
  "status": "active",
  "suffix": "com",
  "ip": "192.0.2.1",
  "country_dm": "US",
  "risk_score": 20,
  "flags": {
    "is_mailbox_provider": false,
    "is_phishing": false,
    "is_mailable": true,
    "is_disposable": false,
    "has_dmarc": true,
    "has_spf": true
  }
}

Recommended decision logic

  • Block if flags.is_phishing or flags.is_disposable is true.
  • Warn if risk_score ≥ 70; require extra verification.
  • Prefer sending to domains with flags.has_spf & flags.has_dmarc.

GUIDES

Use cases

Implementation patterns for four common workloads.
KYC/AML
Customer domain checks
  • Reject disposable or phishing domains.
  • Require manual review if risk_score ≥ 60.
  • Cross-reference mailbox provider categories.
EMAIL DELIVERABILITY
Customer domain checks
  • Reject disposable or phishing domains.
  • Require manual review if risk_score ≥ 60.
  • Cross-reference mailbox provider categories.
EMAIL VERIFICATION
Customer domain checks
  • Reject disposable or phishing domains.
  • Require manual review if risk_score ≥ 60.
  • Cross-reference mailbox provider categories.
BULK DATA CLEANING
Customer domain checks
  • Reject disposable or phishing domains.
  • Require manual review if risk_score ≥ 60.
  • Cross-reference mailbox provider categories.

OPERATIONS

Rate limits & performance

10 RPS
Default burst allowance
99.9%
Target monthly uptime
Daily
Dataset refresh cadence
For higher throughput or dedicated capacity, contact sales for enterprise plans.

RELIABILITY

Error handling

HTTP
MESSAGE
DESCRIPTION
400
Bad Request
Malformed domain or parameters
401
Unauthorized
Invalid or missing API key
404
Domain Not Found
Domain not found
429
Too Many Requests
Rate limit exceeded
500
Internal Server Error
Unexpected server error
Implement retries with exponential backoff for 429, and raise to ops on persistent 5xx.

HELP

FAQ

How fresh is the data?
The underlying BigQuery tables are refreshed daily, with critical risk lists updated more frequently.
Do you support subdomains?
Datazag currently support www and mail  subdomains. Additional subdomain handling is on the roadmap; contact us if you have specific needs.
Is batch processing available?
Yes via our bulk upload endpoint and cloud data shares (AWS, Google Cloud Microsoft Azure, Snowflake, Databricks etc.).

LIFECYCLE

Changelog

2025-08-15
Revised profile filters per customer feedback
2025-08-15
Revised profile filters per customer feedback
Ready to build?
Grab an API key and explore interactive docs.