Bulk Domain Rating Checker avatar

Bulk Domain Rating Checker

Pricing

$0.50 / 1,000 domain rating results

Go to Apify Store
Bulk Domain Rating Checker

Bulk Domain Rating Checker

Check Domain Rating by Ahrefs for up to 10,000 domains or URLs with clean three-field results, resilient retries, and transparent per-result pricing.

Pricing

$0.50 / 1,000 domain rating results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

7

Monthly active users

4 days ago

Last modified

Share

Check Domain Rating for domains and website URLs in bulk through the public Ahrefs endpoint. This Actor normalizes and deduplicates the submitted targets, returns one clean result per successful lookup, and keeps failed lookups in a separate uncharged dataset.

Run Bulk Domain Rating Checker on Apify.

What this Actor can do

  • Process domains and complete website URLs in the same run.
  • Normalize duplicate targets before requests and billing.
  • Return Domain Rating on a 0–100 scale for successful lookups.
  • Keep invalid targets and upstream failures separate from billable results.
  • Retry temporary network, rate-limit, and server failures automatically.
  • Honor upstream retry timing when it is provided.
  • Reserve pay-per-event capacity before starting external requests.
  • Resume persisted successful and failed targets after an interruption or migration.
  • Store a detailed run summary in the default Key-Value Store.

No Ahrefs API key is required for this Actor. The result reflects the value returned by Ahrefs at the time of the lookup and may change in future runs.

Common use cases

  • Enrich SEO prospecting and link-building lists with Domain Rating.
  • Compare the authority of competitor and partner domains.
  • Prioritize outreach, PR, affiliate, or sponsorship opportunities.
  • Add domain metrics to lead, company, or marketplace datasets.
  • Audit a list of referring domains or potential backlink sources.
  • Monitor changes in domain authority through recurring scheduled runs.

How it works

For every submitted target, the Actor:

  1. Trims the value and removes case-insensitive duplicates.
  2. Sends the unique target to the public Domain Rating endpoint.
  3. Retries temporary failures with bounded backoff when another attempt may succeed.
  4. Validates the returned rating before treating it as a successful result.
  5. Writes successful results to the default Dataset and charges one result event.
  6. Writes failed lookups to the separate Uncharged errors dataset.

The Actor uses bounded internal request workers and stable retry settings so users do not need to tune transport controls for each run.

Quick start

No coding is required:

  1. Open the Actor's Input tab.
  2. Add one domain or URL per line under Domains or URLs.
  3. Click Start.
  4. Open the Dataset tab for successful results.
  5. Open the Uncharged errors dataset when you need to inspect failed inputs.
  6. Open the default Key-Value Store and select OUTPUT for the run summary.

For a first test, use ahrefs.com and apify.com.

Pricing

This Actor uses pay-per-event pricing:

EventPriceWhat is charged
domain-rating-result$0.50 / 1,000 resultsEach valid Domain Rating result successfully written to the default Dataset

Equivalent event price:

$0.0005 per successful result

Invalid targets, HTTP errors, timeouts, exhausted retries, malformed responses, and skipped work are not charged as successful result events. Platform usage is included in the event price shown by Apify.

Input

The public input contains exactly one field:

FieldTypeRequiredDefaultDescription
targetsstring[]YesDomains or website URLs to check. Add one value per line. Maximum 10,000 submitted values per run.

The Actor manages request batching, timeouts, retries, and internal workers in code. These operational controls are intentionally not user-selectable, which keeps the input contract simple and makes runs consistent.

Input examples

Single domain

{
"targets": ["ahrefs.com"]
}

Bulk domains and URLs

{
"targets": [
"ahrefs.com",
"https://apify.com",
"example.com",
"https://www.shopify.com/pricing"
]
}

Larger SEO list

{
"targets": [
"example-one.com",
"example-two.com",
"https://example-three.com/resources"
]
}

Target normalization and deduplication

The Actor accepts bare domains and complete URLs. It trims surrounding whitespace and removes repeated values case-insensitively before making requests.

Submitted targetRequest target
ahrefs.comahrefs.com
https://www.apify.com/storehttps://www.apify.com/store
AHREFS.COMduplicate of ahrefs.com
https://example.com/path?q=1the submitted URL is retained as the target

Deduplication is always enabled to prevent duplicate requests and duplicate billable results. The run summary reports both the original and unique target counts.

Output

Successful results are stored in the default Dataset. Each result contains exactly three fields:

{
"target": "ahrefs.com",
"domainRating": 91.0,
"fetchedAt": "2026-08-19T12:00:00Z"
}

Output fields

