Ahrefs Scraper - Backlink & Anchor Detail avatar

Ahrefs Scraper - Backlink & Anchor Detail

Pricing

Pay per usage

Go to Apify Store
Ahrefs Scraper - Backlink & Anchor Detail

Ahrefs Scraper - Backlink & Anchor Detail

πŸš€ Ahrefs Scraper extracts SEO data from Ahrefs with speed & precisionβ€”ideal for keyword research, backlink analysis, competitor tracking & content strategy. πŸ“ˆ Automate insights for faster, smarter decisions.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Scrapier

Scrapier

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

15 hours ago

Last modified

Share

Ahrefs Scraper - Backlink & Anchor Detail pulls the top backlinks Ahrefs' free Backlink Checker exposes for any domain β€” source page, target URL, anchor text, a derived anchor-type flag, and the linking page's Domain Rating β€” then rolls the sample into top-anchor and top-linking-page summaries. Every response is structured JSON, ready to drop into an LLM prompt, a vector store, or a monitoring pipeline. The same run can optionally add Domain Rating, traffic estimates, keyword ideas, SERP overviews, broken-link audits, AI-visibility citations and AhrefsTop trending websites β€” no Ahrefs account required.

Ahrefs Scraper - Backlink & Anchor Detail is an Apify Actor that queries Ahrefs' free Backlink Checker and classifies every backlink it returns by anchor type β€” brand, exact, partial, generic, url or empty β€” instead of handing back raw anchor strings the way most Ahrefs scrapers do. That classification, plus a topAnchors / topLinkingPages roll-up computed on every run, is the part of a link profile most backlink tools leave for you to build yourself.

No Ahrefs login, account or subscription is required β€” it reads the same free tools any visitor can open at ahrefs.com. What it does need is a captcha-solver API key, because Ahrefs gates every one of those tools behind a Cloudflare Turnstile challenge.

  • πŸ”— Individual backlink rows β€” source page, target URL, anchor text and a computed anchor-type flag for each link
  • βš“ Anchor-type classification β€” deterministic brand/exact/partial/generic/url/empty tagging, plus top-anchor and top-linking-page roll-ups
  • πŸ† Domain Rating & authority β€” DR, total backlinks and referring-domain counts for the target
  • πŸ“ˆ Traffic estimates β€” monthly visits, traffic value, history, top pages/countries/keywords
  • 🎯 Query controls β€” link scope (mode: whole site vs. exact URL), minimum linking Domain Rating filter, and a localisation country for keyword/traffic add-ons
  • 🧩 Optional add-ons β€” broken-link audits, keyword ideas, keyword difficulty, keyword rank checking, SERP overviews, AI-visibility citations and AhrefsTop trending websites, all togglable in the same run

One run can return up to eleven result types, depending on which toggles you enable and whether you supply a domain, a keyword, or both.

Result TypeExtracted FieldsPrimary Use Case
Backlink & Anchor Detailbacklinks[].sourceUrl, sourceTitle, targetUrl, anchorType, linkingDomainRating, linkInRenderedPage, anchorText; topAnchors[]; topLinkingPages[]; backlinksReturned; backlinkSampleNoteLink-building audits, anchor-spam checks, disavow-list prep
Backlink & Referring-Domain Overviewdata.domainRating, data.backlinks, data.refdomains, data.dofollowBacklinks, data.dofollowRefdomainsQuick authority snapshot before a deep pull
Domain Rating & Authoritywebsite_authority.domainRating, backlinks, refdomains, dofollowBacklinks, dofollowRefdomainsComparing domain strength across a prospect list
Traffic Estimateswebsite_traffic.trafficMonthlyAvg, costMontlyAvg; website_traffic_history[]; website_traffic_top_pages[]; website_traffic_top_countries[]; website_traffic_top_keywords[]Estimating a site's organic value
Broken-Link Auditdata.inbound, data.outbound (broken inbound/outbound links)Reclaiming lost link equity
Keyword Rankingtop_position, serp_results[], serp_source, last_updateTracking where a domain ranks for a target keyword
Keyword Difficultykeyword_difficulty, keyword_difficulty_results[], keyword_difficulty_source, keyword_difficulty_shortagePrioritising which keywords to target
Keyword Ideasdata.allIdeas, data.questionIdeasBuilding a content/keyword backlog
SERP Overviewserp_results[], serp_source, last_updateAuditing the current SERP landscape for a term
AI Visibilitydata.totalAiCitations, data.citationsByModel[], data.topCitedDomains[], data.topCitedPages[], data.topTopics[]Measuring brand presence inside AI answers
AhrefsTop Trending Websiteswebsites_rankings[], website_rankings_trending_up[], website_rankings_trending_down[]Spotting fast-growing sites in a niche

