> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ahrefs as a data source

> Bring data from Ahrefs to your Lakehouse.

Ahrefs is an SEO toolset that indexes the web to report on backlinks, organic and paid search performance, keyword research, rank tracking, and site audits. This connector reads the Ahrefs API v3 and brings those reports into your Lakehouse.

## Configuring Ahrefs as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Ahrefs option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

You'll need an Ahrefs API key. In Ahrefs, go to **Account settings > API keys** and create one. Only workspace owners and admins can create API keys, and each key expires one year after it is created.

<Warning>The Ahrefs API is available on eligible paid plans, and most reports consume **API units** from your monthly allowance. Read the cost section below before configuring the source.</Warning>

The following configurations are available:

* **API Key**: your Ahrefs API key.

* **Targets**: the domains or URLs (for example `example.com`) to pull the Site Explorer reports for. One request is made per target per report. Leave this empty to skip every Site Explorer stream.

* **Keywords**: the keywords to pull the Keywords Explorer reports for. Leave this empty to skip the keyword streams.

* **Country**: (Default: `br`) the two-letter country code (ISO 3166-1 alpha-2) the reports are scoped to. It applies to every Site Explorer and Keywords Explorer report that accepts a country.

* **Row Limit per Report**: (Default: `1000`) the maximum number of rows fetched per report per target. Ahrefs bills API units per returned row, so this is the main lever on how much a sync costs.

Optionally, under advanced settings:

* **Start Date**: the earliest date to pull the historical reports from. It is only used on the first sync; afterwards each history stream resumes from its own bookmark. Defaults to one year ago.

* **Target Scope**: (Default: `subdomains`) how much of each target to report on - `exact` for that URL only, `prefix` for the URL and everything under it, `domain` for the domain without subdomains, or `subdomains` for the domain and its subdomains.

* **Protocol**: (Default: `both`) the protocol of the target to report on - `both`, `http`, or `https`.

* **History Granularity**: (Default: `daily`) the time interval used to group the historical reports - `daily`, `weekly`, or `monthly`.

* **Search Volume Mode**: (Default: `monthly`) how search volume is calculated - `monthly` for the latest month, or `average` for the average of the last 12 months.

Once you're done, click **Next**.

### 2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.

* **Layer**: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
* **Folder**: a folder can be created inside the selected layer to group all tables being created from this new data source.
* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** to all tables at once and make this process faster!
* **Sync Type**: you can choose between INCREMENTAL and FULL\_TABLE.
  * Incremental: every time the extraction happens, we'll get only the new data - which is good if, for example, you want to keep every record ever fetched.
  * Full table: every time the extraction happens, we'll get the current state of the data - which is good if, for example, you don't want to have deleted data in your catalog.

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/get-started/core-concepts/triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can define some additional settings:

* Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource [here](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Determine when to execute an **Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync)**. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

## API units and sync cost

Ahrefs meters most of its API. A request costs `max(50, per_row_cost x rows)` API units, where `per_row_cost` is the sum of the unit cost of every column requested - 1 unit by default, and 5 or 10 units for premium metrics such as search volume, traffic, and keyword difficulty. The field descriptions below name the premium columns explicitly.

Three things control how much a sync costs:

* **Row Limit per Report** caps how many rows each report returns. Reports are ordered by their most meaningful metric, so the rows kept are the most relevant ones.
* **Stream selection** decides which reports run at all. The Rank Tracker, project management, and subscription streams are free; the Site Audit issues report costs a flat 50 units per project.
* **Column selection** is passed through to Ahrefs. Columns you deselect are not requested, so they are not billed.

The units actually consumed appear in the run logs, and the `subscription_limits_and_usage` stream records your remaining monthly allowance on every sync.

<Note>You can also cap the monthly usage of an individual API key in Ahrefs under **Account settings > API keys**, which is a useful safety net while you tune the configuration.</Note>

## Limitations

* **No pagination.** Ahrefs API v3 accepts a row limit but offers no way to request a next page, so each report returns its top rows only. Raise the row limit if you need more, keeping the unit cost in mind.
* **Rate limit.** Ahrefs allows 60 requests per minute. The connector paces itself below that limit, so syncs with many targets take proportionally longer.
* **Reports outside your plan.** Endpoints your subscription does not cover are skipped with a warning instead of failing the run.
* **Adding a target later.** History streams keep one bookmark per stream rather than one per target. If you add a target to an existing source, run a full sync to backfill its history.

# Streams and Fields

Below you'll find all available data streams from Ahrefs and their corresponding fields:

### Site Explorer - snapshots

