Labsco
firecrawl logo

competitor-analysis

✓ Official1,100

by firecrawl · part of firecrawl/web-agent

Structured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing/pricing pages.

🔥🔥🔥✓ VerifiedAccount requiredQuick setup
🧩 One of 6 skills in the firecrawl/web-agent package — works on its own, and pairs well with its siblings.

Structured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing/pricing pages.

Inspect the full instructions your agent will receiveExpand

This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.

by firecrawl

Structured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing/pricing pages. npx skills add https://github.com/firecrawl/firecrawl-agent --skill competitor-analysis Download ZIPGitHub1.1k

Competitor Analysis

Structured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing/pricing pages.

When to use

  • User names 2+ companies or products: "compare Vercel, Netlify, Cloudflare Pages"

  • User names a category only: "best CDNs for edge functions" — search to discover the top 3–5 players, then analyze

  • User asks for alternatives: "what are the alternatives to X?"

  • User wants a feature matrix or positioning summary

Do NOT use for single-vendor deep-dives — use deep-research or structured-extraction instead.

Strategy

Identify competitors.

  • If the user listed them, use that list.

  • Otherwise search once: "top <category> providers 2026" or "<product> alternatives". Pick the 3–5 most-cited.

For each competitor, gather three pages:

  • Homepage — one-line positioning, target audience

  • Pricing page (usually /pricing or /plans) — tiers, units, free tier, enterprise gate

  • Features or product page — top 5–10 capabilities, any standout differentiators

Fan out when scale warrants.

  • 2–3 competitors: stay in the orchestrator, scrape serially or with parallel tool calls.

  • 4+ competitors: use spawnAgents, one worker per competitor. Each worker gets the 3 URLs above and returns a normalized sub-object.

Normalize before formatting.

  • Align pricing tiers by role (Free / Pro / Team / Enterprise) even when vendors name them differently.

  • Call out where a competitor has a capability the others don't.

  • Flag anything missing (e.g. "Enterprise pricing is contact-sales only").

Call formatOutput once at the end with the full matrix.

Output schema

Every run should produce an object with this shape (add fields as the user's prompt demands):

Copy & paste — that's it
{
 "category": "Edge hosting platforms",
 "competitors": [
 {
 "name": "Vercel",
 "url": "https://vercel.com",
 "positioning": "Frontend cloud for Next.js and React",
 "pricing": [
 { "tier": "Hobby", "price": 0, "unit": "month", "limits": {} },
 { "tier": "Pro", "price": 20, "unit": "seat/month", "limits": {} }
 ],
 "strengths": [],
 "weaknesses": [],
 "freeTier": true,
 "enterpriseContactOnly": false,
 "sources": []
 }
 ],
 "summary": "One-paragraph takeaway comparing the field.",
 "bestFit": {
 "budgetConscious": "",
 "enterprise": "",
 "developer": ""
 }
}

Tips

  • Pricing pages lie by omission. Always look for overages, egress costs, and seat minimums that show up only in a footnote.

  • Marketing copy is noise. Prefer the pricing page and docs over the homepage for factual claims.

  • If a scrape returns 404 on /pricing, search "<vendor> pricing" before guessing another URL — vendors often move these pages.

  • Populate strengths and weaknesses from evidence, not opinion. "Has a built-in KV store (competitor docs do not mention one)" is fair game; "better DX" is not.

  • Always include sources: [...] on every competitor object with the URLs you actually scraped.

See also