Bulk Domain Strength Checker avatar

Bulk Domain Strength Checker

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Bulk Domain Strength Checker

Bulk Domain Strength Checker

Score and qualify domains in bulk using transparent registration age, DNS, website availability, HTTPS certificate health, indexability, and homepage SEO signals. No API keys or paid data providers required.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

SearchShark Tools

SearchShark Tools

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 hours ago

Last modified

Categories

Share

🌐 Bulk Domain Strength Checker

Bulk Domain Strength Checker analyzes domains in bulk using transparent, factual signals from registration data, DNS, website availability, HTTPS/TLS, technical indexability, and homepage SEO setup.

Generate a SearchShark Domain Strength Score from 0 to 100 for every domain without requiring customer API keys or paid authority-data providers.

  • 🎯 Qualify domain lists: quickly identify stronger and weaker domains
  • 🔎 Research domains: inspect registration, DNS, website, and SEO signals
  • 📈 Screen prospects: prioritize domains for SEO outreach or lead qualification
  • 🧹 Avoid duplicate work: normalized duplicate domains are analyzed only once
  • 🛡 Handle missing data safely: unavailable signals reduce score coverage instead of automatically scoring zero
  • Process domains in bulk: analyze hundreds or thousands of inputs in one Actor run

📊 What does the Domain Strength Score measure?

The SearchShark Domain Strength Score estimates how established, active, healthy, and technically credible a domain appears based on observable signals.

It evaluates:

🕒 Domain maturity🌐 Website availability
🧭 DNS health🔒 HTTPS / TLS health
🤖 Technical indexability📝 Homepage SEO setup

This is not a backlink-authority metric.

The score does not attempt to reproduce:

Moz Domain Authority
Ahrefs Domain Rating
Majestic Trust Flow
Majestic Citation Flow

It does not use a proprietary backlink database.


🚀 Features

Bulk Domain Strength Checker is designed for bulk domain qualification and technical research.

  • Bulk domain analysis: process large lists in one Actor run
  • URL normalization: convert URLs and subdomains to the ICANN registrable domain
  • Duplicate-safe processing: analyze each normalized domain only once
  • Authoritative RDAP registration data
  • Native DNS resolution: A, AAAA, MX, and NS records
  • Homepage availability checks
  • Redirect tracking
  • Response-time observation
  • HTTPS detection
  • TLS certificate inspection
  • robots.txt analysis
  • Meta robots detection
  • X-Robots-Tag detection
  • Technical indexability evaluation
  • Sitemap discovery
  • Homepage title extraction
  • Meta description extraction
  • Canonical URL extraction
  • Transparent component scoring
  • Score coverage protection
  • Partial failure handling
  • One Dataset row per original input
  • No paid domain-authority API required

⬇️ Input

You can run the Actor from the Apify Console or programmatically through the Apify API.

🌐 Domains or URLs

Provide one or more domains or URLs.

Example:

{
"domains": [
"example.com",
"openai.com",
"https://www.mozilla.org/firefox/"
]
}

You can provide:

example.com
www.example.com
support.mozilla.org
https://www.example.com/about
https://example.co.uk/page?id=10

The Actor normalizes every valid input to its ICANN registrable domain.

For example:

https://www.example.com/article?source=test
→ example.com
support.mozilla.org
→ mozilla.org

The exact submitted value is preserved in:

originalInput

🧹 Duplicate domain handling

Inputs that normalize to the same registrable domain are analyzed only once.

For example:

example.com
www.example.com
https://example.com/about

all normalize to:

example.com

The Actor performs one actual domain analysis and reuses that result for all matching inputs.

You still receive:

One Dataset row per original input.

This reduces unnecessary:

DNS requests
HTTP requests
TLS connections
RDAP lookups
robots.txt requests
sitemap checks

🧮 Domain Strength Score

The Domain Strength Score has a maximum of 100 points.