<AccordionGroup>
  <Accordion title="Domain rating (`domain_rating`)">
    Domain Rating and Ahrefs Rank of each target, as of today.

    **Primary key:** `target` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `ahrefs_rank` - The strength of your target's backlink profile compared to the other websites in our database, with rank #1 being the strongest.
    * `domain_rating` - The strength of your target's backlink profile compared to the other websites in our database on a 100-point logarithmic scale.
  </Accordion>

  <Accordion title="Metrics (`metrics`)">
    Top-line organic and paid search metrics of each target, as of today.

    **Primary key:** `target` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `org_cost` - The estimated value of your target's monthly organic search traffic, in USD cents. Costs 10 API units per row.
    * `org_keywords` - The total number of keywords that your target ranks for in the top 100 organic search results.
    * `org_keywords_1_3` - The total number of keywords that your target ranks for in the top 3 organic search results.
    * `org_traffic` - The estimated number of monthly visitors that your target gets from organic search. Costs 10 API units per row.
    * `paid_cost` - The estimated cost of your target's monthly paid search traffic, in USD cents. Costs 10 API units per row.
    * `paid_keywords` - The total number of keywords that your target ranks for in paid search results.
    * `paid_pages` - The total number of pages from a target ranking in paid search results.
    * `paid_traffic` - The estimated number of monthly visitors that your target gets from paid search. Costs 10 API units per row.
  </Accordion>

  <Accordion title="Metrics by country (`metrics_by_country`)">
    Organic and paid search metrics of each target broken down by country.

    **Primary key:** `target`, `country` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `country` - The country reported by Ahrefs.
    * `org_cost` - The estimated value of your target's monthly organic search traffic, in USD cents. Costs 10 API units per row.
    * `org_keywords` - The total number of keywords that your target ranks for in the top 100 organic search results.
    * `org_keywords_1_3` - The total number of keywords that your target ranks for in the top 3 organic search results.
    * `org_traffic` - The estimated number of monthly visitors that your target gets from organic search. Costs 10 API units per row.
    * `paid_cost` - The estimated cost of your target's monthly paid search traffic, in USD cents. Costs 10 API units per row.
    * `paid_keywords` - The total number of keywords that your target ranks for in paid search results.
    * `paid_pages` - The total number of pages from a target ranking in the top 100 paid search results.
    * `paid_traffic` - The estimated number of monthly visitors that your target gets from paid search. Costs 10 API units per row.
  </Accordion>

  <Accordion title="Backlinks stats (`backlinks_stats`)">
    Live counts of backlinks and referring domains pointing at each target.

    **Primary key:** `target` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `all_time` - The total number of links from other websites pointing to your target for all time.
    * `all_time_refdomains` - The total number of unique domains linking to your target for all time. Costs 5 API units per row.
    * `live` - The total number of links from other websites pointing to your target.
    * `live_refdomains` - The total number of unique domains linking to your target. Costs 5 API units per row.
  </Accordion>

  <Accordion title="Outlinks stats (`outlinks_stats`)">
    Counts of the outgoing links each target points at other sites.

    **Primary key:** `target` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `linked_domains` - The number of unique root domains linked from the target.
    * `linked_domains_dofollow` - The number of unique root domains linked via dofollow links from the target.
    * `outgoing_links` - The number of external links from the target.
    * `outgoing_links_dofollow` - The number of external dofollow links from the target.
  </Accordion>

  <Accordion title="Organic keywords (`organic_keywords`)">
    Keywords each target ranks for in the top 100 organic results.

    **Primary key:** `target`, `keyword`, `keyword_country` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `best_position` - The top position your target ranks for in the organic search results for a keyword.
    * `best_position_diff` - The change in position between your selected dates.
    * `best_position_has_thumbnail` - The top position has a thumbnail.
    * `best_position_has_video` - The top position has a video.
    * `best_position_kind` - The kind of the top position: organic, paid, or a SERP feature.
    * `best_position_set` - The ranking group of the top position.
    * `best_position_url` - The ranking URL in organic search results.
    * `cpc` - Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.
    * `entities` - Organizations, products, persons, works, events, and locations found in a keyword. Serialized as a JSON array of objects.
    * `is_best_position_set_top_11_50` - The ranking group of the top position is 11-50.
    * `is_best_position_set_top_3` - The ranking group of the top position is Top 3.
    * `is_best_position_set_top_4_10` - The ranking group of the top position is 4-10.
    * `is_branded` - User intent: branded. The user is searching for a specific brand or company name.
    * `is_commercial` - User intent: commercial. The user is comparing products or services before making a purchase decision.
    * `is_informational` - User intent: informational. The user is looking for information or an answer to a specific question.
    * `is_local` - User intent: local. The user is looking for information relevant to a specific location or nearby services.
    * `is_navigational` - User intent: navigational. The user is searching for a specific website or web page.
    * `is_transactional` - User intent: transactional. The user is ready to complete an action, often a purchase.
    * `keyword` - The keyword your target ranks for.
    * `keyword_country` - The country of a keyword your target ranks for.
    * `keyword_difficulty` - An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale. Costs 10 API units per row.
    * `keyword_language` - The language of the search query.
    * `language` - The SERP language.
    * `last_update` - The date when we last checked search engine results for a keyword.
    * `serp_features` - The SERP features that appear in search results for a keyword.
    * `serp_features_count` - The number of SERP features that appear in search results for a keyword.
    * `serp_target_main_positions_count` - The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter).
    * `serp_target_positions_count` - The number of target URLs ranking for a keyword.
    * `status` - The status of a page: the new page that just started to rank ('left'), the lost page that disappeared from search results ('right'), or no change ('both').
    * `sum_paid_traffic` - An estimation of the number of monthly visits that your target gets from paid search for a keyword. Costs 10 API units per row.
    * `sum_traffic` - An estimation of the number of monthly visitors that your target gets from organic search for a keyword. Costs 10 API units per row.
    * `volume` - An estimation of the number of searches for a keyword over the latest month. Costs 10 API units per row.
    * `volume_desktop_pct` - The percentage of the total search volume that comes from desktop devices.
    * `volume_mobile_pct` - The percentage of the total search volume that comes from mobile devices.
    * `words` - The number of words in a keyword.
  </Accordion>

  <Accordion title="Organic competitors (`organic_competitors`)">
    Sites competing with each target for the same organic keywords.

    **Primary key:** `target`, `competitor_domain` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `competitor_domain` - A competitor's domain of your target in 'domains' group mode.
    * `competitor_url` - A competitor's URL of your target in pages' group mode.
    * `domain_rating` - The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.
    * `group_mode` - To see competing pages instead, use the 'exact URL' target mode or 'path' target mode if your target doesn't have multiple pages.
    * `keywords_common` - Organic keywords that both your target and a competitor are ranking for.
    * `keywords_competitor` - Organic keywords that a competitor is ranking for, but your target isn't.
    * `keywords_target` - Organic keywords that your target is ranking for, but a competitor isn't.
    * `pages` - The total number of pages from a target ranking in search results.
    * `pages_diff` - The change in pages between your selected dates.
    * `share` - The percentage of common keywords out of the total number of keywords that your target and a competitor both rank for.
    * `traffic` - An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the 'volume\_mode' parameter. Costs 10 API units per row.
    * `traffic_diff` - The change in traffic between your selected dates.
    * `value` - The estimated value of a page's monthly organic search traffic, in USD cents. Costs 10 API units per row.
    * `value_diff` - The change in value between your selected dates.
  </Accordion>

  <Accordion title="Top pages (`top_pages`)">
    Pages of each target that bring the most organic search traffic.

    **Primary key:** `target`, `url` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `keywords` - The total number of keywords that your target ranks for in the top 100 organic search results.
    * `keywords_diff` - The change in keywords between your selected dates.
    * `keywords_diff_percent` - The change in keywords between your selected dates, in percents.
    * `page_type` - Comma-separated list of AI-predicted hierarchical page type paths. Each value is a slash-prefixed path (e.g. /Article/How\_to).
    * `referring_domains` - The number of unique domains linking to a page. Costs 5 API units per row.
    * `status` - The status of a page: the new page that just started to rank ('left'), the lost page that disappeared from search results ('right'), or no change ('both').
    * `sum_traffic` - An estimation of the monthly organic search traffic that a page gets from all the keywords that it ranks for. Costs 10 API units per row.
    * `top_keyword` - The keyword that brings the most organic traffic to a page.
    * `top_keyword_best_position` - The ranking position that a page holds for its top keyword.
    * `top_keyword_best_position_diff` - The change in the top position between your selected dates.
    * `top_keyword_best_position_kind` - The kind of the top position: organic, paid or a SERP feature.
    * `top_keyword_best_position_title` - The title displayed for the page in its top keyword's SERP.
    * `top_keyword_country` - The country in which a page ranks for its top keyword.
    * `top_keyword_volume` - An estimation of the average monthly number of searches for the top keyword over the latest month or over the latest known 12 months of data depending on the 'volume\_mode' parameter. Costs 10 API units per row.
    * `traffic_diff` - The change in traffic between your selected dates.
    * `traffic_diff_percent` - The change in traffic between your selected dates, in percents.
    * `ur` - URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale.
    * `url` - The ranking page URL.
    * `value` - The estimated value of a page's monthly organic search traffic, in USD cents. Costs 10 API units per row.
    * `value_diff` - The change in traffic value between your selected dates.
    * `value_diff_percent` - The change in traffic value between your selected dates, in percents.
  </Accordion>

  <Accordion title="Paid pages (`paid_pages`)">
    Pages of each target that receive paid search traffic.

    **Primary key:** `target`, `url` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `ads_count` - The number of unique ads with a page.
    * `ads_count_diff` - The change in ads between your selected dates.
    * `keywords` - The total number of keywords that your target ranks for in paid search results.
    * `keywords_diff` - The change in keywords between your selected dates.
    * `keywords_diff_percent` - The change in keywords between your selected dates, in percents.
    * `referring_domains` - The number of unique domains linking to a page. Costs 5 API units per row.
    * `status` - The status of a page: the new page that just started to rank in paid results ('left'), the lost page that disappeared from paid results ('right'), or no change ('both').
    * `sum_traffic` - An estimation of the monthly paid search traffic that a page gets from all the keywords that it ranks for. Costs 10 API units per row.
    * `top_keyword` - The keyword that brings the most paid traffic to a page.
    * `top_keyword_best_position` - The ranking position that a page holds for its top keyword.
    * `top_keyword_best_position_diff` - The change in the top position between your selected dates.
    * `top_keyword_best_position_kind` - The kind of the top position: organic, paid or a SERP feature.
    * `top_keyword_best_position_title` - The title displayed for the page in its top keyword's SERP.
    * `top_keyword_country` - The country in which a page ranks for its top keyword.
    * `top_keyword_volume` - An estimation of the average monthly number of searches for the top keyword over the latest month or over the latest known 12 months of data depending on the 'volume\_mode' parameter. Costs 10 API units per row.
    * `traffic_diff` - The change in traffic between your selected dates.
    * `traffic_diff_percent` - The change in traffic between your selected dates, in percents.
    * `ur` - URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale.
    * `url` - The ranking page URL.
    * `value` - The estimated cost of a page's monthly paid search traffic, in USD cents. Costs 10 API units per row.
    * `value_diff` - The change in traffic value between your selected dates.
    * `value_diff_percent` - The change in traffic value between your selected dates, in percents.
  </Accordion>

  <Accordion title="Referring domains (`refdomains`)">
    Domains linking to each target, strongest first.

    **Primary key:** `target`, `domain` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `dofollow_linked_domains` - The number of unique root domains with dofollow links linked from the referring domain.
    * `dofollow_links` - The number of links from the referring domain to your target that don't have the 'nofollow' attribute.
    * `dofollow_refdomains` - The number of unique domains with dofollow links to the referring domain. Costs 5 API units per row.
    * `domain` - A referring domain that has at least one link to your target.
    * `domain_rating` - The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.
    * `first_seen` - The date we first found a backlink to your target from the referring domain.
    * `ip_source` - The referring domain IP address.
    * `is_root_domain` - The domain name is a root domain name.
    * `is_spam` - Indicates whether the backlink comes from a known spammy domain.
    * `last_seen` - The date your target lost its last live backlink for the referring domain.
    * `links_to_target` - The number of backlinks from the referring domain to your target.
    * `lost_links` - The number of backlinks lost from the referring domain for the selected time period.
    * `new_links` - The number of new backlinks found from the referring domain for the selected time period.
    * `positions_source_domain` - The number of keywords that the referring domain ranks for in the top 100 positions.
    * `traffic_domain` - The referring domain's estimated monthly organic traffic from search. Costs 10 API units per row.
  </Accordion>

  <Accordion title="Anchors (`anchors`)">
    Anchor texts used by the links pointing at each target.

    **Primary key:** `target`, `anchor` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `anchor` - The clickable words in a link that point to a URL.
    * `dofollow_links` - The number of links with a given anchor to your target that don't have the 'nofollow' attribute.
    * `first_seen` - The date we first found a link with a given anchor to your target.
    * `is_spam` - Indicates whether the backlink comes from a known spammy domain.
    * `last_seen` - The date we discovered the last backlink with a given anchor was lost.
    * `links_to_target` - The number of inbound backlinks your target has with a given anchor.
    * `lost_links` - The number of backlinks with a given anchor lost during the selected time period.
    * `new_links` - The number of new backlinks with a given anchor found during the selected time period.
    * `refdomains` - The number of unique domains linking to your target with a given anchor. Costs 5 API units per row.
    * `refpages` - The number of pages containing a link with a given anchor to your target.
    * `top_domain_rating` - The highest Domain Rating (DR) counted out of all referring domains. DR shows the strength of a website's backlink profile compared to the others in our database on a 100-point scale.
  </Accordion>

  <Accordion title="Backlinks (`all_backlinks`)">
    Individual backlinks pointing at each target, strongest first.

    **Primary key:** `target`, `url_from`, `url_to`, `anchor` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `ahrefs_rank_source` - The strength of the referring domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.
    * `ahrefs_rank_target` - The strength of the target domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.
    * `alt` - The alt attribute of the link.
    * `anchor` - The clickable words in a link that point to a URL.
    * `broken_redirect_new_target` - The new destination of a modified redirect.
    * `broken_redirect_reason` - The reason the redirect was considered broken during the last crawl.
    * `broken_redirect_source` - The redirecting URL that was modified, causing the redirect to become broken.
    * `class_c` - The number of unique class\_c subnets linking to the referring page. Costs 5 API units per row.
    * `discovered_status` - The reason the link was discovered during the last crawl: the page was crawled for the first time, the link was added to the page, or the link re-appeared after being removed.
    * `domain_rating_source` - The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.
    * `domain_rating_target` - The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.
    * `drop_reason` - The reason we removed the link from our index.
    * `encoding` - The character set encoding of the referring page HTML.
    * `first_seen` - The date the referring page URL was first discovered.
    * `first_seen_link` - The date we first found a backlink to your target on a given referring page.
    * `http_code` - The return code from HTTP protocol returned during the referring page crawl.
    * `http_crawl` - The link was discovered without executing javascript and rendering the page.
    * `ip_source` - The referring domain IP address.
    * `is_alternate` - The link with the rel='alternate' attribute.
    * `is_canonical` - The link with the rel='canonical' attribute.
    * `is_content` - The link was found in the biggest piece of content on the page.
    * `is_dofollow` - The link has no special nofollow attribute.
    * `is_form` - The link was found in a form HTML tag.
    * `is_frame` - The link was found in an iframe HTML tag.
    * `is_image` - The link is a regular link that has an image inside their href attribute.
    * `is_lost` - The link currently does not exist anymore.
    * `is_new` - The link was discovered on the last crawl.
    * `is_nofollow` - The link or the referring page has the nofollow attribute set.
    * `is_redirect` - The link pointing to your target via a redirect.
    * `is_redirect_lost` - The redirected link currently does not exist anymore.
    * `is_root_source` - The referring domain name is a root domain name.
    * `is_root_target` - The target domain name is a root domain name.
    * `is_rss` - The link was found in an RSS feed.
    * `is_spam` - Indicates whether the backlink comes from a known spammy domain.
    * `is_sponsored` - The link has the Sponsored attribute set in the referring page HTML.
    * `is_text` - The link is a standard href hyperlink.
    * `is_ugc` - The link has the User Generated Content attribute set in the referring page HTML.
    * `js_crawl` - The link was discovered after executing javascript and rendering the page.
    * `languages` - The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.
    * `last_seen` - The date we discovered that the link was lost.
    * `last_visited` - The date we last verified a live link to your target page.
    * `link_group_count` - The number of backlinks that were grouped together based on the aggregation parameter. This field cannot be used with aggregation 'all'.
    * `link_type` - The kind of the backlink.
    * `linked_domains_source_domain` - The number of unique root domains linked from the referring domain.
    * `linked_domains_source_page` - The number of unique root domains linked from the referring page.
    * `linked_domains_target_domain` - The number of unique root domains linked from the target domain.
    * `links_external` - The number of external links from the referring page.
    * `links_internal` - The number of internal links from the referring page.
    * `lost_reason` - The reason the link was lost during the last crawl.
    * `name_source` - The complete referring domain name, including subdomains.
    * `name_target` - The complete target domain name, including subdomains.
    * `noindex` - The referring page has the noindex meta attribute.
    * `page_category_source` - Comma-separated list of AI-predicted hierarchical category paths for the referring page. Each value is a slash-prefixed path (e.g. /Business\_and\_Industrial/Advertising\_and\_Marketing/Marketing).
    * `page_size` - The size in bytes of the referring page content.
    * `page_type_source` - Comma-separated list of AI-predicted hierarchical page type paths for the referring page. Each value is a slash-prefixed path (e.g. /Article/How\_to).
    * `port_source` - The network port of the referring page URL.
    * `port_target` - The network port of the target page URL.
    * `positions` - The number of keywords that the referring page ranks for in the top 100 positions.
    * `powered_by` - Web technologies used to build and serve the referring page content.
    * `redirect_code` - The HTTP status code of a referring page pointing to your target via a redirect.
    * `redirect_kind` - The HTTP status codes returned by the target redirecting URL or redirect chain.
    * `refdomains_source` - The number of unique referring domains linking to the referring page. Costs 5 API units per row.
    * `refdomains_source_domain` - The number of unique referring domains linking to the referring domain. Costs 5 API units per row.
    * `refdomains_target_domain` - The number of unique referring domains linking to the target domain. Costs 5 API units per row.
    * `root_name_source` - The root domain name of the referring domain, not including subdomains.
    * `root_name_target` - The root domain name of the target domain, not including subdomains.
    * `snippet_left` - The snippet of text appearing just before the link.
    * `snippet_right` - The snippet of text appearing just after the link.
    * `source_page_author` - The author of the referring page.
    * `source_page_publish_date` - the date we identified the page was published.
    * `title` - The html title of the referring page.
    * `tld_class_source` - The top level domain class of the referring domain.
    * `tld_class_target` - The top level domain class of the target domain.
    * `traffic` - The referring page's estimated monthly organic traffic from search. Costs 10 API units per row.
    * `traffic_domain` - The referring domain's estimated monthly organic traffic from search. Costs 10 API units per row.
    * `url_from` - The URL of the page containing a link to your target.
    * `url_rating_source` - The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale.
    * `url_redirect` - A redirect chain the target URL of the link points to.
    * `url_redirect_with_target` - The target URL of the link with its redirect chain.
    * `url_to` - The URL the backlink points to.
  </Accordion>

  <Accordion title="Broken backlinks (`broken_backlinks`)">
    Backlinks pointing at pages of each target that no longer resolve.

    **Primary key:** `target`, `url_from`, `url_to`, `anchor` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `ahrefs_rank_source` - The strength of the referring domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.
    * `ahrefs_rank_target` - The strength of the target domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.
    * `alt` - The alt attribute of the link.
    * `anchor` - The clickable words in a link that point to a URL.
    * `class_c` - The number of unique class\_c subnets linking to the referring page. Costs 5 API units per row.
    * `domain_rating_source` - The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.
    * `domain_rating_target` - The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.
    * `encoding` - The character set encoding of the referring page HTML.
    * `first_seen` - The date the referring page URL was first discovered.
    * `first_seen_link` - The date we first found a backlink to your target on a given referring page.
    * `http_code` - The return code from HTTP protocol returned during the referring page crawl.
    * `http_code_target` - The return code from HTTP protocol returned during the target page crawl.
    * `http_crawl` - The link was discovered without executing javascript and rendering the page.
    * `ip_source` - The referring domain IP address.
    * `is_alternate` - The link with the rel='alternate' attribute.
    * `is_canonical` - The link with the rel='canonical' attribute.
    * `is_content` - The link was found in the biggest piece of content on the page.
    * `is_dofollow` - The link has no special nofollow attribute.
    * `is_form` - The link was found in a form HTML tag.
    * `is_frame` - The link was found in an iframe HTML tag.
    * `is_image` - The link is a regular link that has an image inside their href attribute.
    * `is_nofollow` - The link or the referring page has the nofollow attribute set.
    * `is_redirect` - The link pointing to your target via a redirect.
    * `is_root_source` - The referring domain name is a root domain name.
    * `is_root_target` - The target domain name is a root domain name.
    * `is_rss` - The link was found in an RSS feed.
    * `is_spam` - Indicates whether the backlink comes from a known spammy domain.
    * `is_sponsored` - The link has the Sponsored attribute set in the referring page HTML.
    * `is_text` - The link is a standard href hyperlink.
    * `is_ugc` - The link has the User Generated Content attribute set in the referring page HTML.
    * `js_crawl` - The link was discovered after executing javascript and rendering the page.
    * `languages` - The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.
    * `last_seen` - The date we discovered that the link was lost.
    * `last_visited` - The date we last re-crawled the referring page to verify the backlink is alive.
    * `last_visited_target` - The date we last re-crawled the target page to verify that it is broken.
    * `link_group_count` - The number of backlinks that were grouped together based on the aggregation parameter. This field cannot be used with aggregation 'all'.
    * `link_type` - The kind of the backlink.
    * `linked_domains_source_domain` - The number of unique root domains linked from the referring domain.
    * `linked_domains_source_page` - The number of unique root domains linked from the referring page.
    * `linked_domains_target_domain` - The number of unique root domains linked from the target domain.
    * `links_external` - The number of external links from the referring page.
    * `links_internal` - The number of internal links from the referring page.
    * `name_source` - The complete referring domain name, including subdomains.
    * `name_target` - The complete target domain name, including subdomains.
    * `page_category_source` - Comma-separated list of AI-predicted hierarchical category paths for the referring page. Each value is a slash-prefixed path (e.g. /Business\_and\_Industrial/Advertising\_and\_Marketing/Marketing).
    * `page_size` - The size in bytes of the referring page content.
    * `page_type_source` - Comma-separated list of AI-predicted hierarchical page type paths for the referring page. Each value is a slash-prefixed path (e.g. /Article/How\_to).
    * `port_source` - The network port of the referring page URL.
    * `port_target` - The network port of the target page URL.
    * `positions` - The number of keywords that the referring page ranks for in the top 100 positions.
    * `powered_by` - Web technologies used to build and serve the referring page content.
    * `redirect_code` - The HTTP status code of a referring page pointing to your target via a redirect.
    * `redirect_kind` - The HTTP status codes returned by the target redirecting URL or redirect chain.
    * `refdomains_source` - The number of unique referring domains linking to the referring page. Costs 5 API units per row.
    * `refdomains_source_domain` - The number of unique referring domains linking to the referring domain. Costs 5 API units per row.
    * `refdomains_target_domain` - The number of unique referring domains linking to the target domain. Costs 5 API units per row.
    * `root_name_source` - The root domain name of the referring domain, not including subdomains.
    * `root_name_target` - The root domain name of the target domain, not including subdomains.
    * `snippet_left` - The snippet of text appearing just before the link.
    * `snippet_right` - The snippet of text appearing just after the link.
    * `source_page_author` - The author of the referring page.
    * `title` - The html title of the referring page.
    * `tld_class_source` - The top level domain class of the referring domain.
    * `tld_class_target` - The top level domain class of the target domain.
    * `traffic` - The referring page's estimated monthly organic traffic from search. Costs 10 API units per row.
    * `traffic_domain` - The referring domain's estimated monthly organic traffic from search. Costs 10 API units per row.
    * `url_from` - The URL of the page containing a link to your target.
    * `url_rating_source` - The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale.
    * `url_redirect` - A redirect chain the target URL of the link points to.
    * `url_redirect_with_target` - The target URL of the link with its redirect chain.
    * `url_to` - The URL the backlink points to.
  </Accordion>

  <Accordion title="Best pages by backlinks (`pages_by_backlinks`)">
    Pages of each target that attract the most referring domains.

    **Primary key:** `target`, `url_to` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `dofollow_to_target` - The number of links to your target page that don't have the 'nofollow' attribute.
    * `first_seen_link` - The date we first found a link to your target.
    * `http_code_target` - The return code from HTTP protocol returned during the target page crawl.
    * `is_spam` - Indicates whether the backlink comes from a known spammy domain.
    * `languages_target` - The languages listed in the target page metadata or detected by the crawler to appear in the HTML.
    * `last_seen` - The date your target page lost its last live link.
    * `last_visited_source` - The date we last verified a live link to your target page.
    * `last_visited_target` - The date we last crawled your target page.
    * `links_to_target` - The number of inbound backlinks the target page has.
    * `lost_links_to_target` - The number of backlinks lost during the selected time period.
    * `new_links_to_target` - The number of new backlinks found during the selected time period.
    * `nofollow_to_target` - The number of links to your target page that have the 'nofollow' attribute.
    * `powered_by_target` - Web technologies used to build and serve the target page content.
    * `redirects_to_target` - The number of inbound redirects to your target page.
    * `refdomains_target` - The number of unique referring domains linking to the target page. Costs 5 API units per row.
    * `target_redirect` - The target's redirect if any.
    * `title_target` - The html title of the target page.
    * `top_domain_rating_source` - The highest Domain Rating (DR) counted out of all referring domains. DR shows the strength of a website's backlink profile compared to the others in our database on a 100-point scale.
    * `url_rating_target` - The strength of the target page's backlink profile compared to the others in our database on a 100-point scale.
    * `url_to` - The URL the backlink points to.
  </Accordion>

  <Accordion title="Crawled pages (`crawled_pages`)">
    Pages of each target that the Ahrefs crawler has visited.

    **Primary key:** `target`, `url` - **Sync:** full table

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `first_seen` - The timestamp when the URL was first seen by Ahrefs.
    * `http_code` - The HTTP status code returned when the page was last crawled.
    * `last_attempt` - The timestamp of the last crawl attempt.
    * `last_crawled` - The timestamp of the last successful crawl.
    * `title` - The page's meta title.
    * `url` - The URL of the crawled page.
    * `url_rating` - URL Rating of the page at the time of the last crawl, on a 100-point scale.
  </Accordion>