This is the result type the Actor is named for. fetchBacklinkList wires Ahrefs' free Backlink Checker LIST surface into individual, shaped rows β€” one object per backlink, each carrying sourceUrl, sourceTitle, targetUrl, linkingDomainRating and, if includeAnchorText is on, the raw anchorText. Every row also gets a client-side anchorType classification (brand, exact, partial, generic, url or empty) computed from the anchor text against the target's brand token β€” a field none of the three closest-ranked competing Actors document. The Actor rolls the shaped rows into topAnchors (anchor text ranked by frequency) and topLinkingPages (source pages ranked by linking Domain Rating), and stamps every backlink record with an honest backlinkSampleNote explaining exactly what the free surface does and doesn't cover:

{
"sourceUrl": "https://zapier.com/blog/best-automation-tools/",
"anchorText": "Make",
"anchorType": "brand",
"linkingDomainRating": 93,
"linkInRenderedPage": true
}

πŸ† Domain Rating & Traffic Overview

include_web_authority and include_traffic merge into a single traffic record per target: Domain Rating, total backlinks and referring-domain counts (with dofollow variants of both) from Ahrefs' free Website Authority Checker, plus estimated monthly traffic, traffic value, a monthly history series, and top-pages/top-countries/top-keywords breakdowns from the free Traffic Checker. It's the fastest way to size a prospect or competitor before running a full backlink pull.

Ahrefs publishes its own API (documented at docs.ahrefs.com, checked 2026-07-26), which gates most functionality behind an Enterprise-plan subscription and offers a limited set of free test queries without one. It returns Ahrefs' full paid index β€” keyword research, backlink analysis, rank tracking and AI-visibility monitoring β€” under Ahrefs' own documented rate limits. Ahrefs Scraper - Backlink & Anchor Detail instead reads Ahrefs' free, public web tools (Backlink Checker, Traffic Checker, Website Authority Checker, and friends), which need no Ahrefs account at all, and shapes the capped preview those tools expose.

FeatureOfficial Ahrefs APIAhrefs Scraper - Backlink & Anchor Detail
Access requirementEnterprise-plan API subscription (per docs.ahrefs.com)Apify Actor run + a captcha-solver key β€” no Ahrefs account
Data sourceAhrefs' full paid indexAhrefs' free public tools
Backlinks per domainNot published on the docs homepageTop sample, about 20 rows, ranked by linking-domain authority
Dofollow flag / first-seen / last-seenIncluded (paid Site Explorer data)Not on the free surface β€” omitted, not guessed
Anchor-type classificationNot documentedanchorType computed on every backlink row
Keyword / SERP / AI-visibility add-onsPart of the broader API surfaceOptional toggles in the same run
Output shapeAhrefs' own API JSON schemaOne normalised record per report type, e.g. backlinks, traffic

Use the official API if you already hold an Enterprise Ahrefs subscription and need contractual guarantees or full-index depth. Use this Actor for ad-hoc audits, prospect research, or pulling anchor-level backlink data across many domains without that subscription.

A backlink checker answers "how many links, from how many domains, at what authority" β€” it's a count. Anchor-text analysis answers "what do those links say," which is the signal that actually distinguishes a natural link profile from a manipulated one. A domain can have thousands of high-DR backlinks and still carry an over-optimized anchor mix β€” too many exact-match or URL anchors relative to brand and generic ones β€” that a pure count never surfaces.

