semrush cli

Core Web Vitals

Inspect performance metrics, Lighthouse suggestions, and replace the monitored URL list.

Core Web Vitals commands inspect Largest Contentful Paint (LCP), Total Blocking Time (TBT), and Cumulative Layout Shift (CLS) measurements tracked within Site Audit.

Reading Core Web Vitals metrics

Queries require the numeric SEO project identifier (campaign_id):

semrush audit-web-vitals-status --campaign-id 456 --json
semrush audit-web-vitals-overview --campaign-id 456 --json
semrush audit-web-vitals-pages --campaign-id 456 --json
semrush audit-web-vitals-improvements --campaign-id 456 --json
semrush audit-web-vitals-settings --campaign-id 456 --json

Summary of report commands:

  • audit-web-vitals-status: Overall health score and delta since the previous crawl.
  • audit-web-vitals-overview: Native score and dated page-status counts.
  • audit-web-vitals-pages: Measured URLs with exact LCP, TBT, and CLS values.
  • audit-web-vitals-improvements: Top high-impact opportunities across audited pages.
  • audit-web-vitals-settings: Active monitored URL selection and pending update flags.

Per-URL history and Lighthouse diagnostics

To inspect historical trends or recommendations for a specific page, extract its urlId from audit-web-vitals-pages. Note that this identifier is a signed decimal string and may include a leading minus sign. Always preserve it as a string:

semrush audit-web-vitals-history --campaign-id 456 \
  --url-id '-1234567890123456789' --json

semrush audit-web-vitals-recommendations --campaign-id 456 \
  --url-id '-1234567890123456789' --json

Configuring monitored URLs

You can configure between 1 and 10 representative URLs for Core Web Vitals evaluation during future Site Audit crawls:

semrush audit-web-vitals-settings-set --campaign-id 456 \
  --urls '["https://example.com/","https://example.com/blog","https://example.com/pricing"]' \
  --dry-run

semrush audit-web-vitals-settings-set --campaign-id 456 \
  --urls '["https://example.com/","https://example.com/blog","https://example.com/pricing"]' \
  --confirm --json

Configuration notes:

  • The input must contain between 1 and 10 unique, absolute HTTP(S) URLs. The Semrush API rejects empty arrays.
  • This command replaces the entire saved URL list for future audits. It does not initiate an immediate crawl.
  • To execute an audit using the new selection, run semrush audit-start --campaign-id 456 --confirm.

On this page