Ahrefs Scraper avatar

Ahrefs Scraper

Pricing

$1.00 / 1,000 results

Go to Apify Store
Ahrefs Scraper

Ahrefs Scraper

Collect public website rankings, estimated search traffic, Domain Rating, linking websites, keywords, and competitors from AhrefsTop. Browse up to 1,000 ranked websites or look up public domain summaries.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

MLG Data

MLG Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

12 days ago

Last modified

Share

Scrape public Ahrefs website rankings and domain summaries, then export structured results to JSON, CSV, or a spreadsheet. This Ahrefs data collector covers ranked and trending websites, estimated search traffic, Domain Rating, linking websites, leading countries, keywords, and competitors where a public domain page exists.

The actor reads public ranking and detail pages. It does not require a subscription or a login. A ranking run can return up to 1,000 websites for a country and category combination. Detail enrichment adds a second public page per website and supplies the deeper metrics shown in the output example below.

What data can you extract from Ahrefs?

The default result is one website per dataset item. Ranked rows are ready for filtering and sorting. When Include domain details is enabled, each row also contains the public information from that website's detail page. For a short list of known domains, choose a domain search type and supply the domains directly.

FieldDescriptionExample
searchTypeSelected search type for the recordtop_websites
rankingModeMain ranking or trending listranking
rankPosition in the selected public ranking1
rankChangeMovement since the previous ranking period; a negative number means a fall12
websiteRanked domainwikipedia.org
websiteUrlWebsite home URLhttps://wikipedia.org
detailUrlPublic domain profile URLhttps://ahrefstop.com/websites/wikipedia.org
categoryCategory displayed in the rankingReference
searchTrafficEstimated monthly organic search visits4000000000
trafficDeltaMonth over month change in estimated visits85600000
countryFilterCountry page used for the rankingworldwide
categoryFilterCategory page used for the rankingall
domainDomain on a detail resultwikipedia.org
nameWebsite name displayed on the public profileWikipedia
descriptionPublic site description, when presentA short site summary
metricDateMonth of the displayed estimatesAugust 2026
globalRankWorldwide search traffic rank1
countryRankRank in the profile's highlighted country1
categoryRankRank in the profile's category1
trafficValueUsdEstimated monthly value of organic traffic in US dollars549600000
trafficValueDeltaUsdMonthly change in estimated traffic value27500000
keywordsNumber of ranking keywords shown as a rounded total3200
domainRatingPublic Domain Rating score97
refdomainsPublic count of linking websites4000000
refdomainsDeltaMonthly change in linking websites15200
topCountriesLeading country codes, visit estimates, changes, and sharesFive country objects
topKeywordsPublic keywords with volume, traffic, and positionFive keyword objects
competitorsCompeting sites with estimated traffic and page countsFive competitor objects
similarlyRankedNearby sites in the global rankingFive website objects

Counts written as compact labels on the source pages are converted into numbers. For example, a displayed value of 4B becomes 4000000000. The resulting number preserves the displayed estimate's precision; it does not imply that the source reported an exact visit count. The country traffic values come from structured data included on the public detail page and can be more precise than the large summary label.

The field refdomains uses the site's Linking websites total. It describes distinct linking websites, not the number of individual backlinks. The public profile does not reveal a full backlink list, dofollow share, or every keyword. Those fields are deliberately absent from this actor's output.

How to scrape Ahrefs

  1. Select Top websites for a ranked list, or select a domain search type for specific websites.
  2. For a ranking, enter a country and category slug if needed. Leave worldwide and all for the overall list. Select Trending if you want the sites with the largest visible rank movements instead of the main ranking.
  3. Set Maximum results. Turn on Include domain details when you need authority, traffic value, keyword, country, and competitor information for each ranked website.
  4. Run the actor. When it finishes, open the default dataset and download the results in your preferred format.

For a domain lookup, put one domain or URL per line in Domains. The actor normalizes a URL to its host and opens that domain's public profile. A domain needs a public profile to yield a result. If one domain has no profile, the run continues with the remaining domains.

Input

ParameterTypeDefaultDescription
searchTypeSelecttop_websitestop_websites, website_details, website_authority, or traffic_overview
domainsList of stringsPrefilled examplesRequired for the three domain lookup modes
rankingModeSelectrankingMain ranking or the first page's trending lists
countryStringworldwideCountry page slug, such as united-states
categoryStringallCategory page slug, such as shopping
maxItemsInteger100Maximum dataset items; zero applies no extra cap
includeDetailsBooleanfalseEnrich ranked rows using their public profile pages
proxyConfigurationObjectDefault proxyOverride the request proxy settings