</AccordionGroup>

### Site Explorer - history

<AccordionGroup>
  <Accordion title="Domain rating history (`domain_rating_history`)">
    Domain Rating of each target over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `domain_rating` - The strength of your target page's backlink profile compared to the other websites in our database on a 100-point logarithmic scale.
  </Accordion>

  <Accordion title="URL rating history (`url_rating_history`)">
    URL Rating of each target over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `url_rating` - The strength of your target page's backlink profile compared to the other websites in our database on a 100-point logarithmic scale.
  </Accordion>

  <Accordion title="Metrics history (`metrics_history`)">
    Organic and paid traffic and traffic value of each target over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `org_cost` - The estimated cost of your target's monthly organic search traffic, in USD cents. Costs 10 API units per row.
    * `org_traffic` - The estimated number of monthly visitors that your target gets from organic search. Costs 10 API units per row.
    * `paid_cost` - The estimated cost of your target's monthly paid search traffic, in USD cents. Costs 10 API units per row.
    * `paid_traffic` - The estimated number of monthly visitors that your target gets from paid search. Costs 10 API units per row.
  </Accordion>

  <Accordion title="Referring domains history (`refdomains_history`)">
    Number of domains linking to each target over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `refdomains` - The total number of unique domains linking to your target. Costs 5 API units per row.
  </Accordion>

  <Accordion title="Pages history (`pages_history`)">
    Number of pages of each target ranking in organic search over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `pages` - The total number of pages from a target ranking in the top 100 organic search results.
  </Accordion>

  <Accordion title="Keywords history (`keywords_history`)">
    Organic keyword counts of each target, split by ranking group, over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `top11_20` - The total number of keywords that your target ranks for in the top 11-20 organic search results.
    * `top11_plus` - The total number of keywords that your target ranks for in the top 11+ organic search results.
    * `top21_50` - The total number of keywords that your target ranks for in the top 21-50 organic search results.
    * `top3` - The total number of keywords that your target ranks for in the top 3 organic search results.
    * `top4_10` - The total number of keywords that your target ranks for in the top 4-10 organic search results.
    * `top51_plus` - The total number of keywords that your target ranks for in the top 51+ organic search results.
  </Accordion>

  <Accordion title="Total search volume history (`total_search_volume_history`)">
    Combined search volume of the keywords each target ranks for, over time.

    **Primary key:** `target`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `target` - The domain or URL the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `total_search_volume` - The total search volume of keywords for which your target ranks within the specified `top_positions` in the search results. Costs 10 API units per row.
  </Accordion>
