Keyword research
Commands and options for keyword research.
keyword-overview
Volume, difficulty, CPC, intent and trends.
semrush keyword-overview --helpMCP tool: keyword_overview.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-ideas
Overview sample of related keywords or questions.
semrush keyword-ideas --helpMCP tool: keyword_ideas.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--questions-only | boolean | false | |
--limit | integer | 10 | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-ideas-summary
Total related keyword count and volume.
semrush keyword-ideas-summary --helpMCP tool: keyword_ideas_summary.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--questions-only | boolean | false | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-serp
Ranked URLs and SERP features.
semrush keyword-serp --helpMCP tool: keyword_serp.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--limit | integer | 10 | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-ads
Search ad copies for a keyword.
semrush keyword-ads --helpMCP tool: keyword_ads.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--limit | integer | 10 | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
keyword-clusters
Keyword topics and search intents.
semrush keyword-clusters --helpMCP tool: keyword_clusters.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-gap-totals
Counts for keyword overlap and opportunity types.
semrush keyword-gap-totals --helpMCP tool: keyword_gap_totals.
| Option | Type | Default | Description |
|---|---|---|---|
--database | string | "us" | |
--domains | array | Required. Two to five root domains, first is your site | |
--filters | string | "" | Semrush spectrum filter expression |
keyword-gap-overlap
Organic keyword profile overlaps.
semrush keyword-gap-overlap --helpMCP tool: keyword_gap_overlap.
| Option | Type | Default | Description |
|---|---|---|---|
--database | string | "us" | |
--domains | array | Required. Two to five root domains, first is your site | |
--filters | string | "" | Semrush spectrum filter expression |
keyword-countries
Native keyword metrics across country databases, without calculating a synthetic global total.
semrush keyword-countries --helpMCP tool: keyword_countries.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-bulk
Read native Bulk Analysis for one to 100 keywords in the current database and currency.
semrush keyword-bulk --helpMCP tool: keyword_bulk.
| Option | Type | Default | Description |
|---|---|---|---|
--keywords | array | Required. One to 100 unique keywords. JSON preserves commas within a phrase. | |
--database | string | "us" | |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Domain for already available native personalized metrics. Does not start a domain update. |
keyword-product-ads
Read native Keyword Overview Product Listing Ads previews.
semrush keyword-product-ads --helpMCP tool: keyword_product_ads.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--limit | integer | 10 |
keyword-serp-organic-metrics
Read native organic keyword counts and traffic for selected SERP URLs.
semrush keyword-serp-organic-metrics --helpMCP tool: keyword_serp_organic_metrics.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--urls | array | Required. Exact HTTP(S) URLs from keyword-serp; repeated URLs are allowed. |
keyword-serp-backlink-metrics
Read native authority, backlink and referring-domain metrics for selected SERP URLs.
semrush keyword-serp-backlink-metrics --helpMCP tool: keyword_serp_backlink_metrics.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--urls | array | Required. Exact HTTP(S) URLs from keyword-serp; repeated URLs are allowed. |
keyword-bulk-export
Download native Bulk Analysis as CSV, semicolon CSV or XLSX. Starts one export job and retries only a pending wait.
semrush keyword-bulk-export --helpMCP tool: keyword_bulk_export.
Pass --output <path> to save the file. Existing files are not overwritten. MCP returns an artifact resource.
| Option | Type | Default | Description |
|---|---|---|---|
--keywords | array | Required. One to 100 unique keywords. JSON preserves commas within a phrase. | |
--database | string | "us" | |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Domain for already available native personalized metrics. Does not start a domain update. | |
--format | string | "csv" | Native CSV, semicolon CSV or XLSX. Values: "csv", "csv_semicolon", "xlsx". |
--columns | array | ["keyword","intent","volume","trend","difficulty","cpc","serp_features"] | Exported data fields in native field order. Personalized fields require domain. |
keyword-serp-export
Download the native full SERP URL report as CSV, semicolon CSV or XLSX.
semrush keyword-serp-export --helpMCP tool: keyword_serp_export.
Pass --output <path> to save the file. Existing files are not overwritten. MCP returns an artifact resource.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--format | string | "csv" | Native CSV, semicolon CSV or XLSX. Values: "csv", "csv_semicolon", "xlsx". |
keyword-serp-domains-export
Download the native full SERP domain report as CSV, semicolon CSV or XLSX.
semrush keyword-serp-domains-export --helpMCP tool: keyword_serp_domains_export.
Pass --output <path> to save the file. Existing files are not overwritten. MCP returns an artifact resource.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--format | string | "csv" | Native CSV, semicolon CSV or XLSX. Values: "csv", "csv_semicolon", "xlsx". |
keyword-locations
Find native local keyword locations and recent selections for a database.
semrush keyword-locations --helpMCP tool: keyword_locations.
| Option | Type | Default | Description |
|---|---|---|---|
--database | string | "us" | |
--input | string | "" | Location search text; empty requests native discovery. |
keyword-local-overview
Read cached native global and local keyword metrics without refreshing them.
semrush keyword-local-overview --helpMCP tool: keyword_local_overview.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--location-id | integer | Required. Positive native location ID from keyword-locations. Current desktop data only. | |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
keyword-local-serp
Read current desktop SERP rows for a native local location.
semrush keyword-local-serp --helpMCP tool: keyword_local_serp.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--location-id | integer | Required. Positive native location ID from keyword-locations. Current desktop data only. | |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--limit | integer | 10 |
keyword-local-serp-organic-metrics
Read native organic keyword counts for selected local SERP URLs.
semrush keyword-local-serp-organic-metrics --helpMCP tool: keyword_local_serp_organic_metrics.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--location-id | integer | Required. Positive native location ID from keyword-locations. Current desktop data only. | |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--urls | array | Required. Exact HTTP(S) URLs from keyword-serp; repeated URLs are allowed. |
keyword-local-serp-export
Download the native local desktop SERP report as CSV, semicolon CSV or XLSX.
semrush keyword-local-serp-export --helpMCP tool: keyword_local_serp_export.
Pass --output <path> to save the file. Existing files are not overwritten. MCP returns an artifact resource.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--location-id | integer | Required. Positive native location ID from keyword-locations. Current desktop data only. | |
--format | string | "csv" | Native CSV, semicolon CSV or XLSX. Values: "csv", "csv_semicolon", "xlsx". |
keyword-serp-domain-organic-metrics
Read native organic traffic for selected SERP domains.
semrush keyword-serp-domain-organic-metrics --helpMCP tool: keyword_serp_domain_organic_metrics.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domains | array | Required. Distinct bare domains from the SERP rows, without schemes or paths. |
keyword-serp-domain-backlink-metrics
Read native authority and backlink counts for selected SERP domains.
semrush keyword-serp-domain-backlink-metrics --helpMCP tool: keyword_serp_domain_backlink_metrics.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domains | array | Required. Distinct bare domains from the SERP rows, without schemes or paths. |
keyword-refresh
Request an explicit keyword metric refresh using the native account allowance. Never retries or polls.
semrush keyword-refresh --helpMCP tool: keyword_refresh.
Use --confirm to send the change or --dry-run to preview it.
| Option | Type | Default | Description |
|---|---|---|---|
--keywords | array | Required. One to 100 unique keywords. JSON preserves commas within a phrase. | |
--database | string | "us" | |
--location-id | integer | 0 | Native local location ID; zero selects national data. |
--confirm | boolean | false | |
--dry-run | boolean | false |
keyword-refresh-status
Read native keyword refresh status once without starting or polling an update.
semrush keyword-refresh-status --helpMCP tool: keyword_refresh_status.
| Option | Type | Default | Description |
|---|---|---|---|
--keywords | array | Required. One to 100 unique keywords. JSON preserves commas within a phrase. | |
--database | string | "us" | |
--location-id | integer | 0 | Native local location ID; zero selects national data. |
--status-updated-at | number | 0 | Native epoch seconds; zero requests the current state. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--domain | string | Optional domain for already available personalized national metrics. Cannot be combined with a local location. |
keyword-domain-suggestions
Read native recent, project and competitor domain suggestions.
semrush keyword-domain-suggestions --helpMCP tool: keyword_domain_suggestions.
keyword-domain-root
Read the native root domain for a bare input hostname.
semrush keyword-domain-root --helpMCP tool: keyword_domain_root.
| Option | Type | Default | Description |
|---|---|---|---|
--domain | string | Required. Bare input hostname for native root-domain lookup. |
keyword-domain-prepare
Normalize a domain and request native personalized keyword preparation once. Returns job state without polling.
semrush keyword-domain-prepare --helpMCP tool: keyword_domain_prepare.
Use --confirm to send the change or --dry-run to preview it.
| Option | Type | Default | Description |
|---|---|---|---|
--domain | string | Required. Bare input hostname. Semrush resolves and prepares its root domain after confirmation. | |
--confirm | boolean | false | |
--dry-run | boolean | false |
keyword-domain-status
Read native personalized-domain preparation state using a nonempty pending job ID. Never starts a new job.
semrush keyword-domain-status --helpMCP tool: keyword_domain_status.
| Option | Type | Default | Description |
|---|---|---|---|
--domain | string | Required. Normalized root domain from the preparation result. | |
--job-id | string | Required. Nonempty native ID from a pending keyword-domain-prepare receipt. |
keyword-ai-databases
Read the native databases available for Keyword Overview AI topic data.
semrush keyword-ai-databases --helpMCP tool: keyword_ai_databases.
keyword-ai-summary
Read native Keyword Overview AI LLM volumes and total topic count.
semrush keyword-ai-summary --helpMCP tool: keyword_ai_summary.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-ai-topics
Read native Keyword Overview AI top topic samples with native volumes.
semrush keyword-ai-topics --helpMCP tool: keyword_ai_topics.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--domain | string | Bare root domain for already prepared native personalized data. Does not start preparation. |
keyword-overview-pdf
Generate the native Keyword Overview PDF and save its Essential report in My Reports. Uses reporting allowance; no email or schedule.
semrush keyword-overview-pdf --helpMCP tool: keyword_overview_pdf.
Use --confirm to send the change or --dry-run to preview it.
Pass --output <path> to save the file. Existing files are not overwritten. MCP returns an artifact resource.
| Option | Type | Default | Description |
|---|---|---|---|
--keyword | string | Required. | |
--database | string | "us" | |
--device | string | "desktop" | Native desktop or mobile search results. Values: "desktop", "mobile". |
--date | string | "" | Monthly YYYYMM snapshot; empty selects the current data. Account access applies. |
--currency | string | "USD" | Three-letter currency code supported by Semrush. |
--confirm | boolean | false | Confirm report creation, privacy acceptance and PDF generation. |
--dry-run | boolean | false | Preview the export without account access. |
--ai-summary | boolean | false | Include the native AI Summary widget. Uses your account AI summary allowance. |