competitor-analysis

Comparaison structurée côte à côte de produits concurrents. Conçue pour la recherche et le scraping ; aucune interaction nécessaire pour les pages marketing/tarification typiques.

npx skills add https://github.com/firecrawl/web-agent --skill competitor-analysis

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

  1. 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.
  2. 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
  3. 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.
  4. 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").
  5. Call formatOutput once at the end with the full matrix.

Quick start

await agent.run({
  prompt: 'Compare Vercel, Netlify, and Cloudflare Pages on pricing, edge functions, and free tier generosity',
  skills: ['competitor-analysis'],
  format: 'json',
})
// User gave only a category — discover competitors first
await agent.run({
  prompt: 'Compare the top 4 vector databases for production RAG workloads',
  skills: ['competitor-analysis'],
  format: 'json',
})

Output schema

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

{
  "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

Plus de skills de firecrawl

firecrawl-research-index
firecrawl
Trouvez les articles qui répondent à une requête de recherche avec Firecrawl Research, en utilisant la recherche sémantique, l'expansion sémantique et structurelle, et la vérification dans le corps du texte. Utilisez toujours cette compétence pour toute tâche de recherche d'articles ou de récupération de documents — qu'il s'agisse de consulter un seul article ou un ensemble complet de plusieurs articles.
data-analysisresearchweb-scraping
oracle
firecrawl
Meilleures pratiques pour utiliser l'interface en ligne de commande oracle (invite + regroupement de fichiers, moteurs, sessions et modèles de pièces jointes).
pinecone
firecrawl
Base de données vectorielle gérée pour les applications d'IA en production. Entièrement gérée, mise à l'échelle automatique, avec recherche hybride (dense + sparse), filtrage par métadonnées et espaces de noms.…
wpds
firecrawl
À utiliser lors de la création d'interfaces utilisateur exploitant le WordPress Design System (WPDS) et ses composants, tokens, motifs, etc.
audiocraft-audio-generation
firecrawl
Bibliothèque PyTorch pour la génération audio incluant texte-vers-musique (MusicGen) et texte-vers-son (AudioGen). À utiliser lorsque vous avez besoin de générer de la musique à partir de texte…
skypilot-multi-cloud-orchestration
firecrawl
Orchestration multi-cloud pour les charges de travail ML avec optimisation automatique des coûts. À utiliser lorsque vous devez exécuter des tâches d’entraînement ou par lots sur plusieurs clouds, tirer parti de…
firecrawl-seo-audit
firecrawl
Auditer le SEO d'un site web avec Firecrawl. À utiliser lorsque l'utilisateur demande un audit SEO, une revue des métadonnées et des titres, une analyse du sitemap/de la structure du site, des opportunités de mots-clés, une comparaison des SERP concurrents, ou des recommandations priorisées d'optimisation pour la recherche.
data-analysisresearchweb-scraping
gh-issues
firecrawl
Récupérer les issues GitHub, générer des sous-agents pour implémenter des correctifs et ouvrir des PR, puis surveiller et traiter les commentaires de révision des PR. Utilisation : /gh-issues [owner/repo] [--label…]