Moz Domain Authority Checker avatar

Moz Domain Authority Checker

Pricing

from $6.75 / 1,000 domaininfos

Go to Apify Store
Moz Domain Authority Checker

Moz Domain Authority Checker

The MOZ Domain Authority API provides comprehensive domain analysis and SEO metrics through a simple REST interface. Analyze any domain to retrieve critical SEO indicators including Domain Authority (DA), Page Authority

Pricing

from $6.75 / 1,000 domaininfos

Rating

1.8

(4)

Developer

Data Collector

Data Collector

Maintained by Community

Actor stats

6

Bookmarked

89

Total users

13

Monthly active users

9 days ago

Last modified

Share

Extract Domain Authority, spam score, backlinks, ranking keywords, competitors, and 13 total SEO metrics from Moz.com free domain analysis — without needing a Moz Pro subscription or API key.

This lightweight actor uses plain HTTP requests (no browser), making it fast, cheap, and reliable. Analyze up to 10 domains per run.

What data can you extract?

For every domain the actor returns a structured JSON with 4 core metrics and 9 detailed data arrays:

Core metrics

MetricDescriptionExample
Domain Authority (DA)Moz's 0–100 score predicting how well a site ranks94
Spam ScorePercentage indicating likelihood of being penalized1
Linking Root DomainsUnique root domains that link to the site1,300,000
Ranking KeywordsTotal keywords the domain ranks for in Google9,000,000

Detailed analysis arrays

