The SEMrush connector lets you extract data from SEMrush into Dataddo and sync it to any dashboard, database, or data warehouse.
Refer to our website for the list of available metrics and attributes you can extract from SEMrush.
If you have multiple SEMrush accounts and would like to extract the same data from all of them, it's possible through multi-account extraction. Contact our Solutions team to enable this feature.
Data Coverage
SEMrush exposes the following datasets. Each dataset maps to a table you can extract. Example fields are a representative sample; each dataset returns more columns.
| Dataset | Description | Example fields | Date range |
|---|---|---|---|
| Anchors | This report lists anchor texts used in backlinks leading to the queried domain, root domain, or URL. It also includes the number of backlinks and referring domains per anchor. | dynamic (from your account) | No |
| Backlinks | This report lists backlinks for a domain, root domain, or URL. | dynamic (from your account) | No |
| Backlinks Overview | This report provides a summary of backlinks, including their type, referring domains, and IP addresses for a domain, root domain, or URL. | dynamic (from your account) | Yes |
| Broad Match Keyword | The report lists broad matches and alternate search queries, including particular keywords or keyword expressions. | dynamic (from your account) | No |
| Domain Organic Search Keywords | This report lists all keywords from a tracking campaign | dynamic (from your account) | No |
| Indexed Pages | This report shows indexed pages of the queried domain. | dynamic (from your account) | No |
| Keyword Difficulty | This report provides keyword difficulty, an index that helps to estimate how difficult it would be to seize competitors' positions in organic search within Google's top 10 with a queried search term. | dynamic (from your account) | No |
| Keyword Overview (all databases) | This report provides a keyword summary, including its volume, CPC, competition level, and the number of results in all regional databases | dynamic (from your account) | No |
| Organic Results | This report lists domains ranking in Google's top 100 organic search results with a requested keyword. | dynamic (from your account) | No |
| Phrase Questions | The report lists phrase questions relevant to a queried term in a chosen database. | dynamic (from your account) | No |
| Position Tracking | Lists keyword ranking positions for a tracked campaign | dynamic (from your account) | No |
| Related Keywords | This report provides an extended list of related keywords, synonyms, and variations relevant to a queried term in a chosen database. | dynamic (from your account) | No |
| Landing Pages (Organic) | Lists landing page URLs from organic search results with keyword count, average position, and estimated traffic per page. | dynamic (from your account) | No |
| Traffic Summary | This report lists traffic information for a domain, root domain, or URL. | dynamic (from your account) | No |
How Data Extraction Works
What each extraction pulls depends only on whether a dataset supports a date range (see the Date range column above):
- Date range supported (Yes): the source reads a relative window (for example "last 7 days"), and that window slides forward with the current date. Every run re-reads the window, so a range of "1 day ago" always pulls the previous day (D-1). Each run replaces the window's data rather than adding older history. To load records from before the window, run a full data re-sync with a wider range. See Data Backfilling.
- No date range (No): every run pulls all currently available data.
Set the relative date range when you create the source.
Metadata Columns
When you create a source, you can add these Dataddo metadata columns to the extracted data:
- dataddo_hash - a fingerprint built from each record's key fields. It works as a natural key, so it is ideal for upserts (updating existing rows in your destination instead of creating duplicates).
- dataddo_extraction_timestamp - the date and time the row was extracted. Use it to track how records change over time, for example to build slowly changing dimensions.
How to Create a SEMrush Data Source
Creating a data source takes you through six steps, shown in the progress bar at the top of the wizard. Each step is explained below.
1. Pick the connector
On the Sources page, click Create Source, then select the connector from the catalog. Use the search bar or the category tabs if you do not see it right away. You can rename the source at any time using the pencil icon next to its name.
2. Select the dataset
A dataset defines the shape of your data: which fields you get and how they relate. Select the dataset you want; you can still fine-tune the exact fields later.
- Each dataset has a short description of what it contains. Use the search box to find a dataset, attribute, or metric by name.
- The panel on the right previews the selected dataset's fields. For each field you can see its data type, whether it holds sensitive data (personal fields such as name or email are flagged), and which other datasets it links to, so you can see how the datasets relate.
3. Choose the account
This step selects what Dataddo reads from.
- Authorizer: Select an account you have already authorized from the drop-down. If you have none yet, choose Add new account and follow the prompts. If no authorizer is selected, Dataddo asks you to authorize before you continue.
- What to extract from: Select the exact entity you want to pull data from. Depending on the service this may be labelled an account, property, profile, workspace, or similar, sometimes with a sub-level to choose as well.
- Multiple accounts: To pull the same data from every entity you can access, turn on Automatically collect data from all .... This is multi-account extraction. Leave it off to choose them by hand.
4. Refine the attributes and metrics
The dataset already sets the structure. Here you fine-tune it: tick or untick the specific attributes and metrics you want to keep, and use the search box to find a field quickly. Click Test on Sample Data at any point to preview the result before you continue.
5. Add metadata columns (optional)
Two optional columns help your destination handle the data.
- Dataddo Hash (Include Row Hash): a fingerprint built from the columns you pick. It works as a natural key, so your destination can deduplicate rows and run upserts instead of creating duplicates. Turn it on, then select the columns that uniquely identify a row.
- Dataddo Extraction Timestamp: the time each row was extracted. Use it to watermark the data, for example to build slowly changing dimensions or to track when a value last changed.
6. Set the schedule
Decide how often Dataddo runs the extraction.
- Frequency: how often the pipeline runs, for example daily. Click Show advanced settings to also set the exact hour and minute (UTC).
- Date range: the relative window each run extracts, for example "Yesterday". The window moves forward on every run.
- Historical data: a new source starts from the current window. To load older data, run a full data re-sync after the source is created.
- Allow Empty Data Extractions: when on, a run that returns no data records zero rows instead of failing. Turn it on if the source can legitimately have periods with no data.
Click Save. Your data source is ready.
Related Articles
Now that you have successfully created a data source, see how you can connect your data to a dashboarding app or a data storage.
Sending Data to Dashboarding Apps
Sending Data to Data Storages
Other Resources