That distinction matters more since Google's anchor-text-based algorithm updates made anchor-mix a directly actionable signal rather than a cosmetic detail: SEOs now audit anchor distribution, not just backlink totals, before a disavow pass or a link-building push.

Ahrefs Scraper - Backlink & Anchor Detail returns both in the same run. The count-level view lives in the traffic/backlinks overview records (website_authority.domainRating, data.backlinks, data.refdomains); the anchor-level view lives in the backlinks[] array on the enriched backlinks record, where every row carries anchorText and a computed anchorType, rolled up into topAnchors.

  1. Open Ahrefs Scraper - Backlink & Anchor Detail on the Apify Store and click Try for free
  2. Enter the domain or URL you want backlinks for in πŸ”— Target Domain or URL (url) β€” e.g. make.com
  3. Set the real query controls: 🎯 Link Scope (mode: subdomains or exact), 🌍 Localisation Country (country, only affects keyword/traffic/SERP add-ons β€” backlinks are global), and πŸ“Š Minimum Linking Domain Rating (minLinkingDR) to drop low-authority links
  4. Paste a πŸ” Captcha Solver API Key (captchaApiKey) β€” this is not schema-required but the run exits immediately without it β€” and click Start
  5. Download the results as JSON, CSV or Excel, or stream them from the dataset through the Apify API while the run is still going
{
"url": "make.com",
"mode": "subdomains",
"fetchBacklinkList": true,
"includeAnchorText": true,
"minLinkingDR": 20,
"captchaApiKey": "CAP-XXXXXXXXXXXX"
}

How to run multiple domains in one job

Use πŸ”— Target Domains / URLs (Bulk) (urls) instead of the single url field β€” it's a list, and the input description states plainly that when it's set it overrides the single target above entirely (they are not merged). Every domain-based report you've enabled β€” traffic/authority, backlinks, broken links, keyword ranking β€” runs once per entry in urls, so five domains with backlinks and authority both on produce ten backlink-family records in one run.

⬇️ Input

None of the 22 parameters are marked required in the schema ("required": []); the run still needs at least a url/urls, a keyword, or include_top_websites ticked to have anything to do, and it needs a captcha-solver key to fetch anything from /v4.

ParameterRequiredTypeDefault / ConstraintsDescription
urlNostringβ€” (prefill "make.com")The domain or URL whose backlinks you want. For many targets at once, use urls below.
urlsNoarrayβ€” (prefill ["make.com"])A list of domains or URLs to pull backlinks for. When set, this overrides the single url above.
keywordNostringβ€” (prefill "ai automation")Optional keyword (or brand, for AI Visibility) β€” only used by the keyword/SERP/AI add-ons, not required for backlinks.
countryNostringdefault "us"; one of 178 ISO alpha-2 codes (select)Country used to localise keyword, SERP and traffic results. Backlinks are global and ignore this.
modeNostringdefault "subdomains"; enum subdomains, exactScope of the analysis: whole site including subdomains, or just the exact URL/host.
include_backlinksNobooleandefault trueThe core toggle. Returns the backlink & referring-domain overview plus, when fetchBacklinkList is on, the individual backlink rows.
fetchBacklinkListNobooleandefault trueWires in Ahrefs' free Backlink Checker LIST surface: each top backlink as its own row β€” source page, title, target URL, anchor text, anchor-type flag and linking Domain Rating. Rolls up topAnchors and topLinkingPages. The free surface returns a top sample (~20 rows).
includeAnchorTextNobooleandefault trueInclude the raw anchorText on each backlink row and build the top-anchors roll-up. Turn off to keep only the derived anchorType flag.
minLinkingDRNointegerdefault 0; min 0; max 100Drop individual backlinks whose linking (referring) Domain Rating is below this value. 0 keeps every backlink.
include_web_authorityNobooleandefault trueNeeds a domain/URL. Adds Domain Rating, backlinks and referring-domain counts.
include_trafficNobooleandefault trueNeeds a domain/URL. Adds estimated monthly visits, traffic value, history, top pages/countries/keywords.
include_ai_visibilityNobooleandefault falseNeeds a brand/keyword. Adds AI citations across LLMs, top cited domains/pages and topics.
include_keywordsNobooleandefault falseNeeds a keyword and country. Adds keyword ideas plus question ideas with volumes.
include_keywords_difficultyNobooleandefault falseNeeds a keyword and country. Adds the Keyword Difficulty score plus the ranking SERP.
include_keywords_rankingNobooleandefault falseNeeds a keyword, domain and country. Adds where the domain ranks for the keyword.
include_serpNobooleandefault falseNeeds a keyword and country. Adds the full SERP overview for the keyword.
include_broken_linksNobooleandefault falseNeeds a domain/URL. Adds broken inbound and outbound links.
include_top_websitesNobooleandefault falseAdds the top trending websites from AhrefsTop.com β€” Top 1000 (worldwide + all categories) or Top 100 when filtered by category/country. Needs no keyword or domain.
category_top_websitesNostringdefault "all"; one of 26 category slugs (select)Category filter for the AhrefsTop trending-websites ranking.
country_top_websitesNostringdefault "worldwide"; one of 179 values (select)Country filter for the AhrefsTop trending-websites ranking.
captchaApiKeyNostringsecret (isSecret: true)Your CapSolver (or 2Captcha) API key. Ahrefs gates every free tool behind Cloudflare Turnstile, so a solver key is required to collect any /v4 data. Stored encrypted; never logged.
proxyConfigurationNoobjectdefault {"useApifyProxy": true}The scraper starts on a direct connection and only escalates to a datacenter, then residential proxy, if Ahrefs blocks it. Pick a country here to localise the residential fallback.