</AccordionGroup>

### Keywords Explorer

<AccordionGroup>
  <Accordion title="Keywords overview (`keywords_overview`)">
    Search volume, difficulty and click metrics of each configured keyword.

    **Primary key:** `keyword`, `country` - **Sync:** full table

    **Fields:**

    * `country` - The two-letter country code (ISO 3166-1 alpha-2) the report was requested for.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `clicks` - The average monthly number of clicks on the search results that people make while searching for the target keyword.
    * `cpc` - Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.
    * `cps` - Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.
    * `difficulty` - An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale. Costs 10 API units per row.
    * `first_seen` - The date when we first checked search engine results for a keyword.
    * `global_volume` - How many times per month, on average, people search for the target keyword across all countries in our database. Costs 10 API units per row.
    * `intents` - Indicates the purpose behind the user's search query. Object fields: `informational`, `navigational`, `commercial`, `transactional`, `branded` or `local`. All the fields are of type `bool`, with possible values `true` or `false`. Costs 10 API units per row. Serialized as a JSON object.
    * `keyword` - The keyword reported by Ahrefs.
    * `parent_topic` - Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.
    * `parent_volume` - The search volume of the parent topic. Costs 10 API units per row.
    * `searches_pct_clicks_organic_and_paid` - The average monthly percentage of people who clicked on both organic and paid results while searching for the target keyword.
    * `searches_pct_clicks_organic_only` - The average monthly percentage of people who clicked only on organic results while searching for the target keyword.
    * `searches_pct_clicks_paid_only` - The average monthly percentage of people who clicked only on paid results while searching for the target keyword.
    * `serp_features` - The enriched results on a search engine results page (SERP) that are not traditional organic results.
    * `serp_last_update` - The date when we last checked search engine results for a keyword.
    * `traffic_potential` - The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for. Costs 10 API units per row.
    * `volume` - An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data. Costs 10 API units per row.
    * `volume_desktop_pct` - The percentage of searches for a keyword performed on desktop devices.
    * `volume_mobile_pct` - The percentage of searches for a keyword performed on mobile devices.
    * `volume_monthly` - An estimation of the number of searches for a keyword over the latest month. This field may not be included in the `order_by` parameter. Costs 10 API units per row.
  </Accordion>

  <Accordion title="Keyword volume history (`keywords_volume_history`)">
    Monthly search volume of each configured keyword over time.

    **Primary key:** `keyword`, `country`, `date` - **Sync:** incremental on `date`

    **Fields:**

    * `keyword` - The keyword the report was requested for.
    * `country` - The two-letter country code (ISO 3166-1 alpha-2) the report was requested for.
    * `date` - The date reported by Ahrefs.
    * `volume` - An estimation of the number of searches for a keyword over a given month.
  </Accordion>