CategoryMaximum points
🕒 Domain maturity15
🌐 Website availability25
🧭 DNS health15
🔒 HTTPS / certificate health15
🤖 Technical indexability20
📝 Homepage SEO setup10
Total100

🕒 Domain maturity — 15 points

Domain maturity uses the registration creation date reported by authoritative RDAP.

Current registration agePoints
Less than 30 days1
30–179 days3
180–364 days5
1–2 years8
2–5 years11
5–10 years13
10+ years15

Domain age is an establishment signal, not proof of authority.

An older registration does not prove:

Backlink quality
Continuous ownership
Historical reputation
Search rankings
Content quality

🌐 Website availability — 25 points

Availability evaluates homepage reachability, redirect behavior, and observed response time.

HTTP reachability — 15 points

ResultPoints
Final 2xx response15
401 / 4038
Redirect loop or redirect limit4
404 / 4102
5xx or connection failure0

Redirect behavior — 4 points

Redirect countPoints
0–2 redirects4
3–4 redirects2
5+ redirects or loop0

Response time — 6 points

Observed response timePoints
≤ 1,000 ms6
≤ 2,000 ms4
≤ 4,000 ms2
> 4,000 ms0

Response time is a point-in-time observation from the Actor's Apify execution region.

It is not a Core Web Vitals measurement and should not be treated as a permanent website-performance score.


🧭 DNS health — 15 points

DNS health evaluates whether the domain resolves and whether nameservers are configured.

SignalPoints
A or AAAA resolves10
2+ distinct nameservers5
1 nameserver2
No nameservers0

The Actor also collects:

A records
AAAA records
MX records
NS records

MX records are informational and do not contribute to the Domain Strength Score.

Nameserver provider or brand is also not scored.


🔒 HTTPS / certificate health — 15 points

Security scoring evaluates HTTPS usage and observable TLS certificate health.

SignalPoints
Homepage successfully uses HTTPS5
TLS certificate valid for hostname7
Certificate expires in more than 30 days3
Certificate expires in 8–30 days2
Certificate expires in 1–7 days1
Certificate expired0

The TLS check can collect:

Certificate validity
Certificate issuer
Expiration date
Days remaining
Hostname validity

HTTPS is treated as an operational and security signal, not backlink authority.


🤖 Technical indexability — 20 points

The Actor evaluates observable signals that affect whether the homepage is technically available for indexing.

SignalPoints
Final homepage is successful 2xx HTML5
No meta robots noindex5
No X-Robots-Tag noindex5
robots.txt allows homepage5

The output includes:

indexable

Possible values:

true
false
null

indexable: true does not mean the page is indexed by Google.

It only means the Actor did not observe a technical directive preventing homepage indexing.


📝 Homepage SEO setup — 10 points

Homepage SEO setup evaluates three basic metadata signals.

SignalPoints
Non-empty HTML title4
Non-empty meta description3
Valid canonical on same registrable site3

The Actor extracts:

title
metaDescription
canonical
metaRobots
xRobotsTag

Sitemap presence is also collected.

Sitemap presence is informational and does not contribute to the score.


📊 Score coverage

External domain data is not always available.

For example:

  • 🌐 A website may block automated requests
  • 🕒 A TLD may not provide RDAP
  • 🔒 A TLS connection may fail
  • 🤖 robots.txt may be temporarily unreachable
  • 📡 DNS requests may encounter network errors
  • 🛡 A firewall may reject the Actor's request

The Actor does not automatically convert unavailable data into zero points.

Instead, every row contains:

scoreCoveragePercent

The final score is calculated from measurable scoring components only.

Conceptually:

earned measurable points
──────────────────────── × 100
measurable possible points

If:

scoreCoveragePercent < 70

then:

domainStrengthScore = null
strengthLevel = null

This prevents the Actor from assigning a misleading score when too much underlying data is unknown.


🏆 Strength levels

When score coverage is sufficient, the final score is converted into a strength category.