FieldTypeMeaning
targetstringOriginal unique domain or URL submitted for lookup.
domainRatingnumberDomain Rating returned by Ahrefs on a 0–100 logarithmic scale.
fetchedAtstringUTC timestamp recorded when the successful result was received.

The successful Dataset intentionally contains only user-relevant result fields. Attribution and operational counters are kept in the run summary rather than duplicated in every result row.

Uncharged errors dataset

Failed lookups are written to the separate Uncharged errors dataset. A typical row looks like this:

{
"target": "not a valid target",
"statusCode": 400,
"errorType": "http_error",
"errorMessage": "bad target",
"attempts": 1,
"failedAt": "2026-08-19T12:00:00Z"
}

Error rows are not billable Domain Rating results. They let you review invalid inputs, rate limits, upstream errors, timeouts, and malformed responses without polluting the successful result dataset.

Common error categories include:

  • http_error for a non-successful HTTP response;
  • timeout for a request that exceeded the internal timeout;
  • network_error for a temporary transport failure;
  • invalid_response when the upstream response cannot be validated;
  • charge_limit_reached when Apify prevents another result from being stored.

Run summary and recovery

The Actor stores an OUTPUT record in the default Key-Value Store. It includes totals for original and unique targets, processed results, successes, failures, resumed targets, retries, request attempts, charged events, skipped work, charge-limit status, completion, and timestamps.

Example summary:

{
"originalTargets": 4,
"uniqueTargets": 3,
"processed": 3,
"succeeded": 2,
"failed": 1,
"resumedTargets": 0,
"skippedDueToChargeLimit": 0,
"requestAttempts": 3,
"retries": 1,
"chargedEvents": 2,
"chargedEventName": "domain-rating-result",
"chargeLimitReached": false,
"completed": true,
"startedAt": "2026-08-19T12:00:00Z",
"finishedAt": "2026-08-19T12:00:04Z"
}

Successful and failed targets are persisted as the run progresses. If Apify migrates or restarts the Actor, previously persisted targets are recognized and are not requested or charged again.

Reliability and expected behavior

The Actor isolates target-level failures so one invalid domain does not stop the rest of a bulk run. Temporary failures use bounded exponential backoff and jitter. When an upstream response includes retry timing, the Actor respects it within a safe maximum delay.

The Actor checks the available pay-per-event capacity before starting new external work. If the run reaches its maximum charge, remaining targets are skipped and reported in the summary without creating uncharged requests.

Limits and important notes

  • A run can contain up to 10,000 submitted target values.
  • Duplicate targets are removed before lookup and billing.
  • A successful result requires a valid HTTP response containing a Domain Rating between 0 and 100.
  • Domain Rating is a snapshot and can change between runs.
  • Failed lookups are available in Uncharged errors, not in the successful Dataset.
  • The Actor does not guarantee that every submitted target has a result; inspect both datasets and OUTPUT.
  • Set an Apify maximum charge before large runs to keep spending predictable.
  • Results can be exported from Apify as JSON, CSV, Excel, XML, JSONL, and other supported Dataset formats.

Exporting and integrations

Open the successful Dataset to preview results, filter rows, or export them in common formats. The errors Dataset can be exported separately for cleanup and retry workflows.

For recurring domain monitoring, save the input as an Apify Task and attach a Schedule. Use the same target list when comparing Domain Rating snapshots over time.

The Dataset API, webhooks, and Apify integrations can forward completed results to spreadsheets, automation platforms, databases, or your own application.

Frequently asked questions

Do I need an Ahrefs API key?

No. The Actor uses the public endpoint and does not require you to enter an API key.

Are failed targets charged?

No. Only valid Domain Rating results written to the successful Dataset create a domain-rating-result event.

Why are some submitted targets missing from the successful Dataset?

They may have been duplicates, invalid, unavailable, rejected by the upstream service, or skipped after the run reached its maximum charge. Check Uncharged errors and OUTPUT for the reason.

Are duplicate domains queried twice?

No. Duplicate values are removed case-insensitively before requests begin.

Can I submit URLs instead of domains?

Yes. Domains and complete URLs can be mixed in targets.

Can I schedule recurring checks?

Yes. Save the input as an Apify Task and attach a Schedule.

You are responsible for ensuring that your use of the returned public data complies with applicable laws, contracts, and third-party rights.

Support

If a run does not behave as expected, open the Actor's Issues tab and include:

  • the Apify run ID;
  • the input used, without tokens or other secrets;
  • the affected target;
  • the expected and actual behavior;
  • the relevant error row or OUTPUT summary.

This information makes the issue easier to reproduce and resolve.