# Moz \[$9💰] Domain Authority, Spam Score & Keywords (`memo23/moz-scraper`) Actor

Get Moz Domain Authority at scale — no Moz Pro subscription. DA, PA, spam score, linking root domains, ranking keywords, top linking domains, top pages & 60-day link history. One report per domain, empty lookups never charged. Export JSON, CSV, or Excel.

- **URL**: https://apify.com/memo23/moz-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** SEO tools, AI, Agents
- **Stats:** 26 total users, 25 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Moz Scraper — Domain Authority, Spam Score, Backlinks & Keywords (No Login)

Scrape **Moz's free domain-analysis SEO metrics** for any list of domains — **no Moz account, no Moz Pro subscription, no login**. Give it domains or URLs and get back **Domain Authority (DA)**, **Spam Score**, **linking root domains**, **ranking keywords**, **top linking domains**, **top pages**, and a **60-day link-acquisition history** — one clean structured record per domain. You only pay for domains that return data.

![How Moz Scraper Works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-moz.png)

### Why use this Moz Scraper?

- **No Moz account required.** Skip the sign-up, the seat limits, and the Moz Pro paywall — paste domains and pull metrics.
- **Bulk by design.** Feed one domain or thousands; each is de-duplicated and processed in parallel.
- **You never pay for empty lookups.** Domains that return no data are skipped and never billed.
- **Clean, export-ready output.** Structured JSON, CSV, or Excel — ready for dashboards, BI tools, and prospecting sheets.
- **Handles the hard part for you.** Anti-bot protection is handled internally — no captchas, no proxies to configure.

### What it does

For every domain you submit, this Actor pulls the public Moz domain-analysis report and returns:

- **Domain Authority (DA)** — Moz's 0–100 score predicting ranking strength.
- **Spam Score** — the percentage risk signal.
- **Linking Root Domains** — count of unique referring domains.
- **Ranking Keywords** — total keywords the domain ranks for.
- **Top Linking Domains** — the strongest referring domains, each with its own DA.
- **Top Pages** — the domain's strongest pages, each with a Page Authority (PA).
- **60-Day Link History** — discovered vs. lost linking domains over the last ~60 days.

### Supported inputs

| Input | Example | Notes |
|---|---|---|
| Bare domain | `apify.com` | Simplest form |
| Full URL | `https://www.stripe.com/pricing` | Scheme + path are stripped to the host |
| Subdomain | `blog.example.com` | Kept as its own target |
| Bulk list | `["a.com","b.com", …]` | De-duplicated; billed once per unique host |

### Use cases

- **Link-building & outreach** — bulk-qualify prospect domains by DA and Spam Score before you pitch.
- **SEO audits** — snapshot DA, linking root domains, and ranking-keyword counts across a portfolio or client list.
- **Lead scoring & enrichment** — append authority signals to a CRM or prospect matrix.
- **Competitive research** — compare authority and top-linking-domain profiles across competitors.
- **Content & PR planning** — spot the strongest pages and referring domains worth targeting.

### How it works

1. **You submit domains** — any mix of hosts, URLs, or a bulk list.
2. **The Actor fetches Moz's free domain-analysis page** for each (Cloudflare protection is handled automatically — no login, no captcha on your side).
3. **Metrics are parsed into one clean record per domain** and streamed to the dataset as they complete.

### Input configuration

| Field | Type | Default | Description |
|---|---|---|---|
| `domains` | array | — | Domains or URLs to analyze (required). |
| `includeTopLinkingDomains` | boolean | `true` | Include the top linking domains list (with per-domain DA). |
| `includeTopPages` | boolean | `true` | Include the top pages list (with per-page PA). |
| `includeLinkHistory` | boolean | `true` | Include the 60-day discovered/lost link history. |
| `maxItems` | integer | `10000` | Cap on domains processed (and billable results). |
| `maxConcurrency` | integer | `5` | Parallel domain lookups. |
| `requestTimeoutMs` | integer | `90000` | Per-request timeout before a retry. |
| `maxRequestRetries` | integer | `3` | Retries per domain before it's skipped (never billed). |
| `proxy` | object | off | Optional — usually unnecessary. |

### Output sample

```json
{
  "input": "apify.com",
  "domain": "apify.com",
  "domainAuthority": 50,
  "pageAuthority": null,
  "spamScore": 3,
  "linkingRootDomains": 9900,
  "rankingKeywords": 30900,
  "topLinkingDomains": [
    { "domain": "youtube.com", "da": 100 },
    { "domain": "wordpress.org", "da": 98 }
  ],
  "topPages": [
    { "url": "apify.com/", "pa": 57 },
    { "url": "www.apify.com/", "pa": 52 }
  ],
  "linkHistory": [
    { "date": "05/12", "discovered": 15, "lost": -3 },
    { "date": "05/13", "discovered": 38, "lost": -5 }
  ],
  "checkedAt": "2026-07-13T00:00:00.000Z",
  "source": "moz"
}
```