ScoreStrength level
0–24very_weak
25–44weak
45–64average
65–84strong
85–100very_strong

📡 Data sources

The Actor uses direct and publicly available technical data sources.

🕒 Registration data

Registration information follows:

IANA RDAP bootstrap
→ authoritative RDAP server

The Actor can collect:

Registration status
Creation date
Current registration age
Expiration date
Registrar
RDAP status

The current version does not use port-43 WHOIS fallback.

If authoritative RDAP is unavailable for a TLD, registration data is returned as unknown rather than automatically scored zero.


🧭 DNS data

DNS information is resolved directly using Node.js native DNS.

The Actor queries:

A
AAAA
MX
NS

🌐 Website data

The Actor performs direct HTTP/HTTPS requests and observes:

HTTP status
Final URL
Redirect count
Response time
Content type
Homepage HTML

The Actor normally starts with:

HTTPS

and can fall back to:

HTTP

when the HTTPS connection itself cannot be established.


🔒 TLS certificate data

The Actor directly inspects the domain's TLS certificate.

It can determine:

  • Certificate authorization
  • Hostname validity
  • Certificate validity period
  • Certificate issuer
  • Expiration timestamp
  • Days remaining

🤖 robots.txt

The Actor checks the website's:

/robots.txt

and evaluates wildcard-user-agent rules against the homepage.

A missing robots.txt file does not automatically block indexing.

A temporarily unreachable robots.txt file is returned as unknown.


🗺 Sitemap discovery

The Actor checks sitemap availability using:

  1. Sitemap declarations inside robots.txt
  2. /sitemap.xml fallback

Sitemap presence is returned in:

sitemapExists

Sitemap presence does not contribute points to the Domain Strength Score.


⬆️ Output

Results are stored in the Actor's default Apify Dataset.

You can access them through:

Output
Storage
Apify API
Integrations

Each row represents:

One original input submitted to the Actor.


📊 Primary result fields

FieldDescription
originalInputExact value supplied by the user
domainNormalized registrable domain
domainStrengthScoreFinal score from 0–100
strengthLevelStrength category
scoreCoveragePercentPercentage of measurable score components
scoreVersionScore methodology version
maturityScoreRegistration maturity points
availabilityScoreWebsite availability points
dnsScoreDNS health points
securityScoreHTTPS/TLS health points
indexabilityScoreTechnical indexability points
seoSetupScoreHomepage SEO setup points
statusOverall analysis status

📋 Registration fields

registered
rdapStatus
createdAt
domainAgeDays
domainAgeYears
expiresAt
registrar
registrationStatus

🧭 DNS fields

dnsResolved
ipv4
ipv6
mxRecords
nameservers

🌐 Website fields

httpStatus
finalUrl
redirectCount
responseTimeMs
contentType

🔒 TLS fields

https
sslValid
sslIssuer
sslExpiresAt
sslDaysRemaining

📝 Homepage SEO fields

title
metaDescription
canonical

🤖 Indexability fields

metaRobots
xRobotsTag
robotsExists
robotsAllowsHomepage
sitemapExists
indexable

🛠 Diagnostic fields

status
errors
checkedAt

🧪 Example result

