Skill Tracer
Skills › Marketing Skills › competitor-profiling › tool-reference.md

tool-reference.md

314 lines · skills/competitor-profiling/references/tool-reference.md at 88c79f6

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# MCP Tool Reference for Competitor Profiling
2
3Quick reference for the Firecrawl and DataForSEO MCP tools used in competitor profiling.
4

MCP Tool Reference for Competitor Profiling

Quick reference for the Firecrawl and DataForSEO MCP tools used in competitor profiling.

Raw lines 1 to 4
Uses an outside tool MCP :1
5## Contents
6- Firecrawl Tools (site scraping)
7- DataForSEO Tools (SEO & market data)
8- Recommended Execution Order
9- Error Handling
11---

Contents

  • Firecrawl Tools (site scraping)
  • DataForSEO Tools (SEO & market data)
  • Recommended Execution Order
  • Error Handling

Raw lines 5 to 12
13## Firecrawl Tools

Firecrawl Tools

Raw lines 13 to 14
15### firecrawl_map
16**Purpose**: Discover all URLs on a competitor's site to identify key pages.
17**When to use**: First step for every competitor — before scraping individual pages.
18**Key output**: List of URLs with their page types/paths.
19**Tip**: Look for paths containing `/pricing`, `/features`, `/about`, `/customers`, `/integrations`, `/blog`, `/changelog`.

firecrawl_map

Purpose: Discover all URLs on a competitor's site to identify key pages. When to use: First step for every competitor — before scraping individual pages. Key output: List of URLs with their page types/paths. Tip: Look for paths containing /pricing, /features, /about, /customers, /integrations, /blog, /changelog.

Raw lines 15 to 20
Names a skill pricing :19
21### firecrawl_scrape
22**Purpose**: Extract content from a single page as clean markdown.
23**When to use**: After mapping, scrape each key page individually.
24**Key output**: Page content in markdown format — headlines, body text, structured data.
25**Tip**: Scrape homepage first — it reveals positioning, audience, and social proof in one shot.
27**Structured data (JSON mode)**
28**Purpose**: Extract structured data from a page using a schema — request the `json` format on the scrape call.
29**When to use**: When you need specific data points in a consistent format (e.g., pricing tier details, feature lists).
30**Tip**: Define a clear schema for what you want extracted — more reliable than parsing raw markdown.

firecrawl_scrape

Purpose: Extract content from a single page as clean markdown. When to use: After mapping, scrape each key page individually. Key output: Page content in markdown format — headlines, body text, structured data. Tip: Scrape homepage first — it reveals positioning, audience, and social proof in one shot.

Structured data (JSON mode) Purpose: Extract structured data from a page using a schema — request the json format on the scrape call. When to use: When you need specific data points in a consistent format (e.g., pricing tier details, feature lists). Tip: Define a clear schema for what you want extracted — more reliable than parsing raw markdown.

Raw lines 21 to 31
32### firecrawl_search
33**Purpose**: Search the web for specific content about a competitor.
34**When to use**: Finding review pages, press coverage, or competitor mentions not on their own site.
35**Example queries**:
36- `"[Competitor Name]" site:g2.com`
37- `"[Competitor Name]" review`
38- `"[Competitor Name]" funding OR raised`

firecrawl_search

Purpose: Search the web for specific content about a competitor. When to use: Finding review pages, press coverage, or competitor mentions not on their own site. Example queries:

  • "[Competitor Name]" site:g2.com
  • "[Competitor Name]" review
  • "[Competitor Name]" funding OR raised
Raw lines 32 to 39
40### firecrawl_crawl
41**Purpose**: Crawl multiple pages from a site in one operation.
42**When to use**: Deep profiles where you want to analyze many pages (e.g., all feature pages, all blog posts). More expensive — use selectively.
43**Tip**: Set page limits to avoid crawling entire sites. Target specific URL patterns.
45---

firecrawl_crawl

Purpose: Crawl multiple pages from a site in one operation. When to use: Deep profiles where you want to analyze many pages (e.g., all feature pages, all blog posts). More expensive — use selectively. Tip: Set page limits to avoid crawling entire sites. Target specific URL patterns.


Raw lines 40 to 46
47## DataForSEO MCP Tools

DataForSEO MCP Tools