Common pitfall: the visible input form exposes only one captcha field β€” captchaApiKey β€” with no provider selector, and the Actor defaults that key to the CapSolver provider. The field's own description mentions 2Captcha as an alternative, but selecting it requires adding a raw captchaProvider: "twocaptcha" key to the input JSON (via the Console's "raw" input editor or the API) since it is not present in the visible form.

Example JSON input

{
"urls": ["make.com", "zapier.com"],
"keyword": "workflow automation",
"country": "us",
"mode": "subdomains",
"include_backlinks": true,
"fetchBacklinkList": true,
"includeAnchorText": true,
"minLinkingDR": 20,
"include_web_authority": true,
"include_traffic": true,
"include_broken_links": false,
"include_keywords": false,
"include_keywords_difficulty": false,
"include_keywords_ranking": false,
"include_serp": false,
"include_ai_visibility": false,
"include_top_websites": false,
"category_top_websites": "all",
"country_top_websites": "worldwide",
"proxyConfiguration": { "useApifyProxy": true },
"captchaApiKey": "CAP-XXXXXXXXXXXX"
}

⬆️ Output

Every record is typed, normalized JSON with a consistent shape per type, pushed to the dataset live as each report lands β€” the dataset fills while the run is still going. Export as JSON, CSV or Excel, or read the dataset through the Apify API. Every record carries data_captured_at (UTC ISO timestamp) and type (traffic, backlinks, broken_links, keyword_ranking, keyword_difficulty, keywords, serp, ai_visibility or top_websites).

Ahrefs encodes its raw responses in an OCaml/Melange style β€” options as ["Some", x], results as ["Ok", x] / ["Error", e], enums as single-element arrays. All of it is decoded recursively before it reaches the dataset, so null replaces Ahrefs' None and error payloads surface as a plain error (or *_error) key on the record instead of a missing row.

The default Overview dataset view surfaces only 7 columns (data_captured_at, type, domain, keyword, brand, country, mode) for quick scanning β€” every record actually carries many more fields, listed per type below. Switch to the Backlink & Anchor Detail, Traffic & Authority, or other named views in the Console to see the rest, or just read the raw dataset.

Scraped results

A backlinks record (the primary result type this Actor is built around), with three backlink rows so you can see the array's real shape:

[
{
"data_captured_at": "2026-07-26T10:14:02.331000+00:00",
"type": "backlinks",
"domain": "make.com",
"data": {
"domainRating": 91,
"backlinks": 128340,
"refdomains": 9120,
"dofollowBacklinks": 88210,
"dofollowRefdomains": 6640
},
"backlinksReturned": 3,
"backlinks": [
{
"sourceUrl": "https://zapier.com/blog/best-automation-tools/",
"sourceTitle": "12 Best Automation Tools for 2026",
"targetUrl": "https://www.make.com/en",
"anchorType": "brand",
"linkingDomainRating": 93,
"linkInRenderedPage": true,
"anchorText": "Make"
},
{
"sourceUrl": "https://www.g2.com/products/make/reviews",
"sourceTitle": "Make Reviews 2026 | G2",
"targetUrl": "https://www.make.com/en/pricing",
"anchorType": "exact",
"linkingDomainRating": 90,
"linkInRenderedPage": true,
"anchorText": "make.com"
},
{
"sourceUrl": "https://community.make.com/t/getting-started/1023",
"sourceTitle": "Getting Started β€” Make Community",
"targetUrl": "https://www.make.com/en/templates",
"anchorType": "generic",
"linkingDomainRating": 71,
"linkInRenderedPage": false,
"anchorText": "read more here"
}
],
"topAnchors": [
{ "anchor": "Make", "count": 41 },
{ "anchor": "make.com", "count": 18 }
],
"topLinkingPages": [
{ "url": "https://zapier.com/blog/best-automation-tools/", "linkingDomainRating": 93 }
],
"backlinkSampleNote": "Ahrefs' free Backlink Checker returns a top sample of backlinks (about 20 rows) ranked by referring-domain authority β€” not the full profile. It carries no dofollow/nofollow flag and no referring-page traffic on the free surface, so those are not emitted. First/last-seen link dates are paid Site Explorer only. anchorType is a deterministic client-side classification (brand/exact/partial/generic/url/empty)."
},
{
"data_captured_at": "2026-07-26T10:14:04.008000+00:00",
"type": "traffic",
"domain": "make.com",
"mode": "subdomains",
"website_authority": {
"domainRating": 91,
"backlinks": 128340,
"refdomains": 9120,
"dofollowBacklinks": 88210,
"dofollowRefdomains": 6640
},
"website_traffic": {
"trafficMonthlyAvg": 2841500,
"costMontlyAvg": 1934200
},
"website_traffic_history": [
{ "date": "2026-06-01", "organic": 2788100 },
{ "date": "2026-07-01", "organic": 2841500 }
],
"website_traffic_top_pages": [
{ "url": "https://www.make.com/en/templates", "traffic": 184300 }
],
"website_traffic_top_countries": [
{ "country": "us", "traffic": 812400, "share": 0.286 }
],
"website_traffic_top_keywords": [
{ "keyword": "make automation", "position": 1, "traffic": 31200 }
]
},
{
"data_captured_at": "2026-07-26T10:14:06.552000+00:00",
"type": "keyword_difficulty",
"keyword": "workflow automation",
"country": "us",
"keyword_difficulty": 68,
"keyword_difficulty_source": "serp",
"keyword_difficulty_shortage": null,
"keyword_difficulty_results": [
{
"content_type": "organic",
"data": { "url": "https://zapier.com/workflow-automation", "title": "Workflow Automation" },
"pos": 1,
"pos_with_metrics": 1
}
]
},
{
"data_captured_at": "2026-07-26T10:14:09.117000+00:00",
"type": "top_websites",
"top_websites_category": "all",
"top_websites_country": "worldwide",
"websites_rankings": [
{ "rank": 1, "domain": "google.com", "search_traffic": "27.4B", "change": "+120.3M", "category": "Search Engines" }
],
"website_rankings_trending_up": [
{ "rank": 4, "domain": "chatgpt.com", "search_traffic": "1.2B", "change": "+340.1M", "position_change": "↑" }
],
"website_rankings_trending_down": []
}
]