</AccordionGroup>

### Rank Tracker

<AccordionGroup>
  <Accordion title="Rank Tracker overview (`rank_tracker_overview`)">
    Current ranking of every keyword tracked in each Rank Tracker project.

    **Primary key:** `project_id`, `device`, `keyword`, `country` - **Sync:** full table

    **Fields:**

    * `project_id` - The unique identifier of the Ahrefs project the report belongs to.
    * `device` - The device rankings were tracked on: desktop or mobile.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `best_position_has_thumbnail` - The top position (or target URL's, if set) has a thumbnail.
    * `best_position_has_video_preview` - The top position (or target URL's, if set) has a video preview.
    * `best_position_kind` - The kind of top position (or target URL's, if set): organic, paid, or a SERP feature.
    * `clicks` - Clicks metric refers to the average monthly number of clicks on the search results that people make while searching for the target keyword. Some searches generate clicks on multiple results, while others might not end in any clicks at all.
    * `clicks_per_search` - Clicks Per Search is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.
    * `cost_per_click` - Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword.
    * `country` - The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).
    * `created_at` - The date when a keyword was added to the project.
    * `is_branded` - User intent: branded. The user is searching for a specific brand or company name.
    * `is_commercial` - User intent: commercial. The user is comparing products or services before making a purchase decision.
    * `is_informational` - User intent: informational. The user is looking for information or an answer to a specific question.
    * `is_local` - User intent: local. The user is looking for information relevant to a specific location or nearby services.
    * `is_navigational` - User intent: navigational. The user is searching for a specific website or web page.
    * `is_transactional` - User intent: transactional. The user is ready to complete an action, often a purchase.
    * `keyword` - The keyword your target ranks for.
    * `keyword_difficulty` - An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.
    * `keyword_has_data` - Will return `false` if the keyword is still processing and no SERP has been fetched yet.
    * `keyword_is_frozen` - Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are 'frozen', meaning they do not have their rankings updated.
    * `language` - The SERP language that a given keyword is being tracked for.
    * `location` - The location (country, state/province, or city) that a given keyword is being tracked in.
    * `parent_topic` - Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.
    * `position` - The top position (or target URL's, if set) in organic search.
    * `position_diff` - The change in top position (or target URL's, if set) between selected dates.
    * `search_type_image` - Search type Image shows the percentage of searches for a keyword made for images, highlighting interest in visual content.
    * `search_type_news` - Search type News shows the percentage of searches for a keyword made for news articles.
    * `search_type_video` - Search type Video shows the percentage of searches for a keyword made for video, reflecting interest in video content.
    * `search_type_web` - Search type Web shows the percentage of searches for a keyword made for general web content, indicating interest in a wide range of information.
    * `serp_features` - The SERP features that appear in search results for a keyword.
    * `serp_updated` - The date when we last checked search engine results for a keyword.
    * `tags` - A list of tags assigned to a given keyword.
    * `target_positions_count` - The number of target URLs ranking for a keyword.
    * `traffic` - An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the 'volume\_mode' parameter.
    * `traffic_diff` - The change in traffic between your selected dates.
    * `url` - The top-ranking URL (or target URL, if set) in organic search.
    * `volume` - An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the 'volume\_mode' parameter.
    * `volume_desktop_pct` - The percentage of the total search volume that comes from desktop devices.
    * `volume_mobile_pct` - The percentage of the total search volume that comes from mobile devices.
  </Accordion>

  <Accordion title="Rank Tracker competitors (`rank_tracker_competitors_stats`)">
    Visibility of each competitor tracked in a Rank Tracker project.

    **Primary key:** `project_id`, `device`, `competitor` - **Sync:** full table

    **Fields:**

    * `project_id` - The unique identifier of the Ahrefs project the report belongs to.
    * `device` - The device rankings were tracked on: desktop or mobile.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `ai_overview_count` - The total number of tracked keywords for which your target ranks in an AI Overview.
    * `average_position` - The average of your target's top organic positions across all tracked keywords.
    * `competitor` - Competitor's URL.
    * `discussions_count` - The total number of tracked keywords for which your target ranks in Discussions and forums.
    * `featured_snippet_count` - The total number of tracked keywords for which your target ranks in a Featured snippet.
    * `image_pack_count` - The total number of tracked keywords for which your target ranks in an Image pack.
    * `knowledge_card_count` - The total number of tracked keywords for which your target ranks in a Knowledge card.
    * `knowledge_panel_count` - The total number of tracked keywords for which your target ranks in a Knowledge panel.
    * `pos_11_20` - The total number of tracked keywords for which your target's top organic position is within the 11th to 20th results.
    * `pos_1_3` - The total number of tracked keywords for which your target's top organic position is within the top 3 results.
    * `pos_21_50` - The total number of tracked keywords for which your target's top organic position is within the 21st to 50th results.
    * `pos_4_10` - The total number of tracked keywords for which your target's top organic position is within the 4th to 10th results.
    * `pos_51_plus` - The total number of tracked keywords for which your target's top organic position is the 51st or higher.
    * `pos_no_rank` - The total number of tracked keywords where your target doesn't rank.
    * `share_of_traffic_value` - The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords.
    * `share_of_voice` - The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords.
    * `sitelinks_count` - The total number of tracked keywords for which your target ranks in Sitelinks.
    * `thumbnail_count` - The total number of tracked keywords for which your target ranks in a Thumbnail.
    * `top_stories_count` - The total number of tracked keywords for which your target ranks in Top stories.
    * `traffic` - The estimated number of monthly visits that your target gets from organic search for all tracked keywords.
    * `traffic_value` - The estimated value of your target's monthly organic search traffic for all tracked keywords.
    * `video_preview_count` - The total number of tracked keywords for which your target ranks in a Video preview.
    * `videos_count` - The total number of tracked keywords for which your target ranks in Videos.
    * `x_count` - The total number of tracked keywords for which your target ranks in an X (Twitter) widget.
  </Accordion>
</AccordionGroup>

### Site Audit

<AccordionGroup>
  <Accordion title="Site Audit projects (`site_audit_projects`)">
    Health score and crawl summary of every Site Audit project.

    **Primary key:** `project_id` - **Sync:** full table

    **Fields:**

    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `date` - The finish date and time of the last finished crawl, in GMT time zone.
    * `health_score` - Reflects the proportion of internal URLs on your site that do not have errors, based on the last finished crawl. Excludes crawls that are starting, in progress, finalizing, or were skipped.
    * `project_id` - The unique identifier of the project.
    * `project_name` - The project name.
    * `status` - The status of the most recent finished crawl. Possible values: `Completed`, `Stopped`, `Error`, `In_progress`.
    * `target_mode` - The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`.
    * `target_protocol` - The protocol of the target. Possible values: `both`, `http`, `https`.
    * `target_url` - The URL of the project's target.
    * `total` - Number of total crawled internal URLs.
    * `urls_with_errors` - Number of internal URLs with errors.
    * `urls_with_notices` - Number of internal URLs with notices.
    * `urls_with_warnings` - Number of internal URLs with warnings.
  </Accordion>

  <Accordion title="Site Audit issues (`site_audit_issues`)">
    Issues found by the latest crawl of each Site Audit project.

    **Primary key:** `project_id`, `issue_id` - **Sync:** full table

    **Fields:**

    * `project_id` - The unique identifier of the Ahrefs project the report belongs to.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `added` - Number of URLs that have the issue on the current date but did not have it on the previous date.
    * `category` - The category of the issue. Possible values: `Internal pages`, `Indexability`, `Links`, `Redirects`, `Content`, `Social tags`, `Duplicates`, `Localization`, `Usability and performance`, `Images`, `JavaScript`, `CSS`, `Sitemaps`, `External pages`, `Other`.
    * `change` - Difference in the number of affected URLs between the specified dates.
    * `crawled` - Number of URLs currently affected by the issue.
    * `importance` - The importance of the issue. Possible values: `Error`, `Warning`, `Notice`.
    * `is_indexable` - True if the issue applies only to indexable pages.
    * `issue_id` - The unique identifier of the issue.
    * `missing` - Number of URLs that had the issue on the previous date but cannot be found on the current date.
    * `name` - The name of the issue.
    * `new` - Number of newly discovered URLs that have the issue on the current date.
    * `removed` - Number of URLs that had the issue on the previous date but no longer have it on the current date.
  </Accordion>
</AccordionGroup>

### Project management

<AccordionGroup>
  <Accordion title="Projects (`projects`)">
    Rank Tracker projects the API key has access to.

    **Primary key:** `project_id` - **Sync:** full table

    **Fields:**

    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `access` - The access level of the project. Possible values: `private`, `shared`.
    * `folder` - Innermost folder that the project is in. Serialized as a JSON object.
    * `keyword_count` - The number of keywords in the project.
    * `mode` - The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`.
    * `owned_by` - The email of the project owner.
    * `project_id` - The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`.
    * `project_name` - The project name.
    * `protocol` - The protocol of the target. Possible values: `both`, `http`, `https`.
    * `url` - The URL of the project's target.
    * `verified` - Whether the project is verified.
    * `web_analytics_data_key` - Web Analytics Data Key.
  </Accordion>

  <Accordion title="Project keywords (`project_keywords`)">
    Keywords tracked in each Rank Tracker project, with their location and tags.

    **Primary key:** `project_id`, `keyword`, `location_id` - **Sync:** full table

    **Fields:**

    * `project_id` - The unique identifier of the Ahrefs project the report belongs to.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `keyword` - The keyword added to the project.
    * `language` - The name of the language assigned to a given keyword.
    * `language_code` - The code of the language assigned to a given keyword.
    * `location` - The name of the location assigned to a given keyword.
    * `location_id` - The ID of the location assigned to a given keyword.
    * `tags` - A list of tags assigned to a given keyword.
  </Accordion>

  <Accordion title="Project competitors (`project_competitors`)">
    Competitors configured for each Rank Tracker project.

    **Primary key:** `project_id`, `url` - **Sync:** full table

    **Fields:**

    * `project_id` - The unique identifier of the Ahrefs project the report belongs to.
    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `mode` - The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`.
    * `url` - The URL of the project's target.
  </Accordion>
</AccordionGroup>

### Account

<AccordionGroup>
  <Accordion title="Subscription limits and usage (`subscription_limits_and_usage`)">
    API unit allowance and consumption of the workspace and of this API key.

    **Primary key:** `snapshot_date` - **Sync:** full table

    **Fields:**

    * `snapshot_date` - The UTC date on which this snapshot was pulled from Ahrefs.
    * `api_key_expiration_date` - Date on which this API key will expire and stop working.
    * `subscription` - Ahrefs subscription plan.
    * `units_limit_api_key` - Limit for the number of API units that can be consumed via this API key per billing month (null = unlimited).
    * `units_limit_workspace` - Total number of API units available to the workspace.
    * `units_usage_api_key` - Number of API units consumed by this API key in the current billing month.
    * `units_usage_workspace` - Number of API units consumed by the workspace in the current billing month.
    * `usage_reset_date` - Start date of the next billing period when the API units usage will be reset.
  </Accordion>
</AccordionGroup>
