From openclaudia-openclaudia-skills
Pulls SEO and competitive intelligence data from the SemRush API. Use for domain overviews, keyword research, backlink checks, and traffic estimates.
How this skill is triggered — by the user, by Claude, or both
Slash command
/openclaudia-openclaudia-skills:semrush-researchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Pull live SEO and competitive intelligence data from the SemRush API.
Pull live SEO and competitive intelligence data from the SemRush API.
Requires SEMRUSH_API_KEY set in .env, .env.local, or ~/.claude/.env.global.
# Verify the key is available
echo "SEMRUSH_API_KEY is ${SEMRUSH_API_KEY:+set}"
If the key is not set, instruct the user:
You need a SemRush API key. Get one at https://www.semrush.com/api/ Then add
SEMRUSH_API_KEY=your_keyto your.envfile.
All requests go to https://api.semrush.com/ with the API key passed as &key={SEMRUSH_API_KEY}.
Responses are semicolon-delimited CSV. The first line is the header row. Parse accordingly.
Get a high-level snapshot of any domain's organic and paid search performance.
https://api.semrush.com/?type=domain_ranks&key={KEY}&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain={domain}
| Column | Meaning |
|---|---|
Dn | Domain |
Rk | SemRush Rank |
Or | Organic keywords count |
Ot | Organic traffic estimate |
Oc | Organic traffic cost ($) |
Ad | Paid keywords count |
At | Paid traffic estimate |
Ac | Paid traffic cost ($) |
curl -s "https://api.semrush.com/?type=domain_ranks&key=${SEMRUSH_API_KEY}&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain=example.com"
# Response format (semicolon-delimited):
# Dn;Rk;Or;Ot;Oc;Ad;At;Ac
# example.com;12345;8234;145000;234500;120;3400;5600
# Parse with awk
curl -s "..." | awk -F';' 'NR==2 {
printf "Domain: %s\nSemRush Rank: %s\nOrganic Keywords: %s\nOrganic Traffic: %s\nOrganic Traffic Cost: $%s\nPaid Keywords: %s\nPaid Traffic: %s\nPaid Traffic Cost: $%s\n",
$1,$2,$3,$4,$5,$6,$7,$8
}'
Get search volume, CPC, competition, and SERP features for a keyword.
https://api.semrush.com/?type=phrase_all&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td
| Column | Meaning |
|---|---|
Ph | Keyword phrase |
Nq | Search volume (monthly) |
Cp | CPC (USD) |
Co | Competition (0-1) |
Nr | Number of results |
Td | Trend (12 months, comma-separated) |
curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase=content+marketing&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td"
Use &database=XX where XX is: us, uk, ca, au, de, fr, es, it, br, in, jp.
Find semantically related keywords for content planning and gap analysis.
https://api.semrush.com/?type=phrase_related&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=20
curl -s "https://api.semrush.com/?type=phrase_related&key=${SEMRUSH_API_KEY}&phrase=project+management&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=20"
curl -s "..." | awk -F';' 'NR>1 { printf "%-40s Vol: %-8s CPC: $%-6s Comp: %s\n", $1, $2, $3, $4 }'
Estimate how hard it is to rank for a keyword.
https://api.semrush.com/?type=phrase_kdi&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Kd
| Column | Meaning |
|---|---|
Ph | Keyword |
Kd | Keyword difficulty (0-100) |
Interpretation:
See which keywords a domain ranks for organically.
https://api.semrush.com/?type=domain_organic&key={KEY}&domain={domain}&database=us&export_columns=Ph,Po,Nq,Cp,Url,Tr,Tc&display_limit=50&display_sort=tr_desc
| Column | Meaning |
|---|---|
Ph | Keyword |
Po | Position |
Nq | Search volume |
Cp | CPC |
Url | Ranking URL |
Tr | Traffic (%) |
Tc | Traffic cost |
curl -s "https://api.semrush.com/?type=domain_organic&key=${SEMRUSH_API_KEY}&domain=hubspot.com&database=us&export_columns=Ph,Po,Nq,Cp,Url,Tr,Tc&display_limit=20&display_sort=tr_desc"
Get a summary of a domain's backlink profile.
https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_overview&target={domain}&target_type=root_domain&export_columns=total,domains_num,urls_num,ips_num,follows_num,nofollows_num,texts_num,images_num
curl -s "https://api.semrush.com/analytics/v1/?key=${SEMRUSH_API_KEY}&type=backlinks_overview&target=example.com&target_type=root_domain&export_columns=total,domains_num,urls_num,ips_num,follows_num,nofollows_num,texts_num,images_num"
Find domains competing for the same organic keywords.
https://api.semrush.com/?type=domain_organic_organic&key={KEY}&domain={domain}&database=us&export_columns=Dn,Cr,Np,Or,Ot,Oc,Ad&display_limit=10
| Column | Meaning |
|---|---|
Dn | Competitor domain |
Cr | Competition level |
Np | Common keywords |
Or | Organic keywords |
Ot | Organic traffic |
Oc | Organic traffic cost |
Ad | Paid keywords |
curl -s "https://api.semrush.com/?type=domain_organic_organic&key=${SEMRUSH_API_KEY}&domain=notion.so&database=us&export_columns=Dn,Cr,Np,Or,Ot,Oc,Ad&display_limit=10"
Estimate a domain's overall traffic sources and engagement.
https://api.semrush.com/analytics/ta/api/v3/summary?key={KEY}&targets={domain}&display_date=2024-01-01&country=us&export_columns=target,visits,users,bounce_rate,pages_per_visit,avg_visit_duration
When the user asks for a full competitive analysis, run these steps in order:
Present results as a comparison table:
| Metric | target.com | competitor1.com | competitor2.com |
|---------------------|-----------|-----------------|-----------------|
| SemRush Rank | ... | ... | ... |
| Organic Keywords | ... | ... | ... |
| Organic Traffic | ... | ... | ... |
| Traffic Cost | ... | ... | ... |
| Backlinks | ... | ... | ... |
| Referring Domains | ... | ... | ... |
Then highlight:
&display_limit= to control result count (default varies by endpoint)| Error | Meaning |
|---|---|
ERROR 50 :: NOTHING FOUND | No data for this query |
ERROR 120 :: WRONG KEY | Invalid API key |
ERROR 130 :: LIMIT EXCEEDED | API unit limit reached |
| Empty response | Usually means no data available for the query parameters |
When you get "NOTHING FOUND", try:
uk instead of us)npx claudepluginhub joshuarweaver/cascade-communication --plugin openclaudia-openclaudia-skillsAutomate SEO analysis with SEMrush: research keywords, analyze domain rankings, audit backlinks, assess difficulty, and discover related terms.
Performs keyword research using the SemRush API, including search volume, difficulty, related questions, and competitor keyword analysis. Useful for SEO content strategy and topic planning.
Accesses Semrush for keyword research with search volume, difficulty, gaps, competitive organic analysis, site audits, and position tracking.