Example ranking input:

{
"searchType": "top_websites",
"rankingMode": "ranking",
"country": "worldwide",
"category": "all",
"maxItems": 30,
"includeDetails": true
}

Example direct domain lookup:

{
"searchType": "website_details",
"domains": ["ahrefs.com", "wikipedia.org"],
"maxItems": 2
}

The three domain lookup labels read the same public profile source. They are useful when a downstream workflow separates authority checks, traffic summaries, and general profiles by searchType. Every available profile field is returned for each label. Selecting website_authority does not invent a backlink count, and selecting traffic_overview does not unlock private keyword history.

Output example

This is a shortened item from a successful 30-result run using detail enrichment. Arrays are shortened here for readability; the dataset item contained five top countries, five top keywords, five competitors, and five similarly ranked websites.

{
"searchType": "top_websites",
"rankingMode": "ranking",
"rank": 1,
"rankChange": null,
"website": "wikipedia.org",
"websiteUrl": "https://wikipedia.org",
"detailUrl": "https://ahrefstop.com/websites/wikipedia.org",
"category": "Reference",
"searchTraffic": 4000000000,
"trafficDelta": 85600000,
"countryFilter": "worldwide",
"categoryFilter": "all",
"domain": "wikipedia.org",
"name": "Wikipedia",
"metricDate": "August 2026",
"globalRank": 1,
"countryRank": 1,
"categoryRank": 1,
"trafficValueUsd": 549600000,
"trafficValueDeltaUsd": 27500000,
"keywords": 3200,
"domainRating": 97,
"refdomains": 4000000,
"refdomainsDelta": 15200,
"topCountries": [
{"country": "US", "traffic": 909972804, "trafficDelta": 26523740, "share": 22.3}
],
"topKeywords": [
{"keyword": "wikipedia", "volume": 2000000, "traffic": 1500000, "position": 1}
],
"competitors": [
{"website": "youtube.com", "traffic": 2600000000, "pages": 37700000}
],
"similarlyRanked": [
{"website": "wikipedia.org", "traffic": 4000000000, "rank": 1}
]
}

description is also present in the complete item; it is omitted from this shortened example. Some sites have no description. The global, country, and category rank values describe different ranking scopes, so they may differ even when the website appears on the overall list.

Use cases

  • Market mapping: Export the first several hundred ranked sites and compare estimated search traffic across categories. A category filter keeps the dataset focused on a market rather than requiring a later manual cleanup.
  • Competitor discovery: Enrich known domains or ranking rows and review the public competitor list. Each competitor entry carries a traffic estimate and a page count for quick triage.
  • Traffic monitoring: Schedule repeat runs of a stable country and category selection. Compare searchTraffic, trafficDelta, and rank over time in your own records.
  • Authority screening: Check domainRating and refdomains for a list of public domain profiles. Use the numbers as screening signals, then review the original profile before making a decision.
  • Country comparison: Inspect topCountries to see where a domain's search visits are concentrated. The list supplies each leading country's traffic estimate and share.
  • Keyword orientation: Review the short public topKeywords list to identify a domain's visible leading terms. The output is a sample of the public profile, not a full keyword export.

How much does it cost to scrape Ahrefs?

The configured result price is $0.001 per dataset item, or $1 per 1,000 results. A 30-result enriched run therefore has a result charge of $0.03. A 100-result ranking has a result charge of $0.10. Collecting the maximum 1,000 ranking rows has a result charge of $1.00. A domain summary is one result per public domain profile that is found.

Including details adds a page request for each ranked website but does not create a second dataset item for that website. The result charge is still based on the number of output records. Run time and any platform resource charges depend on the account and proxy configuration. Check the run's usage panel for the actual total.

The actor stops at maxItems or when the platform reports that the spending limit has been reached. Set a small result cap for your first run with a new filter. This is also a quick way to check whether the selected category contains enough public rows for your project.

Tips for best results

Use the default overall ranking to test the workflow, then narrow it to a country or category. Slugs are the words in the public ranking URL: united-states, united-kingdom, shopping, and news are examples. A combination of country and category can return fewer than 100 sites, even when a worldwide category has many more.