{
"originalInput": "https://www.example.com/about",
"domain": "example.com",
"domainStrengthScore": 94,
"strengthLevel": "very_strong",
"scoreCoveragePercent": 100,
"scoreVersion": "1.0",
"maturityScore": 15,
"availabilityScore": 25,
"dnsScore": 15,
"securityScore": 15,
"indexabilityScore": 20,
"seoSetupScore": 4,
"registered": true,
"rdapStatus": "success",
"createdAt": "1995-08-14T04:00:00.000Z",
"domainAgeDays": 11347,
"domainAgeYears": 31.07,
"expiresAt": "2027-08-13T04:00:00.000Z",
"registrar": "Example Registrar",
"registrationStatus": [],
"dnsResolved": true,
"ipv4": [
"93.184.216.34"
],
"ipv6": [],
"mxRecords": [],
"nameservers": [
"a.iana-servers.net",
"b.iana-servers.net"
],
"httpStatus": 200,
"finalUrl": "https://example.com/",
"redirectCount": 0,
"responseTimeMs": 350,
"contentType": "text/html",
"https": true,
"sslValid": true,
"sslIssuer": "Example CA",
"sslExpiresAt": "2026-12-01T00:00:00.000Z",
"sslDaysRemaining": 84,
"title": "Example Domain",
"metaDescription": null,
"canonical": null,
"metaRobots": null,
"xRobotsTag": null,
"robotsExists": true,
"robotsAllowsHomepage": true,
"sitemapExists": false,
"indexable": true,
"status": "success",
"errors": [],
"checkedAt": "2026-09-08T07:00:00.000Z"
}

Actual values depend on the domain and internet conditions at the time of the run.


🛡 Result status

Each Dataset row contains one of four statuses.

success

The analysis completed with full measurable coverage and no condition requiring a partial result.


⚠️ partial

The Actor successfully returned available domain information, but one or more signals could not be fully determined.

For example:

RDAP unsupported
robots.txt unreachable
website blocks automated requests
TLS signal unavailable
homepage metadata unavailable

A partial result is not the same as a failed domain analysis.


invalid_input

The supplied value could not be converted into a valid ICANN registrable domain.

Examples may include:

Empty input
IP address
Invalid hostname
Non-registrable value

🛑 failed

An unexpected processing failure prevented meaningful analysis.

The Actor is designed to preserve successful subsystem data whenever possible, so normal external website failures generally produce partial rather than failed.


⚡ Bulk processing

The Actor is designed for large domain lists.

During processing it:

  • 🧹 Normalizes inputs before analysis
  • 🔁 Deduplicates normalized domains
  • ♻️ Reuses results for duplicate inputs
  • Runs multiple domain analyses concurrently
  • 🕒 Limits RDAP concurrency
  • 🛡 Preserves partial results
  • 📊 Calculates score coverage
  • 📦 Produces one Dataset row per original input

A slow or unreachable domain does not prevent other domains from completing.


💡 Example use cases

🎯 SEO prospect qualification

Analyze a large outreach list and prioritize domains using:

Domain maturity
Website availability
DNS health
HTTPS health
Technical indexability
Homepage SEO setup

This can help reduce time spent manually checking low-quality or inactive prospects.


🔎 Domain research

Inspect:

  • Registration age
  • Current registration status
  • Registrar
  • DNS resolution
  • Nameserver setup
  • Website availability
  • HTTPS certificate health
  • robots.txt behavior
  • Homepage metadata

from one structured Dataset.


🏷 Expired-domain screening

Use registration, DNS, and website signals to help identify domains that appear:

Registered and active
Registered but inactive
Technically broken
Recently registered
Long-established
Potentially unavailable

The score does not evaluate backlink history.


🗂 Website portfolio audits

Run hundreds or thousands of owned domains to identify:

Unreachable websites
DNS failures
HTTPS problems
Expired certificates
Indexability restrictions
Missing titles
Missing descriptions
Missing canonicals

📈 Lead qualification

Combine the Domain Strength Score with your CRM or lead-generation workflow to prioritize websites that appear active and technically established.


🔌 API & integrations

Bulk Domain Strength Checker can be started through the Apify API.

Dataset results can be integrated with workflows such as:

  • Google Sheets
  • Make
  • Zapier
  • CRMs
  • Internal APIs
  • Data warehouses
  • Lead-generation systems
  • SEO workflows
  • AI agents
  • MCP workflows

Every run stores structured Dataset rows, making the output easy to process automatically.


⚠️ Important limitations

The Domain Strength Score does not use:

Backlink counts
Referring-domain databases
Moz metrics
Ahrefs metrics
Majestic metrics

Do not interpret it as a replacement for proprietary backlink-based metrics.


