Access Semrush's SEO and digital marketing analytics platform to analyze backlinks, keyword rankings, competitor domains, traffic metrics, and search performance data across organic and paid search channels.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Semrush API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Semrush
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Semrush
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Semrush API │
│ (User Chat) │ │ (Proxy) │ │ (SEO Analytics) │
│ │ │ │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Semrush │ │
│ │ 4. API Key Proxy │
│ │ 5. Request Forward │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Semrush │
│ File │ │ Auth │ │ Cloud │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Semrush again."
bash
# Check account API units balance
clawlink_call_tool --tool "semrush_account_units_balance"
# Get keyword overview for a phrase
clawlink_call_tool --tool "semrush_keyword_overview_one_database" --params '{"phrase": "content marketing", "database": "us"}'
# Get backlinks overview for a domain
clawlink_call_tool --tool "semrush_backlinks_overview" --params '{"target": "example.com"}'
All Semrush tool calls are authenticated automatically by ClawLink using your Semrush API key stored securely in the dashboard.
No API key is required in chat. ClawLink injects your API key into every Semrush API request on your behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for semrush in the list.
bash
clawlink_list_tools --integration semrush
Response: Returns the live tool catalog for Semrush.
If Semrush tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration semrushsemrush_account_units_balance before launching large batches.ToolDescriptionModesemrush_account_units_balanceFetch remaining Semrush Standard API units for the authenticated accountRead
ToolDescriptionModesemrush_batch_keyword_overviewFetch keyword overview reports for up to 100 keywords (volume, CPC, difficulty)Readsemrush_broad_match_keywordFetch broad match keywords for a given phraseReadsemrush_keyword_difficultyDetermine Keyword Difficulty (KD) score for a phrase (0-100)Readsemrush_keyword_overview_all_databasesFetch keyword overview across all Semrush regional databasesReadsemrush_keyword_overview_one_databaseFetch keyword summary for a phrase from a specific regional databaseReadsemrush_keywords_ads_historyFetch 12-month historical ad data for a keyword (domains advertising on it)Readsemrush_organic_resultsRetrieve domains and URLs from Google's top 100 organic results for a keywordReadsemrush_paid_resultsFetch domains ranking in Google's paid search results for a keywordReadsemrush_phrase_questionsFetch question-format keywords semantically related to a query phraseReadsemrush_related_keywordsFind related keywords (synonyms, variations) for a target phraseRead
ToolDescriptionModesemrush_anchorsGet CSV report of anchor texts for backlinks pointing to a target domain/URLReadsemrush_authority_score_profileGet Authority Score (AS) distribution for a target (referring domains per AS 0-100)Readsemrush_backlinksFetch backlinks for a domain or URL as semicolon-delimited CSVReadsemrush_backlinks_overviewGet CSV summary of backlinks including Authority Score and link type breakdownsReadsemrush_categoriesRetrieve content categories and confidence ratings for a domainReadsemrush_categories_profileGet content categories profile from referring domains (top 10,000)Readsemrush_historical_dataRetrieve monthly historical backlink and referring domain time seriesReadsemrush_indexed_pagesGet list of indexed pages for a target from SemrushReadsemrush_referring_domainsGet semicolon-delimited report of domains linking to a targetReadsemrush_referring_domains_by_countryGet geographic distribution of referring domains by countryReadsemrush_referring_i_psFetch IP addresses that are sources of backlinks for a targetReadsemrush_tld_distributionGet Top-Level Domain (TLD) distribution of referring domainsRead
ToolDescriptionModesemrush_ads_copiesGet unique ad copies observed for a domain in Google's paid search resultsReadsemrush_batch_comparisonCompare backlink profiles across multiple targetsReadsemrush_competitorsGet CSV report of organic search competitors (shared backlinks or referring domains)Readsemrush_competitors_in_organic_searchGet domain's organic search competitors from SemrushReadsemrush_competitors_in_paid_searchGet list of a domain's paid search competitors from a regional databaseReadsemrush_domain_ad_historyRetrieve 12-month advertising history for a domain (keywords, ad positions, copies)Readsemrush_domain_organic_pagesGet report on domain's unique organic pages ranking in Google's top 100Readsemrush_domain_organic_search_keywordsGet organic search keywords for a domain from a regional databaseReadsemrush_domain_organic_subdomainsGet subdomains of a domain ranking in Google's top 100 organic resultsReadsemrush_domain_paid_search_keywordsFetch keywords driving paid search traffic to a domainReadsemrush_domain_pla_search_keywordsRetrieve Product Listing Ad (PLA) search keywords for a domainReadsemrush_domain_vs_domainCompare up to 5 domains to find common, unique, or gap keywordsReadsemrush_pla_competitorsGet domains competing in Google's Product Listing Ads for a domainReadsemrush_pla_copiesFetch PLA copies observed for a domain in Google's paid search resultsRead
bash
clawlink_call_tool --tool "semrush_account_units_balance"
bash
clawlink_call_tool --tool "semrush_keyword_difficulty" \
--params '{"phrase": "digital marketing tools", "database": "us"}'
clawlink_call_tool --tool "semrush_keyword_overview_one_database" \
--params '{"phrase": "content marketing strategy", "database": "us"}'
bash
clawlink_call_tool --tool "semrush_backlinks_overview" \
--params '{"target": "competitor.com"}'
clawlink_call_tool --tool "semrush_competitors" \
--params '{"target": "competitor.com"}'
bash
clawlink_call_tool --tool "semrush_domain_organic_search_keywords" \
--params '{"target": "example.com", "database": "us"}'
bash
clawlink_call_tool --tool "semrush_domain_vs_domain" \
--params '{"domains": "site1.com,site2.com,site3.com", "database": "us"}'
clawlink_list_integrations to confirm Semrush is connected.clawlink_list_tools --integration semrush to see the live catalog.clawlink_search_tools with a short query and integration semrush.text
┌─────────────────────────────────────────────────────────────┐
│ SEMRUSH OPERATIONS (All Read-Only) │
│ list → get → describe → call │
│ │
│ Example: Check units → Get keyword overview → Parse results │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.sep=';' and cast numeric columns before aggregation.ERROR 50 :: NOTHING FOUND is a valid zero-result — not a system error.ERROR 50 :: NOTHING FOUND means zero results for that domain/keyword in the selected database — treat as a valid zero-result, not an error.Tr) are modeled estimates — incompatible with first-party analytics data.semrush_account_units_balance before launching large batches.display_date for historical data must be in 'YYYYMM15' format (day must be '15').display_limit must surpass display_offset when pagination is used.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration semrush.Missing connectionSemrush is not connected. Direct the user to https://claw-link.dev/dashboard?add=semrush.ERROR 50 :: NOTHING FOUNDZero results for the target in the selected database — treat as a valid empty response.Insufficient unitsAPI units exhausted — check semrush_account_units_balance and wait for replenishment.Invalid databaseThe specified regional database is not supported. Check available databases in the tool schema.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
; for most tools) to parse rows.export_columns codes (e.g., 'Ph', 'Nq', 'Kd') — parse headers into a structured table first.sep=';' when calling tools that support the display_separate parameter.Powered by ClawLink — an integration hub for OpenClaw