The remaining types follow the same pattern: broken_links and keywords and ai_visibility carry data_captured_at, type, an identity field (domain, keyword, or brand), and a fully-decoded data object; keyword_ranking and serp carry serp_results[], serp_source and last_update; any record can instead carry error (or, on traffic records, website_authority_error / website_traffic_error, or on backlinks records, backlink_list_error) if the underlying Ahrefs call failed.

  • πŸ”— Link-building and SEO teams: pull backlinks[] for a target, filter by anchorType to spot an over-optimized mix (too many exact/url anchors relative to brand/generic), and use linkingDomainRating to prioritise which referring pages are worth a follow-up outreach.
  • πŸ€– AI engineers and LLM developers: an agent issues a domain query, receives typed JSON with backlinks[], website_authority and website_traffic already decoded, and passes it straight into a model as grounding context β€” no HTML parsing or Melange decoding on your side.
  • πŸ“Š Market researchers: run the same urls list on a schedule and diff website_authority.domainRating, backlinksReturned and topAnchors across runs to track a competitor's link-building velocity and anchor strategy over time.
  • 🏒 Product and growth teams: combine include_broken_links with include_keywords_difficulty to find both link-reclamation opportunities and winnable keyword gaps in the same run, without switching tools.

πŸ” How do you monitor anchor-type distribution over time?

Anchor-profile monitoring is the discipline of watching how a domain's inbound anchor mix shifts between runs, because a sudden move toward exact/url anchors is one of the clearest signals of either an aggressive (and risky) link-building push or a negative-SEO attack, while a domain's own topAnchors staying stable and brand-heavy is a sign of an organic profile.

Run the same url (or urls list) on a schedule and diff four fields between runs: backlinksReturned (has the sample size moved), topAnchors (has the ranked anchor list reordered or gained new high-count entries), the anchorType distribution across backlinks[] (is exact/url share rising as a fraction of the total), and topLinkingPages[].linkingDomainRating (are new, lower-authority domains now dominating the top sample, which can indicate low-quality or spammy new links).

A practical loop: schedule a run across your prospect or competitor urls list, store each run's backlinks record keyed by domain and run date, and alert when anchorType counts for exact or url cross a threshold you set, or when topLinkingPages picks up several new low-DR domains between two consecutive runs. Ahrefs Scraper - Backlink & Anchor Detail itself doesn't schedule runs β€” set that up with Apify's own Schedules (Console β†’ Schedules, or the POST /v2/schedules API) pointed at this Actor.

Ahrefs Scraper - Backlink & Anchor Detail works with any language or tool that can send an HTTP request or use the Apify SDK β€” it is a standard Apify Actor, not a bespoke API.

REST API with Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("<YOUR_USERNAME>/ahrefs-scraper-backlink-anchor-detail").call(run_input={
"url": "make.com",
"fetchBacklinkList": True,
"includeAnchorText": True,
"minLinkingDR": 20,
"captchaApiKey": "<YOUR_CAPSOLVER_KEY>",
})
for rec in client.dataset(run["defaultDatasetId"]).iterate_items():
if rec["type"] == "backlinks" and not rec.get("backlink_list_error"):
for bl in rec.get("backlinks", []):
print(bl["sourceUrl"], bl["anchorType"], bl["linkingDomainRating"])

Scheduled monitoring and delivery

The Actor has no built-in scheduler or webhook input β€” use Apify's platform-level Schedules to trigger recurring runs against a saved urls list, and Apify's run-finished webhooks to push a notification (or trigger a downstream job) the moment each run's dataset is ready, without polling.

Yes, with conditions. Scraping publicly accessible web output that requires no login is broadly treated as permissible in U.S. law β€” hiQ Labs, Inc. v. LinkedIn Corp., 9th Cir., 2019, held that accessing publicly available web data does not violate the Computer Fraud and Abuse Act β€” and Ahrefs Scraper - Backlink & Anchor Detail returns only what Ahrefs' free tools show any visitor: no login, cookie or paid Ahrefs session is used.

What this Actor returns β€” domain metrics, backlink URLs, anchor text β€” is business and technical data about websites, not personal data, so GDPR/CCPA-style personal-data regimes don't attach the way they would to a scraper of individuals' profiles. What does apply is Ahrefs' own terms of service and, in the EU, database-rights protection over a compiled dataset (Directive 96/9/EC). Scraping for a one-off competitor audit and scraping to republish or resell a compiled Ahrefs-derived dataset carry different risk profiles. Consult your legal team for commercial use cases involving bulk data storage.

❓ Frequently asked questions

