# Domain Intelligence API: WHOIS, DNS, SSL, Email & Tech Stack (`apizap.com/domain-intelligence-api`) Actor

One clean report per domain: registration and expiry dates (RDAP/WHOIS), registrar, DNS, MX provider, SPF/DMARC, SSL issuer and expiry, hosting network, redirects, security headers and 90+ technologies. $1 per 1,000 domains, no start fee. By Apizap.

- **URL**: https://apify.com/apizap.com/domain-intelligence-api.md
- **Developed by:** [ApiZap](https://apify.com/apizap.com) (community)
- **Categories:** Developer tools, Lead generation, SEO tools
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 domain reports

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Domain Intelligence API | $1/1K Domains | No Start Fee

**Everything about a domain in one clean JSON row.** Registration and expiry dates with registrar (RDAP, WHOIS fallback), DNS records, **email provider (Google Workspace, Microsoft 365…), SPF and DMARC policy**, SSL issuer and days to expiry, hosting network, redirect chain, page title, **security headers score** and **90+ detected technologies** (CMS, ecommerce, frameworks, analytics, ads pixels, chat, payments, CDN).

Built for lead qualification and enrichment, sales prospecting, domain investing, IT asset audits, security reviews, SEO agencies, and **AI agents / MCP clients** that need a fast domain profile.

### Why this Actor

- **$1 per 1,000 domains, no start fee.** All 7 checks are in the same price. Competitors charge $2.50-10/1k plus start fees, and usually cover only one area.
- **Registration that works:** official RDAP for 1,000+ TLDs with WHOIS fallback (e.g. `.so`, `.io`). Dates, registrar, status, nameservers, DNSSEC. **No registrant personal data.**
- **Email intelligence:** MX records and provider, SPF includes and `all` policy, DMARC policy (`none`/`quarantine`/`reject`).
- **SSL:** issuer, validity dates, **days until expiry**, protocol, www coverage.
- **Website:** reachability, HTTP→HTTPS redirect chain, response time, title, meta description, language, 6 security headers + score.
- **Tech stack:** 90+ fingerprints from headers, cookies, scripts and HTML (WordPress, Shopify, Webflow, Next.js, HubSpot, GA4, GTM, Meta Pixel, Intercom, Stripe, Cloudflare, Vercel…).
- **Hosting:** IP owner network from official IP RDAP (Cloudflare, AWS, Vercel, Fastly…).
- **Fast:** about 1-3 seconds per domain, 10 in parallel, no browser, no proxy.

### Use cases

- **Lead scoring and enrichment:** "uses Shopify + Klaviyo + Google Workspace", company age from registration date.
- **Sales prospecting:** find sites on a competitor's tech, or without DMARC/SSL (agency outreach).
- **Domain portfolio and IT audits:** expiring domains and certificates across hundreds of domains, scheduled weekly.
- **Security posture:** SPF/DMARC policy, HTTPS redirect, security headers for vendor reviews.
- **AI agents:** one call returns a complete, structured domain profile.

### Input

| Field | Description |
|---|---|
| `domains` | Domains, subdomains or URLs (URLs are reduced to the hostname). |
| `checks` | Any of `registration`, `dns`, `email`, `ssl`, `website`, `tech`, `hosting` (all by default). |
| `maxConcurrency` | Parallel domains (default 10). |
| `maxItems` | Hard cap on domains and cost. |

```json
{
    "domains": [
        "hubspot.com",
        "https://www.shopify.com/pricing",
        "apizap.com",
        "notion.so",
        "bbc.co.uk",
        "zerodha.com",
        "stripe.dev",
        "thisdomaindoesnotexist-apizap-test.com"
    ]
}
```

That example (8 domains, all checks) finished in **under 3 seconds on Apify (≈ $0.008)**.

### Output (one item per domain)

```json
{
  "domain": "hubspot.com",
  "registrableDomain": "hubspot.com",
  "email": {
    "mx": [
      {
        "host": "smtp.google.com",
        "priority": 1
      }
    ],
    "provider": "Google Workspace",
    "providers": [
      "Google Workspace"
    ],
    "spf": "v=spf1 redirect=_hspf.hubspot.com",
    "spfAll": null,
    "spfIncludes": [],
    "dmarc": "v=DMARC1;p=reject;pct=100;rua=mailto:bdlk5ayo@ag.dmarcian.com;ruf=mailto:bdlk5ayo@fr.dmarcian.com",
    "dmarcPolicy": "reject",
    "acceptsEmail": true
  },
  "dns": {
    "a": [
      "104.17.92.187",
      "104.17.91.187"
    ],
    "aaaa": [
      "2606:4700::6811:5bbb",
      "2606:4700::6811:5cbb"
    ],
    "cname": [],
    "ns": [
      "jerry.ns.cloudflare.com",
      "yolanda.ns.cloudflare.com"
    ],
    "caa": [],
    "soaEmailDomain": "cloudflare.com",
    "txt": [
      "MS=ms42818833",
      "e7f87c7be54c80bd"
    ],
    "verifications": [
      "microsoft",
      "apple-domain",
      "status-page-domain",
      "jamf-site",
      "canva-site",
      "openai-domain",
      "detectify",
      "jetbrains-domain",
      "facebook-domain",
      "onetrust-domain",
      "ecostruxure-it",
      "google-site",
      "zoom-domain",
      "notion-domain",
      "h1-domain",
      "hubspot-developer",
      "stripe",
      "adobe-idp-site",
      "atlassian-domain",
      "figma-domain"
    ]
  },
  "ssl": {
    "valid": true,
    "error": null,
    "issuer": "Google Trust Services",
    "subject": "hubspot.com",
    "validFrom": "2026-11-09T23:08:21.000Z",
    "validTo": "2027-02-08T00:07:29.000Z",
    "daysUntilExpiry": 85,
    "sanCount": 2,
    "coversWww": true,
    "protocol": "TLSv1.3",
    "alpn": "h2"
  },
  "registration": {
    "registered": true,
    "source": "rdap",
    "createdAt": "2005-02-06T20:02:28Z",
    "expiresAt": "2027-02-06T20:02:28Z",
    "updatedAt": "2025-01-05T11:14:10Z",
    "registrar": "MarkMonitor Inc.",
    "registrarIanaId": "292",
    "status": [
      "client delete prohibited",
      "client transfer prohibited",
      "client update prohibited"
    ],
    "nameservers": [
      "jerry.ns.cloudflare.com",
      "yolanda.ns.cloudflare.com"
    ],
    "dnssec": true
  },
  "website": {
    "reachable": true,
    "finalUrl": "https://www.hubspot.com/",
    "statusCode": 200,
    "httpsRedirect": true,
    "responseTimeMs": 926,
    "redirectChain": [
      {
        "url": "http://hubspot.com/",
        "status": 301
      },
      {
        "url": "https://hubspot.com/",
        "status": 301
      },
      {
        "url": "https://www.hubspot.com/",
        "status": 200
      }
    ],
    "server": "cloudflare",
    "poweredBy": null,
    "title": "HubSpot | Software &amp; Tools for your Business - Homepage",
    "metaDescription": "HubSpot",
    "language": "en",
    "securityHeaders": {
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "content-security-policy": "script-src 'unsafe-inline' 'unsafe-eval' 'self' 1003891.track.convertexperiments.com app.hubspot.com cdn-3.convertexperiments.com cdn-4.convertexperiments.com *.metrics.convertexperiments.com *.signals.convertexperiments.com logs.convertexperiments.com *.convertexperiments.com cdn.pdst.fm connect.facebook.net js.hs-analytics.net js.hs-banner.com js.hsforms.net js.hsleadflows.net js.hubspotfeedback.com js.usemessages.com organizer.bizzabo.com play.vidyard.com script.hotjar.com snap.licdn.com static.hotjar.com static.hsappstatic.net www.google-analytics.com www.googletagmanager.com www.recaptcha.net code.highcharts.com www.youtube.com js.hubspot.com www.dropbox.com widget.altrulabs.com www.google.com maps.googleapis.com wt-assets.hubteam.com cdn2.hubspot.net www.redditstatic.com cdn.veritonic.com gosniply.com d.impactradius-event.com js.hubspot.com 50339659.hs-sites.com analytics.tiktok.com api.s10h.io sgtm-amer.hubspot.com js.hsadspixel.net cdn.intellimize.co static.cloudflareinsights.com ob.greencolumnart.com tags.pw.adn.cloud cdn.jsdelivr.net js.storylane.io 53.fs1.hubspotusercontent-na1.net www.gstatic.com 'strict-dynamic' 'nonce-CvHuqEqNgBohvPJBsxwTkg=='; report-uri https://send.hsbrowserreports.com/csp/report; upgrade-insecure-requests",
      "x-frame-options": "DENY",
      "x-content-type-options": "nosniff",
      "referrer-policy": "no-referrer-when-downgrade",
      "permissions-policy": null
    },
    "securityHeadersScore": 83
  },
  "technologies": [
    {
      "name": "HubSpot CMS",
      "category": "CMS"
    },
    {
      "name": "Cloudflare",
      "category": "CDN"
    },
    {
      "name": "Google Tag Manager",
      "category": "Tag manager"
    },
    {
      "name": "HubSpot",
      "category": "Marketing automation"
    }
  ],
  "hosting": {
    "ip": "104.17.92.187",
    "network": "CLOUDFLARENET",
    "organization": "Cloudflare, Inc.",
    "country": null,
    "cidr": "104.16.0.0/12"
  },
  "checkedAt": "2026-11-14T08:55:29.336Z"
}
```

### Pricing (pay per result)

- **$1.00 per 1,000 domains** (event `domain`), every check included.
- **No start fee.** Invalid inputs are skipped and not charged.

### FAQ

**Does it return WHOIS contact details?** No, on purpose. Only registrar, dates, status and nameservers. Registrant names, emails and phones are personal data and mostly redacted anyway.

**Why is registration empty for some ccTLDs?** A few registries (e.g. `.de`) publish no dates over RDAP or WHOIS. The row then has `registered: null` with a note.

**How accurate is the tech detection?** It reads the homepage's headers, cookies, scripts and HTML, without running JavaScript. Tools loaded only after interaction or on other pages may be missed.

***

**Made by [Apizap](https://apizap.com)**: small, reliable, pay-per-result data tools for developers and AI agents. See all our tools at [apizap.com](https://apizap.com) or email support@apizap.com for custom data feeds.

# Actor input Schema

## `domains` (type: `array`):

Domains (`example.com`), subdomains or full URLs, one per line. URLs are reduced to their hostname.

## `checks` (type: `array`):

Sections to include. All are included in the same price; turn some off for faster runs.

## `maxConcurrency` (type: `integer`):

Domains processed in parallel.

## `maxItems` (type: `integer`):

Hard cap on domains processed (and cost). 0 = no cap.

## Actor input object example

```json
{
  "domains": [
    "hubspot.com",
    "shopify.com",
    "bbc.co.uk"
  ],
  "checks": [
    "registration",
    "dns",
    "email",
    "ssl",
    "website",
    "tech",
    "hosting"
  ],
  "maxConcurrency": 10,
  "maxItems": 1000
}
```

# Actor output Schema

## `results` (type: `string`):

One report per domain, including registration, DNS, email, SSL, website and technologies.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "domains": [
        "hubspot.com",
        "shopify.com",
        "bbc.co.uk"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("apizap.com/domain-intelligence-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "domains": [
        "hubspot.com",
        "shopify.com",
        "bbc.co.uk",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("apizap.com/domain-intelligence-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "domains": [
    "hubspot.com",
    "shopify.com",
    "bbc.co.uk"
  ]
}' |
apify call apizap.com/domain-intelligence-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,apizap.com/domain-intelligence-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vZcNXSIBsJO2dphRF/builds/BxGYTe3EL1VzDPQkv/openapi.json