Keep Include domain details off when you only need rank, category, and traffic. Turning it on fetches one additional profile page for every ranked row. For 30 results, that means roughly 31 public page requests. The extra request is worthwhile when your workflow needs Domain Rating, linking websites, traffic value, or the short competitor and keyword lists.

Use Website details for a small, curated domain list. You can paste full URLs, but the host is the lookup key. The actor removes a leading www. and visits the matching public domain page. If a particular domain has no public page, it is skipped. If every requested domain is unavailable, the run fails with a clear no-results error.

Export numeric columns as numbers. The source displays broad magnitudes such as 2.4B or 37.7M; the actor expands those suffixes before writing a result. Treat them as rounded estimates. Country entries can carry a more detailed value because the public page includes structured country data.

For repeat monitoring, keep the same country, category, ranking mode, and result cap. This avoids comparing different populations of websites. Save the run date with each export; the source's metric month is also included on enriched domain items as metricDate.

Limits

The main ranking exposes ten pages of up to 100 websites, so the public cap is 1,000 ranked sites per filter. Filtered rankings may end earlier. The actor stops when the next page does not exist. It does not infer missing ranks or pad the dataset to the requested maximum.

The trending section exposes twenty sites on the first page for a filter. Selecting trending yields those available records; it does not turn the full 1,000-site ranking into a trend list. The same domain can appear in both the rising and falling sections in unusual source states; the actor deduplicates by domain.

Public profile pages expose a short set of keywords, competitors, countries, and similarly ranked websites. They do not expose a complete keyword database, a complete backlink list, SERP results, CPC, or detailed traffic history. The free metric form on the main site requires a fresh challenge token. This actor uses the public ranking and profile pages and does not promise fields hidden behind that form.

Some detail fields can be empty. A site may have no description or may lack a public profile. A domain with a profile can also have a missing ranking section or a limited country list. The actor writes null for an unavailable scalar and an empty array for an unavailable list. It never substitutes a guessed metric.

There is no claim that trafficValueUsd represents revenue or that searchTraffic is measured visitor analytics. Both are estimates presented by the source. The data is best used for comparison, discovery, and monitoring trends, with the source page available in detailUrl for inspection.

Automation examples

A scheduled workflow can request the top 100 shopping websites in a chosen country, then compare rank and estimated traffic against its previous export. Another workflow can submit a curated list of domains each week and flag large changes in Domain Rating, linking websites, or traffic value. The stable field names and direct profile URL make both workflows easy to inspect.

When connecting the dataset to another system, use searchType to route ranking rows and direct domain summaries. Use website for ranked rows and domain for direct lookups. When details are enabled on rankings, both keys appear on the same item and identify the same host.

FAQ

Do I need an account on the target site?

No. The actor reads public ranking and profile pages. It cannot retrieve subscription data, private projects, or account-specific reports.

No. The public profile shows Domain Rating and a rounded count of linking websites. It does not provide individual backlink records or a complete referring-domain export.

How many websites can I collect?

The overall main ranking has at most 1,000 public rows. A narrower country or category can have fewer. The trending mode currently has up to 20 visible records per filter. Direct domain mode is limited by your input list, public profile availability, and maxItems.

How fast is a run?

A plain ranking fetches one page per 100 rows. Detail enrichment adds one page per result, so it takes longer. Actual duration depends on response times, the selected filter, proxy routing, and whether pages need retrying. The successful 30-result enriched check completed on the platform with all required metrics filled.

Can I export to a spreadsheet?

Yes. Download the default dataset as CSV or a spreadsheet file, or retrieve it through the dataset endpoint. Each result is one row. The country, keyword, competitor, and similarly ranked lists remain arrays in JSON and may need expansion for a fully flat spreadsheet analysis.

What happens if a domain has no public profile?

That domain is skipped and a warning is logged. Other domains in the same input continue. A run with no resulting items fails so that a scheduled workflow can detect the problem.

The actor collects publicly visible website information. Review the source's terms and applicable law for your use case. Respect privacy rules and avoid using scraped data for personal-data misuse.

Integrations

Use the dataset endpoint, scheduled runs, webhooks, or a workflow connector to send the results into a database, spreadsheet, or reporting process. The output combines a stable website identifier with numeric metrics, source links, and an explicit search type, making it practical to join repeated exports and investigate changes.

Support

Open an issue on the Issues tab with the run ID, input, and the field or page that needs attention. Include a public profile URL when a particular domain behaves differently. Requests for additional fields can be reviewed against what the public pages actually expose.