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

# Data reference

> Metrics, breakdowns, refresh cadence, and limits for the Semrush data source in Adriel.

## Introduction

Semrush is an SEO and competitive-intelligence platform covering keyword research, organic rank tracking, paid-search visibility, backlink analysis, and site authority. The connector exposes Semrush's domain analytics, position tracking, and backlinks surfaces so SEO performance can be visualized alongside paid media and analytics data.

Each data source is scoped to a **report type** chosen when the connection is created — for example organic position tracking, referring domains, or a domain overview. The report type governs which Semrush endpoint family, fields, and default settings apply, and it cannot be changed after creation.

Reports are also scoped to a Semrush **database** — a regional or market index (for example `us`, `uk`, `de`, `mobile-us`, `il-ext`) that determines which SERP corpus keyword and domain figures are computed against. Position-tracking report types additionally select a Semrush **project** (campaign).

As an SEO connector, keyword, ranking, and domain data are standardized so widgets can aggregate alongside ad-platform sources without additional configuration. To connect this data source, see [How to connect Semrush to Adriel](/data-sources/o-z/semrush/how-to-connect).

## Data refresh strategy

### Architecture data

Architecture covers the Semrush account → project (campaign) → tracked-domain hierarchy and the catalog of report families. The report type, database, and project are stored at connection time and reused on every query. The following report types are currently available:

| Report                          | Family            |
| ------------------------------- | ----------------- |
| Tracking Organic Overview       | Position tracking |
| Tracking Organic Position       | Position tracking |
| Referring domains               | Backlinks         |
| Competitors                     | Backlinks         |
| Authority Score profile         | Backlinks         |
| Domain Organic Search Keywords  | Domain analytics  |
| Competitors in Organic Search   | Domain analytics  |
| Competitors in Paid Search      | Domain analytics  |
| Domain Overview (all databases) | Domain analytics  |
| Domain Overview (one database)  | Domain analytics  |

### Reports data

Report data is refreshed **at most once per day** per data source. The first dashboard interaction each day triggers a refresh against the Semrush API for the report type, database, project, and date range; the returned rows are stored in a per-data-source cache and reused for the rest of the day. Because each refresh calls the Semrush API, it consumes API units billed to the Semrush subscription that owns the key (see Limitations).

Granularity depends on the report family: position-tracking reports provide daily rows, while domain-analytics families (organic, paid, backlinks) are monthly — Semrush figures update at its own crawl cadence rather than on a fixed Adriel schedule.

## Architecture levels

Account → Project / Database → Domain / Keyword → Date

Position-tracking reports resolve down to the keyword and tracked URL; domain-analytics and backlinks reports resolve to the domain within the selected database.

## Metrics

<Note>
  **How to read the columns**

  Code style like `organic_traffic` is the literal Semrush API field or column name. *Italic text* describes how a value is produced when it doesn't map cleanly to a single Semrush field or when it's computed by Adriel.

  **Data type vocabulary**: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean.
</Note>

### Keywords & rankings

Available from the position-tracking report types (`tracking:tracking_overview_organic`, `tracking:tracking_position_organic`).

| Metric                            | Description                                                 | Data type  | API Key                            |
| --------------------------------- | ----------------------------------------------------------- | ---------- | ---------------------------------- |
| Position                          | Keyword ranking position in the SERP.                       | Number     | `position`                         |
| Visibility                        | Position-weighted visibility score across tracked keywords. | Percentage | `visibility`                       |
| Share of voice                    | Share of voice across tracked keywords.                     | Percentage | `shareOfVoice`                     |
| Keywords in top 3 / 10 / 20 / 100 | Number of tracked keywords ranking within each SERP band.   | Number     | `top3`, `top10`, `top20`, `top100` |
| Tracked keywords                  | Total keywords tracked in the project overview.             | Number     | `total`                            |
| Searches per month                | Monthly search volume for the keyword.                      | Number     | `searchesPerMonth`                 |
| Average CPC                       | Average cost per click for the keyword (USD).               | Currency   | `averagePriceUSD`                  |

### Visibility & traffic

Available from the domain-analytics report types (`domain_organic`, `domain_ranks`, `domain_rank`, and the competitor variants).

| Metric               | Description                                           | Data type | API Key            |
| -------------------- | ----------------------------------------------------- | --------- | ------------------ |
| Organic keywords     | Total keywords the domain ranks for organically.      | Number    | `organic_keywords` |
| Organic traffic      | Estimated monthly organic visits.                     | Number    | `organic_traffic`  |
| Organic traffic cost | Estimated equivalent CPC cost of the organic traffic. | Currency  | `organic_cost`     |
| Paid keywords        | Keywords the domain bids on.                          | Number    | `adwords_keywords` |
| Paid traffic         | Estimated monthly paid visits.                        | Number    | `adwords_traffic`  |
| Paid traffic cost    | Estimated monthly paid spend.                         | Currency  | `adwords_cost`     |

### Backlinks & authority

Available from the backlinks report types (`backlinks_refdomains`, `backlinks_competitors`, `backlinks_ascore_profile`).