No. country only localises keyword, SERP and traffic results β€” backlinks are global by design, so the same url returns the same backlink sample regardless of the country value you set.

What's the difference between mode: subdomains and mode: exact?

subdomains scopes the analysis to the whole site including subdomains; exact restricts it to just the exact URL or host you supplied. It's the same mode value used for the backlink, authority, traffic and broken-link reports on that target.

Two defences, run independently. Every /v4 call is TLS-fingerprinted with curl_cffi's Chrome impersonation and gated by a fresh Cloudflare Turnstile solve (CapSolver, 2Captcha, Playwright or a static token, depending on configuration) before it's sent. Separately, requests start on a direct connection with no proxy at all; only if Ahrefs returns a block signal (HTTP 403/429/503, a connection error, or a non-JSON response typical of a Cloudflare challenge page) does the Actor escalate β€” direct β†’ Apify datacenter proxy β†’ Apify residential proxy, retrying up to three times on the residential rung before giving up on that request. The tier the run finished on is logged at the end.

Yes β€” anchorText (raw, when includeAnchorText is on) and a computed anchorType (brand/exact/partial/generic/url/empty) sit on every object in the backlinks[] array of the backlinks record, alongside a topAnchors roll-up. anchorType is absent only when includeAnchorText is off and the underlying anchor was empty β€” in which case the row still gets "empty".

Ahrefs' free Backlink Checker returns a top sample of about 20 backlinks per domain, ranked by linking-domain authority β€” this is stated directly in backlinkSampleNote on every backlinks record, and it is a limit of Ahrefs' free tool, not a cap this Actor imposes. topAnchors and topLinkingPages are each capped at 20 entries. AhrefsTop trending websites return up to 1,000 sites worldwide/unfiltered, or up to 100 when filtered by category or country.

Does a failed lookup still get charged?

Yes. Every record the Actor pushes β€” including ones that carry an error, website_authority_error, website_traffic_error or backlink_list_error key because the underlying Ahrefs call failed β€” consumes one row_result event; there is no separate free error row. Filter clean records client-side by checking that none of those error keys are present on the item.

Schedule a recurring run across the same urls list with Apify Schedules, store each run's backlinks record, and diff backlinksReturned, topAnchors, the anchorType mix and topLinkingPages[].linkingDomainRating against the previous run β€” see "How do you monitor anchor-type distribution over time?" above for the full loop.

Yes, as a standard HTTP-callable Apify Actor rather than through a dedicated MCP server β€” an agent framework (LangChain, CrewAI, n8n, or a hand-written tool definition) calls it through the Apify API and gets back typed JSON with no parsing step, which lets an agent retrieve a live backlink profile before answering.

Checked on the Apify Store, 2026-07-26: pro100chok/ahrefs-seo-tools documents 13 tools and describes itself as extracting Ahrefs data "without limits," but its Backlinks List output example shows only urlFrom, urlTo, anchor, domainRating and title β€” no per-row anchor-type classification. santhej/backlink-checker advertises a dofollow flag, a spam score, and first_seen/last_seen dates in its example output; this Actor's source documents that Ahrefs' free Backlink Checker surface carries none of those three fields, and says so in backlinkSampleNote rather than asserting them. lizaraco/domain-authority-backlinks requires you to bring your own DataForSEO API key and pay DataForSEO directly per call. None of the three document a computed anchor-type field or top-anchor/top-linking-page roll-ups the way this Actor does.

Yes for proxies β€” the escalation ladder (direct β†’ datacenter β†’ residential) is automatic and you never rotate an IP yourself; set a country in proxyConfiguration only if you want the residential fallback localised. No Ahrefs account, login or subscription is needed either, since every source endpoint is one of Ahrefs' free public tools. The one thing you must supply yourself is a CapSolver or 2Captcha account and API key, because Ahrefs puts a Cloudflare Turnstile challenge in front of all of them.

πŸ’¬ Your feedback

Found a bug, or missing a field you need from Ahrefs' free tools? Open an issue on this Actor's Issues tab on Apify. Reports that include the exact input JSON and the target domain are the fastest to reproduce and fix.