| name | semrush-batch-workflows |
| description | Create, estimate, run, and adapt semrush CLI TOML batch recipes. Use when the user needs reusable Semrush CLI workflows, competitor audit recipes, keyword opportunity recipes, backlink audit recipes, paid-search recipes, traffic summary recipes, scheduled SEO data pulls, or API-unit estimates before multi-step Semrush calls. |
Semrush Batch Workflows
Use semrush batch ... for repeatable multi-step Semrush CLI workflows. Batch recipes are TOML files with variable placeholders and named output keys.
Prerequisites
Verify CLI, auth, and API unit state before running recipes:
semrush account auth status --output json --quiet
semrush account balance --output json --quiet
Always estimate before running a new or modified recipe:
semrush batch estimate recipe.toml --var domain=example.com --var database=us --output json --quiet
Supported Batch Commands
The CLI batch runner supports this subset of reports:
| Recipe command | Required args | Optional args |
|---|
domain overview | domain | database |
domain organic | domain | database, limit, offset |
domain paid | domain | database, limit, offset |
domain competitors organic | domain | database, limit, offset |
domain competitors paid | domain | database, limit, offset |
keyword overview | phrase | database |
keyword related | phrase | database, limit, offset |
backlink overview | target | target_type |
backlink list | target | target_type, limit, offset |
trends summary | targets | country, limit |
Command names may use spaces or underscores because the runner normalizes them.
Recipe Shape
[meta]
name = "Example Workflow"
description = "Describe the business purpose."
[[steps]]
command = "domain overview"
output_key = "overview"
[steps.args]
domain = "{{domain}}"
database = "{{database}}"
Use {{var}} placeholders for values passed with --var key=value.
Bundled Templates
Use these files in assets/recipes/ as starting points. Resolve paths relative to this skill directory, or create a project-local recipe from the template content before running semrush batch.
| Template | Use |
|---|
competitor-audit.toml | Domain overview, organic keywords, organic competitors, and keyword gap inputs. |
keyword-opportunity.toml | Keyword overview and related keyword expansion. |
backlink-audit.toml | Backlink overview and backlink list. |
paid-search-audit.toml | Domain paid keywords and paid competitors. |
traffic-summary.toml | Trends summary for one or more comma-separated domains. |
Run Pattern
semrush batch estimate <skill-dir>/assets/recipes/competitor-audit.toml --var domain=example.com --var competitor=competitor.com --var database=us --output json --quiet
semrush batch run <skill-dir>/assets/recipes/competitor-audit.toml --var domain=example.com --var competitor=competitor.com --var database=us --output json --quiet
For multi-domain trend summaries, pass a comma-separated string:
semrush batch run <skill-dir>/assets/recipes/traffic-summary.toml --var targets=example.com,competitor.com --var country=US --output json --quiet
Output Handling
Batch output is a JSON object keyed by each step's output_key. Preserve those keys in downstream summaries so users can trace every recommendation to a step.
When a requested report is not supported by batch, run the equivalent individual CLI command from the relevant Semrush skill instead of forcing it into a recipe.
Related Skills
- Use
semrush-keyword-research for keyword interpretation.
- Use
semrush-competitor-research for organic competitive strategy.
- Use
semrush-backlink-audit for backlink interpretation.
- Use
semrush-paid-search-intelligence for paid search interpretation.
- Use
semrush-traffic-trends for traffic benchmark interpretation.