Domain age does not prove authority

An older registration date does not guarantee:

Strong backlinks
Continuous ownership
Historical website quality
Search rankings
Trusted content
Traffic

Technical indexability does not mean indexed

If:

indexable: true

the Actor did not observe an applicable technical directive blocking the homepage.

It does not confirm Google or Bing currently indexes the page.


Website responses can vary

Websites may behave differently depending on:

Execution region
CDN routing
Server load
Bot protection
Firewall configuration
Temporary outages
Geographic restrictions

Results represent what the Actor observed during that run.


Some websites block automated requests

A domain may use:

  • Bot protection
  • CAPTCHA systems
  • Firewalls
  • Authentication
  • Rate limits
  • Geographic restrictions

When the Actor cannot reliably measure a signal, it returns unknown or partial data instead of inventing a value.


❓ FAQ

Does this calculate Domain Authority?

No.

The Actor calculates the SearchShark Domain Strength Score, which uses transparent registration, DNS, website, HTTPS, indexability, and homepage SEO signals.

It does not calculate Moz Domain Authority.


Does it use Ahrefs or Majestic?

No.

The Actor does not require:

Ahrefs
Moz
Majestic
DomDetailer
paid backlink APIs
customer authority-metric API keys

Do I need an API key?

No external API key is required.

The Actor uses direct technical sources such as RDAP, DNS, HTTP, and TLS.


Can I submit URLs instead of domains?

Yes.

For example:

https://www.mozilla.org/firefox/

is normalized to:

mozilla.org

What happens to subdomains?

Inputs are normalized to the ICANN registrable domain.

For example:

support.mozilla.org

becomes:

mozilla.org

What happens to duplicate domains?

Duplicate normalized domains are analyzed once and reused.

You still receive one Dataset row for every original input.


Why is domainStrengthScore sometimes null?

If:

scoreCoveragePercent < 70

the Actor intentionally returns:

domainStrengthScore: null
strengthLevel: null

This prevents a misleading score when too much source data is unavailable.


Why is a result marked partial?

A partial result means some analysis succeeded but one or more signals could not be fully determined.

It does not mean the entire analysis failed.


Does indexable: true mean Google indexes the domain?

No.

It means the Actor did not observe technical homepage directives preventing indexing.

It does not query Google's index.


Is sitemap presence scored?

No.

Sitemap presence is collected as an informational signal only.


Are MX records scored?

No.

MX records are collected but do not affect the score.


Can I export the results?

Yes.

Apify Dataset results can be exported using supported formats such as:

JSON
CSV
Excel
XML
HTML

🧭 Recommended workflow

For large prospect or domain lists:

  1. Submit the entire list
  2. Sort by Domain Strength Score
  3. Check score coverage
  4. Review partial results when necessary
  5. Use component scores to understand why a domain scored higher or lower
  6. Export qualified domains into your next workflow

For example:

Domain A
Score: 98
Coverage: 100%
Status: success
Domain B
Score: 72
Coverage: 100%
Status: success
Domain C
Score: null
Coverage: 60%
Status: partial

Domain C should be treated as insufficiently measured, not automatically as a weak domain.


🧪 Score version

Current scoring methodology:

SearchShark Domain Strength Score v1.0

Every Dataset row includes:

scoreVersion: "1.0"

This allows results to remain associated with the scoring methodology used when the domain was analyzed.


💬 Feedback & support

Found a bug or have a feature request?

Use the Actor's Issues tab on Apify.

Useful future additions may include:

Additional technical signals
Optional analysis modes
Expanded domain diagnostics
Portfolio monitoring
Additional bulk filtering
Performance improvements

🚀 Qualify domain lists without manually checking every website

Enter your domains, run the Actor, and receive structured Domain Strength Scores plus transparent registration, DNS, availability, HTTPS, indexability, and homepage SEO signals ready for SEO research, prospecting, domain screening, APIs, and automation.