Organic Research
Analyze organic search rankings, top pages, position changes, and competitor movements.
Organic Research commands read ranking metrics, URL performance, and historical search volatility for any domain or subfolder.
Domain overview and rankings
Inspect search visibility, top organic keywords, and ranking distributions:
semrush domain-overview --domain example.com --database us --json
semrush domain-keywords --domain example.com --positions-type all --json
semrush domain-keywords --domain example.com --positions-type organic --json
semrush domain-keywords --domain example.com --positions-type serp --json
semrush domain-keywords --domain example.com --database mobile-us --jsonKey ranking selectors:
--positions-type: Chooseall(default),organicfor standard listings, orserpfor SERP-feature positions.--search-type: Target scope, eitherdomain,subdomain,subfolder, orurl(default:domain).--database: Target country database (for example,usormobile-us).--pageand--page-size: Control pagination (1-based indexing).--sort-fieldand--descending: Sort by specific metrics such astrafficPercentorposition.
Top pages, subdomains, and competitors
Analyze which sections of a site generate the highest traffic:
semrush domain-pages --domain example.com --page-size 20 --json
semrush domain-subdomains --domain example.com --json
semrush domain-competitors --domain example.com --page-size 10 --jsonTracking position changes
Inspect keyword movements between two historical snapshots:
semrush snapshot-dates --database us --json
semrush domain-position-changes --domain example.com \
--date-range '{"start_date":"20261015","end_date":"20261016"}' \
--page-size 20 --jsonFor daily comparisons, provide both dates in YYYYMMDD format. For monthly comparisons, use YYYYMM with --date-type monthly:
semrush domain-position-changes --domain example.com \
--date-type monthly \
--date-range '{"start_date":"202608","end_date":"202609"}' --jsonFiltering specific change movements
Limit results to specific movement classifications:
semrush domain-position-changes --domain example.com \
--date-range '{"start_date":"20261015","end_date":"20261016"}' \
--change-types '["new","improved"]' --jsonAccepted change types in the array are new, improved, declined, and lost.
Change presets and historical trends
Retrieve aggregate totals across dropping, trending, and SERP-feature position buckets:
semrush domain-position-changes-presets --domain example.com \
--date-range '{"start_date":"20261015","end_date":"20261016"}' --jsonInspect long-term ranking trends without table pagination:
semrush domain-position-changes-daily-trend --domain example.com --json
semrush domain-position-changes-monthly-trend --domain example.com --json
semrush domain-trends --domain example.com --date-type monthly --jsonAI visibility metrics
Inspect how frequently a domain appears in AI overviews and conversational citation sources:
semrush domain-ai-visibility --domain example.com --json
semrush domain-ai-countries --domain example.com --json
semrush domain-ai-sources --domain example.com --limit 20 --json