DataWhat's inside
Top Pages by LinksHighest-authority pages with their Page Authority (PA) scores
Top Linking DomainsMost valuable domains linking to the site with their DA
Discovered & Lost LinksMonthly trend of new and lost linking domains (up to 61 months)
Keywords by Est. ClicksKeywords sorted by estimated organic click volume
Top Ranking KeywordsKeywords where the domain ranks highest
Branded KeywordsBrand-related search terms with monthly volume
Keyword Ranking DistributionBreakdown by rank position (#1-3, #4-10, #11-20, etc.)
Top Search CompetitorsCompeting domains with DA and visibility scores
Top QuestionsRelated questions from "People Also Ask" with relevance scores

Use cases

  • SEO audits — Bulk-check DA and spam scores across your portfolio or client list
  • Competitor research — Compare Domain Authority and keyword overlap with competitors
  • Link building — Find top linking domains and discover new backlink opportunities
  • Content strategy — Identify top-ranking keywords, branded terms, and FAQ questions
  • Due diligence — Evaluate domain quality and spam risk before purchasing or partnering

Input

ParameterTypeDefaultDescription
domainsstring[]required1–10 domains to check. Protocols (https://), www., and trailing slashes are stripped automatically
maxRetriesinteger10Retry attempts per domain. Higher values improve reliability but increase run time
useProxybooleantrueEnable Apify proxy rotation. Strongly recommended for consistent results
proxyTypestringRESIDENTIALRESIDENTIAL for best reliability, DATACENTER for lower cost

Example input

{
"domains": ["google.com", "apple.com", "github.com"],
"maxRetries": 10,
"useProxy": true,
"proxyType": "RESIDENTIAL"
}

Tip: You don't need to clean up your domain list — the actor handles https://www.example.com/path and normalizes it to example.com. Duplicates are automatically removed.

Output

Each domain produces one dataset item with all 13 metrics. Results are pushed to the dataset immediately as they complete, so you can monitor progress in real time.

Example output (google.com)

{
"success": true,
"domain": "google.com",
"errorCode": null,
"error": null,
"domain_authority": 94,
"spam_score": 1,
"linking_root_domains": 1300000,
"ranking_keywords": 9000000,
"top_pages_by_links": [
{ "link": "https://google.com/", "pa": 90 },
{ "link": "https://google.com/chrome", "pa": 75 },
{ "link": "https://google.com/maps/place/", "pa": 75 },
{ "link": "https://google.com/maps", "pa": 74 }
],
"top_linking_domains": [
{ "domain": "www.google.com", "da": 100 },
{ "domain": "youtube.com", "da": 100 },
{ "domain": "linkedin.com", "da": 99 },
{ "domain": "wordpress.org", "da": 99 }
],
"discovered_and_lost_linking_domains": [
{ "date": "12/14", "discovered": 490, "lost": -142 }
],
"keywords_by_estimated_clicks": [
{ "keyword": "gmail", "visibility": 35688971 }
],
"top_ranking_keywords": [
{ "keyword": "google", "rank": 1 }
],
"branded_keywords": [
{ "keyword": "google", "volume": 50940000 }
],
"keyword_ranking_distribution": [
{ "rank_position": "#1-3", "domain": "google.com", "amount": 1340196 }
],
"top_search_competitors": [
{ "domain": "www.google.com", "da": 100, "visibility": 10.26 }
],
"top_questions": [
{ "question": "How do I access Google Play on Android?", "relevance": 156.49 }
],
"checkTime": "2026-02-13T22:18:00.000Z",
"timeMs": 3200,
"attempts": 1
}

Dataset views

The output dataset includes 5 pre-configured views for easy exploration in the Apify Console:

ViewFields shown
Main MetricsDomain, DA, Spam %, Backlinks, Keywords, Status
Keywords AnalysisTop keywords, keywords by clicks, branded keywords
Backlinks AnalysisLinking domains, top pages, link history
Competitive AnalysisCompetitors, ranking distribution, top questions
Complete DataAll fields

Error handling

When a domain fails, the result still appears in the dataset with success: false and a structured errorCode:

Error codeMeaningWhat to do
CLOUDFLARE_BLOCKEDAnti-bot protection not bypassedTry again with RESIDENTIAL proxy and higher maxRetries
NO_DATAMoz has no metrics for this domainDomain is too new or has no backlinks — this is expected
RATE_LIMITEDFree analysis limit reachedIncrease maxRetries to cycle through more proxy IPs
NETWORK_ERRORConnection timeout or DNS failureCheck domain spelling, retry later
PARSE_ERRORPage loaded but data extraction failedMoz may have changed their page layout — open an issue

How it works

  1. Validates input domains — normalizes URLs, removes duplicates, enforces the 10-domain limit
  2. Configures the Apify proxy pool with round-robin rotation (fresh IP per request)
  3. Fetches each domain's Moz analysis page using got-scraping with TLS fingerprint impersonation
  4. Detects Cloudflare challenges, rate limit redirects, and "no data" pages before parsing
  5. Parses the HTML using JSDOM, extracting all 13 metric sections from cards, tables, and embedded chart scripts
  6. Retries on failure with exponential backoff (1.5s × attempt, capped at 10s, with random jitter)
  7. Pushes each result to the dataset immediately — no waiting for all domains to finish

No browser required. Unlike Playwright-based scrapers, this actor uses lightweight HTTP requests with ~256 MB RAM, keeping compute costs low.

Integrations

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('jdtpnjtp/moz-domain-authority-checker').call({
domains: ['example.com', 'competitor.com'],
maxRetries: 10,
useProxy: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
console.log(`${item.domain}: DA=${item.domain_authority}, Spam=${item.spam_score}%`);
}

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('jdtpnjtp/moz-domain-authority-checker').call(run_input={
'domains': ['example.com', 'competitor.com'],
'maxRetries': 10,
'useProxy': True,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(f"{item['domain']}: DA={item['domain_authority']}, Spam={item['spam_score']}%")

Webhooks and scheduling

  • Set up a webhook to send results to your app, Slack, or Google Sheets when a run completes
  • Use scheduled runs to track Domain Authority changes over time (weekly or monthly)

Cost estimate

ComponentCost
Compute~0.05 USD per domain (256 MB, ~10s per domain)
Residential proxy~0.01–0.03 USD per domain depending on retries
Typical 10-domain run~0.5–1.0 USD total

Save money: Use DATACENTER proxy type for non-critical checks — it's 5–10x cheaper than residential, though slightly less reliable against Cloudflare.

Limitations

  • 10 domains per run — for larger batches, schedule multiple runs or use the API to chain them
  • Free Moz data only — the actor scrapes Moz's public domain analysis page, not the paid Moz Pro API
  • Rate limits — Moz may throttle requests; the actor handles this with automatic retries and proxy rotation
  • Data freshness — metrics reflect what Moz shows on their free analysis page, which may lag behind Moz Pro data

FAQ

Do I need a Moz account? No. The actor scrapes the free public analysis page at moz.com/domain-analysis.

Why did a domain return NO_DATA? Moz doesn't have metrics for very new domains or domains with no backlinks. This is a Moz limitation, not an actor issue.

Why is Domain Authority different from what I see on Moz? Make sure you're comparing the same domain format. The actor strips www. — so google.com and www.google.com may show different DA values on Moz.

Can I run more than 10 domains? Not in a single run. Use the Apify API or scheduler to chain multiple runs for larger batches.

Changelog

  • v2.0 — Complete rewrite. HTTP-only (removed Playwright), 13 metrics, structured error codes, 10-domain limit, round-robin proxy, exponential backoff with jitter.

Support

Found a bug or have a feature request? Open an issue on the actor's page or contact me through Apify Console.