Raw lines 47 to 48
Uses an outside tool MCP :47
49### Domain-Level Intelligence
51#### backlinks_summary
52**Purpose**: Get domain authority, total backlinks, referring domains, spam score.
53**Input**: Target domain (e.g., `competitor.com`)
54**Key metrics**: `domain_rank`, `total_backlinks`, `referring_domains`, `backlinks_spam_score`
56#### backlinks_referring_domains
57**Purpose**: List top referring domains — shows where their link equity comes from.
58**Input**: Target domain + limit
59**Key metrics**: Per-domain: `rank`, `backlinks`, `domain` name
61#### dataforseo_labs_google_domain_rank_overview
62**Purpose**: Organic search overview — traffic, keywords, traffic value.
63**Input**: Target domain
64**Key metrics**: `organic_count` (keywords), `organic_traffic` (estimated monthly), `organic_cost` (traffic value in $)
66#### dataforseo_labs_google_ranked_keywords
67**Purpose**: What keywords a domain ranks for, with positions.
68**Input**: Target domain
69**Key metrics**: Per-keyword: `keyword`, `position`, `search_volume`, `url` (ranking page)
70**Tip**: Sort by traffic to find their highest-value keywords.
72#### dataforseo_labs_google_keywords_for_site
73**Purpose**: Keywords relevant to a domain — broader than ranked keywords, includes opportunities.
74**Input**: Target domain
75**Key metrics**: `keyword`, `search_volume`, `competition`, `cpc`

Domain-Level Intelligence

backlinks_summary

Purpose: Get domain authority, total backlinks, referring domains, spam score. Input: Target domain (e.g., competitor.com) Key metrics: domain_rank, total_backlinks, referring_domains, backlinks_spam_score

backlinks_referring_domains

Purpose: List top referring domains — shows where their link equity comes from. Input: Target domain + limit Key metrics: Per-domain: rank, backlinks, domain name

dataforseo_labs_google_domain_rank_overview

Purpose: Organic search overview — traffic, keywords, traffic value. Input: Target domain Key metrics: organic_count (keywords), organic_traffic (estimated monthly), organic_cost (traffic value in $)

dataforseo_labs_google_ranked_keywords

Purpose: What keywords a domain ranks for, with positions. Input: Target domain Key metrics: Per-keyword: keyword, position, search_volume, url (ranking page) Tip: Sort by traffic to find their highest-value keywords.

dataforseo_labs_google_keywords_for_site

Purpose: Keywords relevant to a domain — broader than ranked keywords, includes opportunities. Input: Target domain Key metrics: keyword, search_volume, competition, cpc

Raw lines 49 to 76
77### Competitive Analysis
79#### dataforseo_labs_google_competitors_domain
80**Purpose**: Find a domain's closest organic competitors by keyword overlap.
81**Input**: Target domain
82**Key metrics**: `domain`, `avg_position`, `intersections` (shared keywords), `full_domain_rank`
83**Tip**: May reveal competitors the user hasn't considered.
85#### dataforseo_labs_google_domain_intersection
86**Purpose**: Find keywords where two domains both rank — shows direct competition.
87**Input**: Two target domains
88**Key metrics**: `keyword`, position for each domain, `search_volume`
89**Tip**: Use this to compare the user's domain vs. each competitor.
91#### dataforseo_labs_google_relevant_pages
92**Purpose**: Find a domain's most important pages by organic traffic.
93**Input**: Target domain
94**Key metrics**: `page`, `metrics` (traffic, keywords per page)
95**Tip**: Reveals their content strategy — which pages drive the most value.

Competitive Analysis

dataforseo_labs_google_competitors_domain

Purpose: Find a domain's closest organic competitors by keyword overlap. Input: Target domain Key metrics: domain, avg_position, intersections (shared keywords), full_domain_rank Tip: May reveal competitors the user hasn't considered.

dataforseo_labs_google_domain_intersection

Purpose: Find keywords where two domains both rank — shows direct competition. Input: Two target domains Key metrics: keyword, position for each domain, search_volume Tip: Use this to compare the user's domain vs. each competitor.

dataforseo_labs_google_relevant_pages

Purpose: Find a domain's most important pages by organic traffic. Input: Target domain Key metrics: page, metrics (traffic, keywords per page) Tip: Reveals their content strategy — which pages drive the most value.

Raw lines 77 to 96
97### Technology Detection
99#### domain_analytics_technologies_domain_technologies
100**Purpose**: Detect the technology stack a domain uses.
101**Input**: Target domain
102**Key metrics**: Technologies grouped by category (CMS, analytics, marketing, payments, etc.)

Technology Detection

