semrush-research by openclaudia/openclaudia-skills
npx skills add https://github.com/openclaudia/openclaudia-skills --skill semrush-research从 SemRush API 拉取实时 SEO 和竞争情报数据。
需要在 .env、.env.local 或 ~/.claude/.env.global 中设置 SEMRUSH_API_KEY。
# 验证密钥是否可用
echo "SEMRUSH_API_KEY is ${SEMRUSH_API_KEY:+set}"
如果密钥未设置,请告知用户:
您需要一个 SemRush API 密钥。请在 https://www.semrush.com/api/ 获取。然后将
SEMRUSH_API_KEY=your_key添加到您的.env文件中。
所有请求都发送到 https://api.semrush.com/,API 密钥作为 参数传递。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
&key={SEMRUSH_API_KEY}响应是以分号分隔的 CSV 格式。第一行是标题行。请相应地进行解析。
获取任何域名在自然搜索和付费搜索表现上的高层概览。
https://api.semrush.com/?type=domain_ranks&key={KEY}&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain={domain}
| 列 | 含义 |
|---|---|
Dn | 域名 |
Rk | SemRush 排名 |
Or | 自然关键词数量 |
Ot | 自然流量估计值 |
Oc | 自然流量成本(美元) |
Ad | 付费关键词数量 |
At | 付费流量估计值 |
Ac | 付费流量成本(美元) |
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"
# 响应格式(分号分隔):
# Dn;Rk;Or;Ot;Oc;Ad;At;Ac
# example.com;12345;8234;145000;234500;120;3400;5600
# 使用 awk 解析
curl -s "..." | awk -F';' 'NR==2 {
printf "域名: %s\nSemRush 排名: %s\n自然关键词: %s\n自然流量: %s\n自然流量成本: $%s\n付费关键词: %s\n付费流量: %s\n付费流量成本: $%s\n",
$1,$2,$3,$4,$5,$6,$7,$8
}'
获取关键词的搜索量、每次点击费用、竞争程度和搜索结果页面特征。
https://api.semrush.com/?type=phrase_all&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td
| 列 | 含义 |
|---|---|
Ph | 关键词短语 |
Nq | 搜索量(月度) |
Cp | 每次点击费用(美元) |
Co | 竞争程度(0-1) |
Nr | 结果数量 |
Td | 趋势(12个月,逗号分隔) |
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"
使用 &database=XX,其中 XX 可以是:us、uk、ca、au、de、fr、es、it、br、in、jp。
为内容规划和差距分析查找语义相关的关键词。
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 搜索量: %-8s CPC: $%-6s 竞争度: %s\n", $1, $2, $3, $4 }'
评估为某个关键词排名的难易程度。
https://api.semrush.com/?type=phrase_kdi&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Kd
| 列 | 含义 |
|---|---|
Ph | 关键词 |
Kd | 关键词难度(0-100) |
解读:
查看一个域名在哪些关键词上获得自然排名。
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
| 列 | 含义 |
|---|---|
Ph | 关键词 |
Po | 排名位置 |
Nq | 搜索量 |
Cp | 每次点击费用 |
Url | 排名 URL |
Tr | 流量占比(%) |
Tc | 流量成本 |
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"
获取域名外链档案的摘要。
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"
查找竞争相同自然关键词的域名。
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
| 列 | 含义 |
|---|---|
Dn | 竞争对手域名 |
Cr | 竞争级别 |
Np | 共同关键词数量 |
Or | 自然关键词数量 |
Ot | 自然流量 |
Oc | 自然流量成本 |
Ad | 付费关键词数量 |
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"
估计域名的整体流量来源和参与度。
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
当用户要求进行完整的竞争分析时,请按顺序运行以下步骤:
将结果呈现为对比表格:
| 指标 | target.com | competitor1.com | competitor2.com |
|---------------------|-----------|-----------------|-----------------|
| SemRush 排名 | ... | ... | ... |
| 自然关键词数量 | ... | ... | ... |
| 自然流量估计值 | ... | ... | ... |
| 流量成本 | ... | ... | ... |
| 外链数量 | ... | ... | ... |
| 引用域名数量 | ... | ... | ... |
然后突出显示:
&display_limit= 来控制结果数量(默认值因端点而异)| 错误 | 含义 |
|---|---|
ERROR 50 :: NOTHING FOUND | 此查询无数据 |
ERROR 120 :: WRONG KEY | 无效的 API 密钥 |
ERROR 130 :: LIMIT EXCEEDED | 达到 API 单位限制 |
| 空响应 | 通常意味着查询参数没有可用数据 |
当遇到 "NOTHING FOUND" 时,请尝试:
uk 代替 us)每周安装量
76
代码仓库
GitHub 星标数
341
首次出现
2026年2月14日
安全审计
安装于
opencode69
gemini-cli67
codex63
claude-code63
github-copilot62
cursor61
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 |
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 |
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 |
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)Weekly Installs
76
Repository
GitHub Stars
341
First Seen
Feb 14, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode69
gemini-cli67
codex63
claude-code63
github-copilot62
cursor61
DOCX文件创建、编辑与分析完整指南 - 使用docx-js、Pandoc和Python脚本
51,800 周安装
| Paid traffic estimate |
Ac | Paid traffic cost ($) |
| Traffic cost |
| Paid keywords |