# Semrush Research > Inteligencia SEO y competitiva a través de la API de SemRush: investiga competidores, analiza dominios, encuentra oportunidades de keywords, revisa backlinks y estima tráfico. Fuente: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/semrush-research Markdown: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/semrush-research.md Repositorio: https://github.com/OpenClaudia/openclaudia-skills Autor: OpenClaudia Licencia: MIT Actualizado: hace 7 meses Coste de contexto: 87 tok instalada, 2.1k tok al activarse, 2.1k tok con todos los archivos del bundle Bundle: 1 archivo, 8 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add OpenClaudia/openclaudia-skills --skill semrush-research --agent claude-code # Cursor npx -y skills add OpenClaudia/openclaudia-skills --skill semrush-research --agent cursor # Codex npx -y skills add OpenClaudia/openclaudia-skills --skill semrush-research --agent codex # Gemini CLI npx -y skills add OpenClaudia/openclaudia-skills --skill semrush-research --agent gemini # Windsurf npx -y skills add OpenClaudia/openclaudia-skills --skill semrush-research --agent windsurf # Cline npx -y skills add OpenClaudia/openclaudia-skills --skill semrush-research --agent cline ``` ## Qué hace - Consulta la API de SemRush para overview de dominios, keywords, dificultad de keywords, backlinks, competidores y estimaciones de tráfico - Parsea las respuestas CSV delimitadas por punto y coma con awk - Ejecuta un flujo de análisis competitivo completo comparando dominio objetivo contra competidores - Presenta resultados en tablas comparativas destacando gaps de keywords y oportunidades de backlinks ## Cuándo usarla - Cuando se pide investigar competidores, analizar dominios, encontrar oportunidades de keywords, revisar backlinks o estimar tráfico ## Qué la activa - "Haz un análisis competitivo completo de mi dominio contra 3 competidores" - "Dame el domain overview de hubspot.com" - "¿Cuál es la dificultad de la keyword 'content marketing'?" - "Muéstrame las keywords relacionadas con 'project management'" - "Revisa el perfil de backlinks de example.com" ## Antes de instalar - Requiere la variable SEMRUSH_API_KEY configurada en .env, .env.local o ~/.claude/.env.global. - Necesita en el PATH: awk, curl - Variables de entorno: SEMRUSH_API_KEY - makes network requests - needs API credentials ## Archivos - SKILL.md — 8 KB ## SKILL.md Reproducido tal cual desde OpenClaudia/openclaudia-skills bajo MIT. Esta sección es el documento original y está en inglés. # SemRush Research Pull live SEO and competitive intelligence data from the SemRush API. ## Prerequisites Requires `SEMRUSH_API_KEY` set in `.env`, `.env.local`, or `~/.claude/.env.global`. ```bash # 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_key` to your `.env` file. ## API Base 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. --- ## 1. Domain Overview Get a high-level snapshot of any domain's organic and paid search performance. ### Endpoint ``` https://api.semrush.com/?type=domain_ranks&key={KEY}&export_columns=Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain={domain} ``` ### Export Columns | 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 ($) | ### Example curl ```bash 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" ``` ### Parsing the Response ```bash # 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 }' ``` --- ## 2. Keyword Overview Get search volume, CPC, competition, and SERP features for a keyword. ### Endpoint ``` https://api.semrush.com/?type=phrase_all&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td ``` ### Export Columns | 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) | ### Example curl ```bash 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" ``` ### Supported Databases Use `&database=XX` where XX is: `us`, `uk`, `ca`, `au`, `de`, `fr`, `es`, `it`, `br`, `in`, `jp`. --- ## 3. Related Keywords Find semantically related keywords for content planning and gap analysis. ### Endpoint ``` https://api.semrush.com/?type=phrase_related&key={KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=20 ``` ### Example curl ```bash 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" ``` ### Parsing Multiple Rows ```bash curl -s "..." | awk -F';' 'NR>1 { printf "%-40s Vol: %-8s CPC: $%-6s Comp: %s\n", $1, $2, $3, $4 }' ``` --- ## 4. Keyword Difficulty Estimate how hard it is to rank for a keyword. ### Endpoint ``` 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: - 0-29: Easy - achievable with quality content - 30-49: Moderate - needs solid content + some backlinks - 50-69: Hard - needs strong domain authority + backlinks - 70-84: Very hard - requires established authority - 85-100: Extremely hard - dominated by top-tier domains --- ## 5. Domain Organic Keywords See which keywords a domain ranks for organically. ### Endpoint ``` 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 | ### Example curl ```bash 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" ``` --- ## 6. Backlink Overview Get a summary of a domain's backlink profile. ### Endpoint ``` 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 ``` ### Example curl ```bash 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" ``` --- ## 7. Competitor Discovery Find domains competing for the same organic keywords. ### Endpoint ``` 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 | ### Example curl ```bash 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" ``` --- ## 8. Traffic Analytics (Estimates) Estimate a domain's overall traffic sources and engagement. ### Endpoint ``` 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 ``` --- ## Workflow: Full Competitive Analysis When the user asks for a full competitive analysis, run these steps in order: 1. **Domain Overview** - Get the target domain's metrics 2. **Competitor Discovery** - Find top 5-10 competitors 3. **Domain Overview** for each competitor - Compare metrics 4. **Top Keywords** for each domain - Find keyword gaps 5. **Backlink Overview** for each domain - Compare link profiles ### Output Format 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: - **Keyword gaps**: Keywords competitors rank for but target does not - **Quick wins**: Keywords where target ranks positions 5-20 (improvement opportunities) - **Content gaps**: Topics competitors cover but target does not - **Backlink opportunities**: Sites linking to competitors but not target ## Rate Limits and Costs - Each API call costs API units (check your plan) - Use `&display_limit=` to control result count (default varies by endpoint) - Cache results locally when doing multi-step analysis to avoid redundant calls - Domain overview calls are cheapest; backlink and traffic analytics cost more ## Error Handling | 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: - Different database (e.g., `uk` instead of `us`) - Root domain instead of subdomain - Broader keyword phrase ## Dónde encaja - Categoría: [SEO y GEO](https://skillsagentes.com/categorias/seo-geo.md) — Keywords, auditorías on-page, datos estructurados y visibilidad en respuestas de IA. - Creador: [OpenClaudia](https://skillsagentes.com/creators/openclaudia.md) — 76 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Competitor Traffic Report](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/competitor-traffic-report.md): Genera un informe HTML autocontenible de tráfico competitivo: visitas mensuales (SimilarWeb), tráfico orgánico y Domain Rating (Ahrefs), con gráficos ranked, tendencias y tabla de datos. - [Brand Dev](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/brand-dev.md): Obtiene datos de marca (nombre, descripción, logos, industria) desde la API de brand.dev y guarda los logos localmente. - [Gsc Portfolio Audit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/gsc-portfolio-audit.md): Audita TODAS las propiedades de Google Search Console a la vez: ranking por clics e impresiones con deltas, y diff de keywords por sitio (nuevas, suben, bajan, perdidas, o bien rankeadas sin clics). - [Wechat Moments](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/wechat-moments.md): Clasifica y resume el feed de WeChat Moments (朋友圈) del usuario para que los eventos reales y la información genuina destaquen sobre la promoción, ponderando según cuánto le escribe el usuario a cada autor. - [Podcast Edit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/podcast-edit.md): Edita audio o video de podcast: recorta charla previa/posterior, quita muletillas, corta silencios, mejora el audio y aplica el mismo corte a una versión en video. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)