domain_analytics_technologies_domain_technologies

Purpose: Detect the technology stack a domain uses. Input: Target domain Key metrics: Technologies grouped by category (CMS, analytics, marketing, payments, etc.)

Raw lines 97 to 103
104### Backlink Deep Dive
106#### backlinks_backlinks
107**Purpose**: List individual backlinks to a domain.
108**Input**: Target domain + limit
109**Key metrics**: `url_from`, `url_to`, `anchor`, `domain_from_rank`, `is_new`
111#### backlinks_bulk_ranks
112**Purpose**: Compare domain ranks across multiple domains at once.
113**Input**: Array of target domains
114**Key metrics**: `domain_rank` per domain
115**Tip**: Use this for the summary comparison table.
117---

Backlink Deep Dive

backlinks_backlinks

Purpose: List individual backlinks to a domain. Input: Target domain + limit Key metrics: url_from, url_to, anchor, domain_from_rank, is_new

backlinks_bulk_ranks

Purpose: Compare domain ranks across multiple domains at once. Input: Array of target domains Key metrics: domain_rank per domain Tip: Use this for the summary comparison table.


Raw lines 104 to 118
119## Recommended Execution Order

Recommended Execution Order

Raw lines 119 to 120
121### Quick Scan (per competitor)
123```
1241. firecrawl_map → get site URLs
1252. In parallel:
126 a. firecrawl_scrape → homepage
127 b. firecrawl_scrape → pricing page
128 c. dataforseo_labs_google_domain_rank_overview → organic metrics
129 d. backlinks_summary → domain authority
1303. Synthesize into abbreviated profile
131```

Quick Scan (per competitor)

1. firecrawl_map → get site URLs
2. In parallel:
   a. firecrawl_scrape → homepage
   b. firecrawl_scrape → pricing page
   c. dataforseo_labs_google_domain_rank_overview → organic metrics
   d. backlinks_summary → domain authority
3. Synthesize into abbreviated profile
Raw lines 121 to 132
133### Deep Profile (per competitor)
135```
1361. firecrawl_map → get site URLs
1372. In parallel (batch 1 — scraping):
138 a. firecrawl_scrape → homepage
139 b. firecrawl_scrape → pricing page
140 c. firecrawl_scrape → features page(s)
141 d. firecrawl_scrape → about page
142 e. firecrawl_scrape → customers/case studies page
143 f. firecrawl_scrape → integrations page
1443. In parallel (batch 2 — SEO data):
145 a. dataforseo_labs_google_domain_rank_overview
146 b. dataforseo_labs_google_ranked_keywords
147 c. backlinks_summary
148 d. backlinks_referring_domains
149 e. dataforseo_labs_google_relevant_pages
150 f. dataforseo_labs_google_competitors_domain
1514. In parallel (batch 3 — optional extras):
152 a. domain_analytics_technologies_domain_technologies
153 b. firecrawl_search → G2/Capterra reviews
154 c. dataforseo_labs_google_domain_intersection (vs. user's domain)
1555. Synthesize into full profile
156```

Deep Profile (per competitor)

1. firecrawl_map → get site URLs
2. In parallel (batch 1 — scraping):
   a. firecrawl_scrape → homepage
   b. firecrawl_scrape → pricing page
   c. firecrawl_scrape → features page(s)
   d. firecrawl_scrape → about page
   e. firecrawl_scrape → customers/case studies page
   f. firecrawl_scrape → integrations page
3. In parallel (batch 2 — SEO data):
   a. dataforseo_labs_google_domain_rank_overview
   b. dataforseo_labs_google_ranked_keywords
   c. backlinks_summary
   d. backlinks_referring_domains
   e. dataforseo_labs_google_relevant_pages
   f. dataforseo_labs_google_competitors_domain