| Metric               | Description                                 | Data type | API Key         |
| -------------------- | ------------------------------------------- | --------- | --------------- |
| Total backlinks      | Total inbound links discovered.             | Number    | `backlinks_num` |
| Referring domains    | Unique referring domains.                   | Number    | `domains_num`   |
| New backlinks        | New links since the previous snapshot.      | Number    | `new`           |
| Lost backlinks       | Links lost since the previous snapshot.     | Number    | `lost`          |
| Authority Score      | Semrush proprietary domain authority score. | Number    | `ascore`        |
| Page Authority Score | Page-level authority score.                 | Number    | `page_ascore`   |

## Breakdowns

<Note>
  **How to read the columns**

  Code style like `keyword` is the literal Semrush API field name. *Italic text* describes how a value is produced when it doesn't map cleanly to a single Semrush field or when it's produced by Adriel. Which breakdowns are available depends on the report type selected for the data source.
</Note>

### Keywords

| Breakdown  | Description                                                    | API Key     |
| ---------- | -------------------------------------------------------------- | ----------- |
| Keyword    | Keyword phrase being tracked.                                  | `keyword`   |
| Keyword ID | Semrush internal keyword identifier.                           | `keywordId` |
| Tag        | Tag applied to the keyword, or `no tag` when none is assigned. | `tag`       |

<Note>
  **Keyword tags duplicate position-tracking rows**

  In `tracking_position_organic` reports, each keyword + URL pair is emitted once per tag assigned to the keyword, and keywords with no tags surface as a single `no tag` row. Numeric metrics in tracking reports use mean (average) aggregation to prevent inflation from this duplication.
</Note>

### Pages

| Breakdown   | Description                                 | API Key      |
| ----------- | ------------------------------------------- | ------------ |
| Target URL  | Target URL pattern tracked for the keyword. | `url`        |
| Landing URL | Actual landing URL observed for the date.   | `landingURL` |

### Domain & database

| Breakdown | Description                                                                                       | API Key    |
| --------- | ------------------------------------------------------------------------------------------------- | ---------- |
| Domain    | Target domain for the report.                                                                     | `domain`   |
| Database  | Regional Semrush index used for the report (for example `us`, `uk`, `de`, `mobile-us`, `il-ext`). | `database` |

### Time

| Breakdown    | Description                                                     | API Key        |
| ------------ | --------------------------------------------------------------- | -------------- |
| Date         | Reporting date.                                                 | `date`         |
| Display date | Date label used by the domain-analytics and backlinks families. | `display_date` |

### Time & date grouping

<Note>
  Adriel groups Semrush results into these standard views so they can be reported alongside other connectors; daily grouping is only meaningful for position-tracking reports, since domain-analytics families are monthly at source.
</Note>

| Breakdown           | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| Auto Time Breakdown | Automatically picks the best granularity for the date range. |
| Daily               | Split reports by day (position tracking only).               |
| Weekly              | Split reports by week.                                       |
| Monthly             | Split reports by calendar month.                             |
| Quarterly           | Split reports by calendar quarter.                           |
| Yearly              | Split reports by calendar year.                              |

## Limitations

Based on the current connector, Semrush has:

* **API units billed to the customer** — every refresh calls the Semrush API and consumes API units from the subscription tied to the key ([Semrush API — API unit balance](https://developer.semrush.com/api/v3/get-started/api-units-balance/)). High-frequency dashboards or many viewers can exhaust the monthly unit budget on smaller plans, and unit-exhaustion errors auto-disconnect the data source until more units are purchased.
* **Report type fixed at connection creation** — the report type is chosen when the connection is created and governs the endpoint, fields, and defaults for every data source built from it; it cannot be changed afterward.
* **Database (region) is not like-for-like** — domain and keyword figures come from a single regional database, and numbers change when the database changes, so results are not directly comparable across databases.
* **Monthly granularity for domain analytics** — organic, paid, and backlinks families are returned at monthly granularity (daily granularity is unavailable); position tracking is daily.
* **Position tracking defaults to the last 90 days** — when no start date is provided for a tracking report, the connector fetches from 90 days ago.
* **Refresh at most once per day** — a data source refreshes on its first use each day and serves cached rows for the remainder of the day; clearing the cache forces a full re-fetch that consumes API units.
* **Null values for missing tracking data** — position, average CPC, searches per month, share of voice, and visibility are returned as empty when Semrush reports `0`, `-`, or no data for a given date and URL.
* **A rate limit of 9 requests per second** — higher volumes are queued and processed sequentially.
* **Read-only** — the connector reads from Semrush and cannot write back.

## API references

* [Semrush API](https://developer.semrush.com/api/)
* [Analytics API — overview reports](https://developer.semrush.com/api/v3/analytics/overview/)
* [Analytics API — backlinks reports](https://developer.semrush.com/api/v3/analytics/backlinks/overview/)
* [Projects API — position tracking](https://developer.semrush.com/api/v3/projects/position-tracking/)
* [Regional databases reference](https://developer.semrush.com/api/basics/database-management/)

## See also

* [How to connect Semrush](/data-sources/o-z/semrush/how-to-connect) (paired how-to)
* [Sistrix data reference](/data-sources/o-z/sistrix/data-reference) — for the alternative SEO visibility connector
* [Google Search Console data reference](/data-sources/g-n/google-search-console/data-reference) — for organic search performance