### Key output fields

| Field | Description |
|---|---|
| `domainAuthority` | Moz Domain Authority, 0–100. |
| `spamScore` | Moz Spam Score (percentage risk signal). |
| `linkingRootDomains` | Count of unique referring domains. |
| `rankingKeywords` | Count of ranking keywords. |
| `topLinkingDomains[]` | Strongest referring domains, each with `da`. |
| `topPages[]` | Strongest pages, each with `pa`. |
| `linkHistory[]` | 60-day `discovered` / `lost` linking-domain trend. |
| `checkedAt` | ISO timestamp of the lookup. |

### FAQ

**Do I need a Moz account or API key?** No. This Actor reads Moz's public free domain-analysis tool — no account, key, or subscription.

**Is `pageAuthority` always filled?** Moz shows a single scalar Domain Authority but exposes Page Authority per page — so top-level `pageAuthority` is often `null`, while each entry in `topPages[]` carries its own `pa`.

**What happens for a domain Moz has no data on?** You get a low/empty result, and if Moz returns nothing usable the domain is skipped and **not billed**.

**How fast is it?** Roughly a few seconds per domain, run in parallel up to your `maxConcurrency`.

**Can I get competitors and full keyword lists?** Moz gates those behind a login on its own site, so this Actor returns the rich free-view field set (DA, Spam, linking domains, ranking-keyword counts, top linking domains, top pages, link history).

### Support

Found a bug or need a field added? Open an issue on the Actor's **Issues** tab and we'll take a look.

### Explore more scrapers

- **[Keyword Metrics](https://apify.com/memo23/keyword-metrics)** — Google + Bing search volume, CPC, competition, top-of-page bids, keyword difficulty, search intent, and ~93 months of history. 1,000 keywords per run at one flat price, or expand 20 seeds into up to 20,000 keyword ideas across 111 countries and 46 languages.
- **[Ahrefs Scraper](https://apify.com/memo23/ahrefs-scraper)** — Domain Rating, backlinks, keyword ideas, and AI visibility — a second authority read to sanity-check DA.
- **[Semrush Scraper](https://apify.com/memo23/semrush-scraper)** — traffic, authority, backlinks, and top websites for the domains you just scored.
- **[SEO Intelligence Suite](https://apify.com/memo23/seo-intelligence-suite)** — DR, traffic, AI visibility, and Google presence in one call.

### ⚠️ Disclaimer

This Actor collects **publicly available** information from Moz's free domain-analysis tool. It does not log in, bypass authentication, or access any private, paid, or account-gated Moz data. "Moz", "Domain Authority", "Page Authority", and "Spam Score" are trademarks of Moz, Inc.; this Actor is independent and not affiliated with, endorsed by, or sponsored by Moz. Metrics are Moz's estimates. Use the data in compliance with Moz's terms and all applicable laws; you are responsible for how you use it.

### SEO Keywords

Moz scraper, Moz API alternative, Domain Authority checker, bulk DA checker, Moz DA PA scraper, spam score checker, linking root domains, ranking keywords scraper, Moz domain analysis, free SEO metrics, backlink authority checker, bulk domain authority, Moz Link Explorer scraper, SEO data extraction, domain authority API, page authority checker.

# Actor input Schema

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

One or more domains or URLs to analyze on Moz. Any format works — 'apify.com', 'https://www.apify.com/blog', or 'sub.example.com' — each is normalized to its host. Duplicates that resolve to the same host are looked up (and billed) once.

## `includeTopLinkingDomains` (type: `boolean`):

Include the list of top linking domains, each with its own Domain Authority.

## `includeTopPages` (type: `boolean`):

Include the top pages of the domain, each with its Page Authority.

## `includeLinkHistory` (type: `boolean`):

Include the 60-day discovered vs lost linking-domains history.

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

Maximum number of domains to process (also caps billable results).

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

How many domain lookups to run in parallel.

## `requestTimeoutMs` (type: `integer`):

Per-request timeout in milliseconds before a lookup is retried.

## `maxRequestRetries` (type: `integer`):

How many times to retry a single domain on a network or unlocker failure before skipping it (skipped domains are never billed).

## `proxy` (type: `object`):

Optional. Usually unnecessary — egress and the Cloudflare challenge are handled internally.

## Actor input object example

```json
{
  "domains": [
    "apify.com",
    "stripe.com"
  ],
  "includeTopLinkingDomains": true,
  "includeTopPages": true,
  "includeLinkHistory": true,
  "maxItems": 10000,
  "maxConcurrency": 5,
  "requestTimeoutMs": 90000,
  "maxRequestRetries": 3,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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": [
        "apify.com",
        "stripe.com"
    ],
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/moz-scraper").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": [
        "apify.com",
        "stripe.com",
    ],
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/moz-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": [
    "apify.com",
    "stripe.com"
  ],
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call memo23/moz-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/moz-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dcTx1fEIubKXkjk54/builds/05GoPxt4lmAgobVum/openapi.json
