Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
Domain Inspector icon

Domain Inspector

Bulk-inspect domains: DNS records, RDAP registrar and expiry, redirects, TLS dates, security headers, robots, sitemaps and tech detection.

30 runs on Apify $0.0015 per domain ($1.5 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust domains, domain, maxConcurrency (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0015 per domain = $1.5 per 1,000

You are charged forWhenPrice
DomainOne successfully inspected domain.$0.0015

Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-07-25, and they are what you are actually charged.

Inputs

FieldWhat it doesType
domainsDomains or public HTTP(S) URLs to inspect, one per line. URLs are reduced to their hostname. Duplicates are removed. Maximum 500.array
domainOptional single-domain shortcut. It is combined with the domains list.string
maxConcurrencyNumber of domains inspected at once. Keep this modest to avoid DNS and target-site rate limits.integer
requestTimeoutSecsTimeout for each DNS, RDAP, HTTP, or TLS operation. A hard per-domain deadline is also applied.integer
maxRedirectsMaximum redirects followed separately for HTTP, HTTPS, robots.txt, and sitemap.xml. Every redirect target is safety-checked.integer
checkRdapLook up public registration dates, status, registrar, nameservers, and handle where the registry provides RDAP data.boolean
checkWebInspect both HTTP and HTTPS status, redirect chains, final URL, title, metadata, security headers, and basic technology signals.boolean
checkTlsInspect the certificate on port 443, including validity dates, issuer, subject, SANs, fingerprint, and Node.js trust result.boolean
checkRobotsAndSitemapCheck standard robots.txt and sitemap.xml locations on the best working web origin.boolean

What you get

A structured dataset — each result includes fields like:

domainokhttpsStatushttpStatustitlednsAtlsExpiresAtregistrationExpiresAttechnologieswarningsCountinspectedAt

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos or users and export clean rows: stars, forks, language, topics, license, plus user bio, company, location and follower count.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tags. Get structured questions with score, answers, views, tags, author, and link as JSON or CSV.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata - version, license, repo, keywords, and npm download counts. Search by keyword or look up exact names. No API key needed.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv and get clean JSON: titles, abstracts, authors, categories, DOI, dates and PDF links. No API key. Sort by relevance or date; push to Notion.

2 use cases

OpenAlex Scholarly Works Scraper iconDeveloper & Research Tools

OpenAlex Scholarly Works Scraper

Search 250M+ OpenAlex papers by keyword. Get titles, authors, venue, year, citations, concepts, OA links and full abstracts as structured JSON. No API key.

2 use cases

Crossref Scholarly Works Scraper iconDeveloper & Research Tools

Crossref Scholarly Works Scraper

Search 150M+ scholarly works on Crossref and export DOI, authors, journal, citation count, and abstracts as JSON or CSV. Filter by type and date.

2 use cases

See all Developer & Research Tools →

Domain Inspector

Inspect up to 500 domains in one run and receive one consolidated row per domain. The actor combines DNS, RDAP, HTTP, HTTPS, TLS, security, discovery, and basic technology data without requiring an API key or a proxy.

What it checks

  • DNS: A, AAAA, MX, NS, TXT, and CAA records
  • Registration: RDAP handle, registrar, statuses, registration, update, and expiration dates
  • Web: HTTP and HTTPS status, redirect chain, final URL, title, description, canonical URL, language, Open Graph metadata, and response headers
  • TLS: subject, issuer, SANs, valid-from and valid-to dates, days until expiry, fingerprints, protocol, and trust result
  • Security headers: HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, COOP, and CORP
  • Discovery: standard robots.txt and sitemap.xml presence plus sitemap URLs declared in robots.txt
  • Technology signals: common CMS, frameworks, analytics, CDN, hosting, and server hints visible in public headers or HTML

The result is designed for domain due diligence, lead enrichment, portfolio monitoring, security triage, SEO checks, and dataset enrichment.

Why use this actor

  • One row per domain instead of separate DNS, certificate, and page datasets
  • Batch input with bounded concurrency and strict operation timeouts
  • Direct connections by default, so normal runs avoid residential proxy bandwidth
  • Private, loopback, link-local, reserved, test, and internal destinations are blocked
  • Redirect destinations are resolved and checked before every request
  • Partial failures keep all useful data and add precise warnings
  • Totally failed domains return uncharged diagnostics instead of failing the run
  • Empty input returns one clearly labeled, uncharged sample row for Store previews and automated checks

Input

FieldDefaultDescription
domainsemptyUp to 500 domains or public HTTP(S) URLs. URLs are reduced to hostnames and duplicates are removed.
domainemptyOptional single-domain shortcut, combined with domains.
maxConcurrency5Domains inspected at once, from 1 to 20.
requestTimeoutSecs8Timeout for each network operation, from 3 to 20 seconds.
maxRedirects5Redirects followed for each web request, from 0 to 10.
checkRdaptrueInclude public RDAP registration data.
checkWebtrueInclude HTTP and HTTPS checks, metadata, headers, and technology signals.
checkTlstrueInclude the port 443 certificate check.
checkRobotsAndSitemaptrueCheck standard discovery files on the best working origin.
proxyConfigurationoffOptional proxy for web requests only. DNS, RDAP, and TLS remain direct.

Example:

{
  "domains": [
    "example.com",
    "https://apify.com/store"
  ],
  "maxConcurrency": 5,
  "requestTimeoutSecs": 8,
  "checkRdap": true,
  "checkWeb": true,
  "checkTls": true,
  "checkRobotsAndSitemap": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}

Output

Successful records have ok: true and contain both flat summary fields for the dataset view and detailed nested objects:

{
  "ok": true,
  "domain": "example.com",
  "inspectedAt": "2026-07-25T15:00:00.000Z",
  "httpsStatus": 200,
  "httpStatus": 301,
  "title": "Example Domain",
  "dnsA": ["93.184.216.34"],
  "tlsExpiresAt": "2027-01-15T23:59:59.000Z",
  "registrationExpiresAt": "2026-08-13T04:00:00.000Z",
  "technologies": ["IANA"],
  "warningsCount": 0,
  "dns": {
    "a": ["93.184.216.34"],
    "aaaa": [],
    "mx": [],
    "ns": ["a.iana-servers.net", "b.iana-servers.net"],
    "txt": [],
    "caa": []
  },
  "rdap": {
    "available": true,
    "handle": "2336799_DOMAIN_COM-VRSN",
    "statuses": ["client delete prohibited"],
    "registeredAt": "1995-08-14T04:00:00.000Z",
    "expiresAt": "2026-08-13T04:00:00.000Z"
  },
  "http": {
    "status": 301,
    "finalUrl": "https://example.com/",
    "redirects": []
  },
  "https": {
    "status": 200,
    "finalUrl": "https://example.com/",
    "metadata": {
      "title": "Example Domain",
      "description": null,
      "canonicalUrl": null
    },
    "securityHeaders": {
      "present": [],
      "missing": ["strict-transport-security"]
    }
  },
  "tls": {
    "available": true,
    "authorized": true,
    "expiresAt": "2027-01-15T23:59:59.000Z",
    "daysUntilExpiry": 174
  },
  "robots": {
    "present": true,
    "status": 200
  },
  "sitemap": {
    "present": false,
    "status": 404
  },
  "warnings": []
}

Fields unavailable for a specific TLD, host, protocol, or certificate remain empty or null. A domain is still successful when at least one requested subsystem returns useful public data. Warnings explain every requested subsystem that could not be completed.

Invalid or totally failed domains return ok: false, an errorCode, and warnings. These rows are diagnostics and are not charged.

Pricing

$1.50 per 1,000 domains ($0.0015 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged only for domains that actually return data.

The actor calls the pay-per-event event domain exactly once after each successful result row is saved. Sample rows and diagnostic rows never call the event. There is no second charge event: DNS, RDAP, HTTP/HTTPS, TLS, security headers, robots, sitemap and technology detection are all folded into that one $0.0015, so turning every subsystem on costs the same as turning one on. A domain that fails outright is a diagnostic row and is free.

Comparable domain and WHOIS actors generally cost more per 1,000, and several reserve their best rate for a top volume tier that a new account never sees. The $1.50 here applies on every plan including the free one, from the very first run, with no tier to unlock.

Proxy guidance

No proxy is needed for normal DNS, RDAP, TLS, or public-site checks. Enable a proxy only when a target site blocks Apify datacenter traffic and the additional result value justifies the bandwidth cost.

When enabled, the proxy is used only for HTTP and HTTPS page, robots.txt, and sitemap.xml requests. The actor still resolves every target and redirect locally first and rejects non-public addresses. DNS, RDAP, and TLS never use the proxy.

Safety and limits

  • Inputs must normalize to a public domain with at least two labels.
  • IP literals and internal suffixes such as .local, .internal, .test, and .localhost are rejected.
  • DNS answers containing private, loopback, link-local, reserved, documentation, or other non-global IP addresses are blocked from web and TLS connections.
  • Direct web connections are pinned to a checked public DNS answer to reduce DNS-rebinding risk.
  • HTTP is restricted to port 80 and HTTPS to port 443, including redirects.
  • HTML reads are capped, redirect counts are bounded, and every operation has a timeout.
  • This actor reports public technical metadata. It does not scan ports, bypass authentication, or access private networks.

Trying it out

Run it with no input at all and it returns one clearly labelled, uncharged sample record so you can see the row shape before spending anything.