Enter a competitor URL to get a research brief grounded in their own site. Firecrawl maps and scrapes up to four pages, every extracted fact is checked against the scraped text, and an agent adds positioning, gaps, and a sales battle card with quoted evidence.
Use this when you have one competitor URL and need a brief you can trust: pricing, features, and tech read from the site, plus agent analysis that quotes its evidence.
Similar patterns, and when each one is the better fit.

SEO AuditUse this when a marketing team needs exportable SEO scorecards that check title, meta description, and Open Graph tags and list top fixes for a page.
Search - Firecrawl (robust)FreeUse this when Firecrawl is your search provider and your chat agent needs to find pages by query rather than scrape URLs you already have.
Firecrawl Landing Page Teardown PDFUse this when you need a conversion teardown PDF comparing your landing page against 2-5 competitor pages, with copy rewrites and a short test plan.
Firecrawl Scrape Tool ChatCrawl and extract content using Firecrawl's API. Includes URL processing, markdown conversion, and structured data extraction.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: OPENAI_API_KEY, FIRECRAWL_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
AI SDK APIs
useChatgatewayToolLoopAgenttoolhasToolCallisStepCountgenerateObjecttoolsContextcreateAgentUIStreamResponseInferAgentUIMessageDefaultChatTransportUIMessageProviders
External services
app/page.tsxapp/layout.tsxapp/api/competitor-agent/route.tslib/actions.tslib/competitor-types.tslib/detect-tech.tslib/grounding.tslib/rate-limit.tslib/research-context.tslib/research-site.tslib/ai/competitor-agent.tslib/ai/tools/analyze-positioning.tslib/ai/tools/find-gaps.tslib/ai/tools/generate-battlecard.tsREADME.mdnpm packages
8
Registry components
competitor-agent/route.tsAPI route that builds the agent per request and injects the scraped pages as tool context.
ai/competitor-agent.tsToolLoopAgent factory with 3 grounded analysis tools and toolsContext injection.
lib/research-site.tsFirecrawl pipeline: map the site, scrape up to four pages, extract a profile with generateObject, then drop every value the scraped text does not back up.
lib/grounding.tsText checks that keep model output tied to the scraped pages: phrases, numbers, and quotes.
lib/detect-tech.tsSignature-based technology detection from the home page's raw HTML.
tools/analyze-positioning.tsTool that reads positioning from the scraped pages and verifies each quote.
tools/find-gaps.tsTool that finds stated limits (verified by quote) and unmentioned expectations (verified absent).
tools/generate-battlecard.tsTool that writes a battle card about the competitor without inventing facts about the seller.
Enter a competitor URL to get a research brief grounded in their own site. Firecrawl maps and scrapes up to four pages, every extracted fact is checked against the scraped text, and an agent adds positioning, gaps, and a sales battle card with quoted evidence.
Use this when you have one competitor URL and need a brief you can trust: pricing, features, and tech read from the site, plus agent analysis that quotes its evidence.
Similar patterns, and when each one is the better fit.

SEO AuditUse this when a marketing team needs exportable SEO scorecards that check title, meta description, and Open Graph tags and list top fixes for a page.
Search - Firecrawl (robust)FreeUse this when Firecrawl is your search provider and your chat agent needs to find pages by query rather than scrape URLs you already have.
Firecrawl Landing Page Teardown PDFUse this when you need a conversion teardown PDF comparing your landing page against 2-5 competitor pages, with copy rewrites and a short test plan.
Firecrawl Scrape Tool ChatCrawl and extract content using Firecrawl's API. Includes URL processing, markdown conversion, and structured data extraction.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: OPENAI_API_KEY, FIRECRAWL_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
AI SDK APIs
useChatgatewayToolLoopAgenttoolhasToolCallisStepCountgenerateObjecttoolsContextcreateAgentUIStreamResponseInferAgentUIMessageDefaultChatTransportUIMessageProviders
External services
app/page.tsxapp/layout.tsxapp/api/competitor-agent/route.tslib/actions.tslib/competitor-types.tslib/detect-tech.tslib/grounding.tslib/rate-limit.tslib/research-context.tslib/research-site.tslib/ai/competitor-agent.tslib/ai/tools/analyze-positioning.tslib/ai/tools/find-gaps.tslib/ai/tools/generate-battlecard.tsREADME.mdnpm packages
8
Registry components
competitor-agent/route.tsAPI route that builds the agent per request and injects the scraped pages as tool context.
ai/competitor-agent.tsToolLoopAgent factory with 3 grounded analysis tools and toolsContext injection.
lib/research-site.tsFirecrawl pipeline: map the site, scrape up to four pages, extract a profile with generateObject, then drop every value the scraped text does not back up.
lib/grounding.tsText checks that keep model output tied to the scraped pages: phrases, numbers, and quotes.
lib/detect-tech.tsSignature-based technology detection from the home page's raw HTML.
tools/analyze-positioning.tsTool that reads positioning from the scraped pages and verifies each quote.
tools/find-gaps.tsTool that finds stated limits (verified by quote) and unmentioned expectations (verified absent).
tools/generate-battlecard.tsTool that writes a battle card about the competitor without inventing facts about the seller.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
Enter a competitor URL to get a research brief grounded in their own site. Firecrawl maps and scrapes up to four pages, every extracted fact is checked against the scraped text, and an agent adds positioning, gaps, and a sales battle card with quoted evidence.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
Enter a competitor URL to get a research brief grounded in their own site. Firecrawl maps and scrapes up to four pages, every extracted fact is checked against the scraped text, and an agent adds positioning, gaps, and a sales battle card with quoted evidence.