4. In parallel (batch 3 — optional extras):
   a. domain_analytics_technologies_domain_technologies
   b. firecrawl_search → G2/Capterra reviews
   c. dataforseo_labs_google_domain_intersection (vs. user's domain)
5. Synthesize into full profile
Raw lines 133 to 157
158### Multi-Competitor (3+ competitors)
160```
1611. Map all competitor sites in parallel
1622. Scrape all homepages in parallel, then pricing pages in parallel
1633. Pull domain_rank_overview for all in parallel
1644. Pull backlinks_bulk_ranks for all at once
1655. Build profiles in sequence (synthesis requires focus)
1666. Build summary comparison last
167```
169---

Multi-Competitor (3+ competitors)

1. Map all competitor sites in parallel
2. Scrape all homepages in parallel, then pricing pages in parallel
3. Pull domain_rank_overview for all in parallel
4. Pull backlinks_bulk_ranks for all at once
5. Build profiles in sequence (synthesis requires focus)
6. Build summary comparison last

Raw lines 158 to 170
171## Error Handling
173| Issue | Action |
174|-------|--------|
175| Firecrawl scrape returns empty/blocked | Try with `firecrawl_browser_create` for JS-heavy sites |
176| Pricing page not found in map | Search for `/pricing`, `/plans`, `/packages` — some sites use different paths |
177| DataForSEO returns no data for domain | Domain may be too new or too small — note "insufficient data" in profile |
178| Rate limits hit | Space out requests; prioritize highest-value data first |
179| Review page scraping blocked | Use `firecrawl_search` to find cached or alternative review sources |
181---

Error Handling

IssueAction
Firecrawl scrape returns empty/blockedTry with firecrawl_browser_create for JS-heavy sites
Pricing page not found in mapSearch for /pricing, /plans, /packages — some sites use different paths
DataForSEO returns no data for domainDomain may be too new or too small — note "insufficient data" in profile
Rate limits hitSpace out requests; prioritize highest-value data first
Review page scraping blockedUse firecrawl_search to find cached or alternative review sources

Raw lines 171 to 182
Names a skill pricing :176
183## Alternative Stack: Another SEO Data Source + WebFetch
185If Firecrawl or DataForSEO are not available, use whichever SEO data source is connected (Ahrefs or Semrush MCP, Ubersuggest MCP, or similar) for SEO and market data, and **WebFetch** for page scraping. The tool mapping below uses Ubersuggest MCP as the worked example; the same fields map onto the others. Coverage is slightly less comprehensive — no site mapping, no structured extraction, no technology detection — but sufficient for quick scans and most competitive profiling needs.

Alternative Stack: Another SEO Data Source + WebFetch

If Firecrawl or DataForSEO are not available, use whichever SEO data source is connected (Ahrefs or Semrush MCP, Ubersuggest MCP, or similar) for SEO and market data, and WebFetch for page scraping. The tool mapping below uses Ubersuggest MCP as the worked example; the same fields map onto the others. Coverage is slightly less comprehensive — no site mapping, no structured extraction, no technology detection — but sufficient for quick scans and most competitive profiling needs.

Raw lines 183 to 186
Uses an outside tool MCP :185
187### When to use each stack
189| Capability | Primary (preferred) | Alternative |
190|---|---|---|
191| Page scraping | Firecrawl MCP | WebFetch (built into Claude Code) |
192| Site URL discovery | `firecrawl_map` | Manually probe common paths |
193| SEO metrics | DataForSEO MCP | Ubersuggest MCP |
194| Backlink data | DataForSEO backlinks tools | Ubersuggest `backlinks_overview` + `linking_domains` |
195| Technology detection | `domain_analytics_technologies_domain_technologies` | Not available in alternative stack |
196| Review mining | `firecrawl_search` → G2/Capterra | WebFetch G2/Capterra URLs directly |
198Check which MCPs are available at the start of each session and select the stack accordingly. If both are available, prefer the primary stack.
200---

When to use each stack

CapabilityPrimary (preferred)Alternative
Page scrapingFirecrawl MCPWebFetch (built into Claude Code)
Site URL discoveryfirecrawl_mapManually probe common paths
SEO metricsDataForSEO MCPUbersuggest MCP
Backlink dataDataForSEO backlinks toolsUbersuggest backlinks_overview + linking_domains
Technology detectiondomain_analytics_technologies_domain_technologiesNot available in alternative stack
Review miningfirecrawl_search → G2/CapterraWebFetch G2/Capterra URLs directly

Check which MCPs are available at the start of each session and select the stack accordingly. If both are available, prefer the primary stack.


Raw lines 187 to 201
Uses an outside tool MCP :191
202### WebFetch (alternative to Firecrawl)
204**Purpose**: Fetch and read any public web page as text.
205**Built into**: Claude Code — no MCP required.
206**Limitation vs. Firecrawl**: No site mapping (URL discovery); no structured extraction; may not render JavaScript-heavy pages well.
208Since WebFetch does not map a site's URLs, probe common paths manually for each competitor:
210| Page type | Paths to try |
211|---|---|
212| Homepage | `https://[domain]/` |
213| Pricing | `/pricing`, `/plans`, `/packages`, `/pricing-plans` |
214| About | `/about`, `/about-us`, `/company`, `/team` |
215| Features / Product | `/features`, `/product`, `/platform`, `/solutions` |
216| Customers | `/customers`, `/case-studies`, `/clients`, `/success-stories` |
217| Integrations | `/integrations`, `/apps`, `/connect` |
218| Blog | `/blog`, `/resources`, `/insights` |
220Fetch the homepage first. Its nav links often reveal the actual paths for pricing, features, and about pages — use those instead of guessing.
222---

WebFetch (alternative to Firecrawl)

Purpose: Fetch and read any public web page as text. Built into: Claude Code — no MCP required. Limitation vs. Firecrawl: No site mapping (URL discovery); no structured extraction; may not render JavaScript-heavy pages well.

Since WebFetch does not map a site's URLs, probe common paths manually for each competitor:

Page typePaths to try
Homepagehttps://[domain]/
Pricing/pricing, /plans, /packages, /pricing-plans
About/about, /about-us, /company, /team
Features / Product/features, /product, /platform, /solutions
Customers/customers, /case-studies, /clients, /success-stories
Integrations/integrations, /apps, /connect
Blog/blog, /resources, /insights

Fetch the homepage first. Its nav links often reveal the actual paths for pricing, features, and about pages — use those instead of guessing.


Raw lines 202 to 223
Uses an outside tool MCP :205
Names a skill pricing :213
224### Ubersuggest MCP Tools (alternative to DataForSEO)
226Mapping from DataForSEO equivalents:
228#### domain_overview
229**DataForSEO equivalent**: `dataforseo_labs_google_domain_rank_overview`
230**Purpose**: Domain-level organic traffic estimate, keyword count, domain score, and backlink summary in one call.
231**Input**: `root_domain` (e.g. `competitor.com`), `country` (default: `us`)
232**Key metrics**: `domain_score`, `organic_monthly_traffic`, `organic_keywords`, `paid_keywords`
234#### backlinks_overview
235**DataForSEO equivalent**: `backlinks_summary`
236**Purpose**: Domain authority, total backlinks, referring domains count.
237**Input**: `root_domain`
238**Key metrics**: `domain_authority`, `total_backlinks`, `referring_domains`
240#### linking_domains
241**DataForSEO equivalent**: `backlinks_referring_domains`
242**Purpose**: List of top domains linking to the target — shows where link equity comes from.
243**Input**: `root_domain`
245#### domain_keywords
246**DataForSEO equivalent**: `dataforseo_labs_google_ranked_keywords`
247**Purpose**: Keywords the domain ranks for, with position and estimated search volume.
248**Input**: `root_domain`, `country`
249**Tip**: Sort by traffic to find their highest-value keywords.
251#### domain_top_pages
252**DataForSEO equivalent**: `dataforseo_labs_google_relevant_pages`
253**Purpose**: Pages driving the most organic traffic — reveals content strategy.
254**Input**: `root_domain`, `country`
256#### competitors (Ubersuggest)
257**DataForSEO equivalent**: `dataforseo_labs_google_competitors_domain`
258**Purpose**: Find organic competitors by keyword overlap — may surface rivals the user hasn't considered.
259**Input**: `root_domain`, `country`
261---

Ubersuggest MCP Tools (alternative to DataForSEO)

Mapping from DataForSEO equivalents:

domain_overview

DataForSEO equivalent: dataforseo_labs_google_domain_rank_overview Purpose: Domain-level organic traffic estimate, keyword count, domain score, and backlink summary in one call. Input: root_domain (e.g. competitor.com), country (default: us) Key metrics: domain_score, organic_monthly_traffic, organic_keywords, paid_keywords

backlinks_overview

DataForSEO equivalent: backlinks_summary Purpose: Domain authority, total backlinks, referring domains count. Input: root_domain Key metrics: domain_authority, total_backlinks, referring_domains

linking_domains

DataForSEO equivalent: backlinks_referring_domains Purpose: List of top domains linking to the target — shows where link equity comes from. Input: root_domain

domain_keywords

DataForSEO equivalent: dataforseo_labs_google_ranked_keywords Purpose: Keywords the domain ranks for, with position and estimated search volume. Input: root_domain, country Tip: Sort by traffic to find their highest-value keywords.

domain_top_pages

DataForSEO equivalent: dataforseo_labs_google_relevant_pages Purpose: Pages driving the most organic traffic — reveals content strategy. Input: root_domain, country

competitors (Ubersuggest)

DataForSEO equivalent: dataforseo_labs_google_competitors_domain Purpose: Find organic competitors by keyword overlap — may surface rivals the user hasn't considered. Input: root_domain, country


Raw lines 224 to 262
Uses an outside tool MCP :224
263### Recommended Execution Order (Ubersuggest + WebFetch)
265#### Quick Scan (per competitor)
267```
2681. WebFetch competitor homepage → extract nav links to find real page paths
2692. In parallel:
270 a. WebFetch pricing page (from nav or probe /pricing)
271 b. domain_overview → traffic + keyword count + domain score
272 c. backlinks_overview → domain authority
2733. Synthesize into abbreviated profile
274```
276#### Deep Profile (per competitor)
278```
2791. WebFetch homepage → extract nav links
2802. In parallel (scraping):
281 a. WebFetch pricing page
282 b. WebFetch features/product page
283 c. WebFetch about page
284 d. WebFetch customers/case studies page
285 e. WebFetch blog index (content strategy signals)
2863. In parallel (SEO data):
287 a. domain_overview
288 b. backlinks_overview
289 c. domain_keywords
290 d. domain_top_pages
291 e. linking_domains
292 f. competitors
2934. Synthesize into full profile
294```
296#### Multi-Competitor (3+ competitors, alternative stack)
298```
2991. WebFetch all homepages in parallel
3002. WebFetch pricing pages in parallel (use paths from homepage navs)
3013. Pull domain_overview for all in parallel
3024. Pull backlinks_overview for all in parallel
3035. Build profiles in sequence; build summary last
304```

Recommended Execution Order (Ubersuggest + WebFetch)

Quick Scan (per competitor)

1. WebFetch competitor homepage → extract nav links to find real page paths
2. In parallel:
   a. WebFetch pricing page (from nav or probe /pricing)
   b. domain_overview → traffic + keyword count + domain score
   c. backlinks_overview → domain authority
3. Synthesize into abbreviated profile

Deep Profile (per competitor)

1. WebFetch homepage → extract nav links
2. In parallel (scraping):
   a. WebFetch pricing page
   b. WebFetch features/product page
   c. WebFetch about page
   d. WebFetch customers/case studies page
   e. WebFetch blog index (content strategy signals)
3. In parallel (SEO data):
   a. domain_overview
   b. backlinks_overview
   c. domain_keywords
   d. domain_top_pages
   e. linking_domains
   f. competitors
4. Synthesize into full profile

Multi-Competitor (3+ competitors, alternative stack)

1. WebFetch all homepages in parallel
2. WebFetch pricing pages in parallel (use paths from homepage navs)
3. Pull domain_overview for all in parallel
4. Pull backlinks_overview for all in parallel
5. Build profiles in sequence; build summary last
Raw lines 263 to 305
306### Error Handling (alternative stack)
308| Issue | Action |
309|---|---|
310| WebFetch returns empty or an error page | Try `https://www.[domain]/` variant; note if site is JS-rendered and flag in profile |
311| Pricing page not found at common paths | Check homepage nav HTML for pricing link before giving up |
312| Dynamic content shows as "0" or blank | JavaScript-rendered counters (headcount, client counts, live stats) return placeholder values via WebFetch — note the gap and flag as "JS-rendered, value unconfirmed" in the profile. Use Firecrawl browser mode if the value is critical. |
313| Ubersuggest returns no data for domain | Domain may be too new or too small — note "insufficient data" in profile |
314| Ubersuggest tool not available | Check MCP connection; fall back to WebFetch of competitor's SEO/press pages for qualitative signals only |

Error Handling (alternative stack)

IssueAction
WebFetch returns empty or an error pageTry https://www.[domain]/ variant; note if site is JS-rendered and flag in profile
Pricing page not found at common pathsCheck homepage nav HTML for pricing link before giving up
Dynamic content shows as "0" or blankJavaScript-rendered counters (headcount, client counts, live stats) return placeholder values via WebFetch — note the gap and flag as "JS-rendered, value unconfirmed" in the profile. Use Firecrawl browser mode if the value is critical.
Ubersuggest returns no data for domainDomain may be too new or too small — note "insufficient data" in profile
Ubersuggest tool not availableCheck MCP connection; fall back to WebFetch of competitor's SEO/press pages for qualitative signals only
Raw lines 306 to 314
Uses an outside tool MCP :314