semrush cli

Saved Keywords

Organize manual keyword collections, assign tags and workflow labels, and export lists.

Saved Keywords commands manage the manual keyword lists found in Semrush's Saved Keywords tool.

Identifier format

Saved Keywords operations use decimal string identifiers:

  • list_id: A decimal string (for example, "123456").
  • keyword_id: A decimal string for individual keywords within a list.

Keep these values as strings in commands and JSON arguments.

Creating and managing collections

Check your account collection allowances and list active collections:

semrush saved-keyword-limits --json
semrush saved-keyword-lists --limit 20 --offset 0 --json
semrush saved-keyword-list-create --name 'Core Products' --confirm --json
semrush saved-keyword-list-get --list-id 123456 --json
semrush saved-keyword-list-rename --list-id 123456 --name 'Primary Products' --confirm

Import keywords into a collection:

semrush saved-keywords-import --list-id 123456 \
  --keywords '["cloud hosting","vps server"]' --database us \
  --tags '["infrastructure"]' --confirm

Reading keywords and summary metrics

Query keywords with pagination and sorting:

semrush saved-keywords --list-id 123456 --limit 50 --offset 0 --json
semrush saved-keywords-summary --list-id 123456 --json

Use FilterQL syntax to filter phrases by volume or text:

semrush saved-keywords --list-id 123456 \
  --filter 'volume >= 200 AND phrase CONTAINS "server"' \
  --sort-field volume --descending true --json

Updating keywords, tags, and labels

Keyword mutation commands require either an explicit --keyword-ids array or a --filter string. Supplying both or omitting both returns an error before network dispatch.

semrush saved-keywords-add-tags --list-id 123456 \
  --keyword-ids '["987654"]' --tags '["priority"]' --confirm

semrush saved-keywords-remove-tags --list-id 123456 \
  --filter 'phrase = "vps server"' --tags '["infrastructure"]' --confirm

semrush saved-keywords-update-metrics --list-id 123456 \
  --keyword-ids '["987654"]' --confirm

Updating metrics consumes your account metric refresh allowance.

Setting workflow progress labels

Annotate phrases with workflow milestone labels (position_tracking, content_written, or brief_generated):

semrush saved-keywords-label --list-id 123456 \
  --keyword-ids '["987654"]' --labels '["content_written"]' --confirm

Labels provide tracking metadata inside Semrush; setting a label does not launch automated tracking or write external content.

Copying and moving keywords

Transfer phrases between collections:

semrush saved-keywords-copy --list-id 123456 --target-list-id 654321 \
  --keyword-ids '["987654"]' --confirm

semrush saved-keywords-move --list-id 123456 --target-list-id 654321 \
  --keyword-ids '["987654"]' --confirm

Copy leaves the source list unchanged; move removes the selected keywords from the source list.

Deletion and undo recovery

Both keyword and list deletions return an undo_id that can be used to restore the deleted items:

semrush saved-keywords-delete --list-id 123456 --keyword-ids '["987654"]' --confirm --json
semrush saved-keywords-undo-delete --undo-id 'undo-token-placeholder' --confirm

semrush saved-keyword-list-delete --list-ids '["123456"]' --confirm --json
semrush saved-keyword-list-undo-delete --undo-id 'undo-token-placeholder' --confirm

Exporting collections

Export filtered or full collections to CSV, semicolon-delimited CSV, or XLSX:

semrush saved-keywords-export --list-id 123456 --format csv --output keywords.csv

The CLI checks that the target file does not already exist before downloading.

On this page