[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-firecrawl-competitor-analysis":3,"mdc-3oi38y-key":31,"related-org-firecrawl-competitor-analysis":1559,"related-repo-firecrawl-competitor-analysis":1713},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"competitor-analysis","analyze competitors across features and pricing","Compare two or more companies, products, or platforms across pricing, features, positioning, and docs. Use this skill whenever the user says \"compare X vs Y\", \"how does X stack up against Y\", \"alternatives to X\", \"competitive landscape of …\", \"X vs Y vs Z\", or asks for a competitor matrix. Uses search to discover competitors when the user only names a category, then scrape for each competitor's homepage, pricing page, and features\u002Fdocs. Returns a normalized comparison matrix as JSON.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"firecrawl","Firecrawl","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ffirecrawl.png",[12,16,19],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"Competitive Intelligence","competitive-intelligence",{"name":9,"slug":8,"type":15},1130,"https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Fweb-agent","2026-04-17T05:00:44.623049",null,157,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"🔥 Open-source web data agent optimized for structured web research","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Fweb-agent\u002Ftree\u002FHEAD\u002Fagent-core\u002Fsrc\u002Fskills\u002Fdefinitions\u002Fcompetitor-analysis","---\nname: competitor-analysis\ndescription: |\n  Compare two or more companies, products, or platforms across pricing, features, positioning, and docs. Use this skill whenever the user says \"compare X vs Y\", \"how does X stack up against Y\", \"alternatives to X\", \"competitive landscape of …\", \"X vs Y vs Z\", or asks for a competitor matrix. Uses search to discover competitors when the user only names a category, then scrape for each competitor's homepage, pricing page, and features\u002Fdocs. Returns a normalized comparison matrix as JSON.\ncategory: Research\n---\n\n# Competitor Analysis\n\nStructured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing\u002Fpricing pages.\n\n## When to use\n\n- User names 2+ companies or products: \"compare Vercel, Netlify, Cloudflare Pages\"\n- User names a category only: \"best CDNs for edge functions\" — search to discover the top 3–5 players, then analyze\n- User asks for alternatives: \"what are the alternatives to X?\"\n- User wants a feature matrix or positioning summary\n\nDo NOT use for single-vendor deep-dives — use `deep-research` or `structured-extraction` instead.\n\n## Strategy\n\n1. **Identify competitors.**\n   - If the user listed them, use that list.\n   - Otherwise search once: `\"top \u003Ccategory> providers 2026\"` or `\"\u003Cproduct> alternatives\"`. Pick the 3–5 most-cited.\n\n2. **For each competitor, gather three pages:**\n   - **Homepage** — one-line positioning, target audience\n   - **Pricing page** (usually `\u002Fpricing` or `\u002Fplans`) — tiers, units, free tier, enterprise gate\n   - **Features or product page** — top 5–10 capabilities, any standout differentiators\n\n3. **Fan out when scale warrants.**\n   - 2–3 competitors: stay in the orchestrator, scrape serially or with parallel tool calls.\n   - 4+ competitors: use `spawnAgents`, one worker per competitor. Each worker gets the 3 URLs above and returns a normalized sub-object.\n\n4. **Normalize before formatting.**\n   - Align pricing tiers by role (Free \u002F Pro \u002F Team \u002F Enterprise) even when vendors name them differently.\n   - Call out where a competitor has a capability the others don't.\n   - Flag anything missing (e.g. \"Enterprise pricing is contact-sales only\").\n\n5. **Call `formatOutput` once at the end** with the full matrix.\n\n## Quick start\n\n```typescript\nawait agent.run({\n  prompt: 'Compare Vercel, Netlify, and Cloudflare Pages on pricing, edge functions, and free tier generosity',\n  skills: ['competitor-analysis'],\n  format: 'json',\n})\n```\n\n```typescript\n\u002F\u002F User gave only a category — discover competitors first\nawait agent.run({\n  prompt: 'Compare the top 4 vector databases for production RAG workloads',\n  skills: ['competitor-analysis'],\n  format: 'json',\n})\n```\n\n## Output schema\n\nEvery run should produce an object with this shape (add fields as the user's prompt demands):\n\n```json\n{\n  \"category\": \"Edge hosting platforms\",\n  \"competitors\": [\n    {\n      \"name\": \"Vercel\",\n      \"url\": \"https:\u002F\u002Fvercel.com\",\n      \"positioning\": \"Frontend cloud for Next.js and React\",\n      \"pricing\": [\n        { \"tier\": \"Hobby\", \"price\": 0, \"unit\": \"month\", \"limits\": {} },\n        { \"tier\": \"Pro\", \"price\": 20, \"unit\": \"seat\u002Fmonth\", \"limits\": {} }\n      ],\n      \"strengths\": [],\n      \"weaknesses\": [],\n      \"freeTier\": true,\n      \"enterpriseContactOnly\": false,\n      \"sources\": []\n    }\n  ],\n  \"summary\": \"One-paragraph takeaway comparing the field.\",\n  \"bestFit\": {\n    \"budgetConscious\": \"\",\n    \"enterprise\": \"\",\n    \"developer\": \"\"\n  }\n}\n```\n\n## Tips\n\n- **Pricing pages lie by omission.** Always look for overages, egress costs, and seat minimums that show up only in a footnote.\n- **Marketing copy is noise.** Prefer the pricing page and docs over the homepage for factual claims.\n- **If a scrape returns 404 on `\u002Fpricing`**, search `\"\u003Cvendor> pricing\"` before guessing another URL — vendors often move these pages.\n- **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.\n- **Always include `sources: [...]`** on every competitor object with the URLs you actually scraped.\n\n## See also\n\n- [deep-research](..\u002Fdeep-research\u002FSKILL.md) — multi-source validation for a single topic\n- [pricing-tracker](..\u002Fpricing-tracker\u002FSKILL.md) — detail on pricing extraction when that's the only dimension\n- [structured-extraction](..\u002Fstructured-extraction\u002FSKILL.md) — lower-level helper for arbitrary JSON schemas\n",{"data":32,"body":33},{"name":4,"description":6,"category":13},{"type":34,"children":35},"root",[36,44,50,57,82,104,110,280,286,456,601,607,612,1420,1426,1512,1518,1553],{"type":37,"tag":38,"props":39,"children":40},"element","h1",{"id":4},[41],{"type":42,"value":43},"text","Competitor Analysis",{"type":37,"tag":45,"props":46,"children":47},"p",{},[48],{"type":42,"value":49},"Structured side-by-side comparison of competing products. Designed for search + scrape; no interact needed for typical marketing\u002Fpricing pages.",{"type":37,"tag":51,"props":52,"children":54},"h2",{"id":53},"when-to-use",[55],{"type":42,"value":56},"When to use",{"type":37,"tag":58,"props":59,"children":60},"ul",{},[61,67,72,77],{"type":37,"tag":62,"props":63,"children":64},"li",{},[65],{"type":42,"value":66},"User names 2+ companies or products: \"compare Vercel, Netlify, Cloudflare Pages\"",{"type":37,"tag":62,"props":68,"children":69},{},[70],{"type":42,"value":71},"User names a category only: \"best CDNs for edge functions\" — search to discover the top 3–5 players, then analyze",{"type":37,"tag":62,"props":73,"children":74},{},[75],{"type":42,"value":76},"User asks for alternatives: \"what are the alternatives to X?\"",{"type":37,"tag":62,"props":78,"children":79},{},[80],{"type":42,"value":81},"User wants a feature matrix or positioning summary",{"type":37,"tag":45,"props":83,"children":84},{},[85,87,94,96,102],{"type":42,"value":86},"Do NOT use for single-vendor deep-dives — use ",{"type":37,"tag":88,"props":89,"children":91},"code",{"className":90},[],[92],{"type":42,"value":93},"deep-research",{"type":42,"value":95}," or ",{"type":37,"tag":88,"props":97,"children":99},{"className":98},[],[100],{"type":42,"value":101},"structured-extraction",{"type":42,"value":103}," instead.",{"type":37,"tag":51,"props":105,"children":107},{"id":106},"strategy",[108],{"type":42,"value":109},"Strategy",{"type":37,"tag":111,"props":112,"children":113},"ol",{},[114,151,207,236,262],{"type":37,"tag":62,"props":115,"children":116},{},[117,123],{"type":37,"tag":118,"props":119,"children":120},"strong",{},[121],{"type":42,"value":122},"Identify competitors.",{"type":37,"tag":58,"props":124,"children":125},{},[126,131],{"type":37,"tag":62,"props":127,"children":128},{},[129],{"type":42,"value":130},"If the user listed them, use that list.",{"type":37,"tag":62,"props":132,"children":133},{},[134,136,142,143,149],{"type":42,"value":135},"Otherwise search once: ",{"type":37,"tag":88,"props":137,"children":139},{"className":138},[],[140],{"type":42,"value":141},"\"top \u003Ccategory> providers 2026\"",{"type":42,"value":95},{"type":37,"tag":88,"props":144,"children":146},{"className":145},[],[147],{"type":42,"value":148},"\"\u003Cproduct> alternatives\"",{"type":42,"value":150},". Pick the 3–5 most-cited.",{"type":37,"tag":62,"props":152,"children":153},{},[154,159],{"type":37,"tag":118,"props":155,"children":156},{},[157],{"type":42,"value":158},"For each competitor, gather three pages:",{"type":37,"tag":58,"props":160,"children":161},{},[162,172,197],{"type":37,"tag":62,"props":163,"children":164},{},[165,170],{"type":37,"tag":118,"props":166,"children":167},{},[168],{"type":42,"value":169},"Homepage",{"type":42,"value":171}," — one-line positioning, target audience",{"type":37,"tag":62,"props":173,"children":174},{},[175,180,182,188,189,195],{"type":37,"tag":118,"props":176,"children":177},{},[178],{"type":42,"value":179},"Pricing page",{"type":42,"value":181}," (usually ",{"type":37,"tag":88,"props":183,"children":185},{"className":184},[],[186],{"type":42,"value":187},"\u002Fpricing",{"type":42,"value":95},{"type":37,"tag":88,"props":190,"children":192},{"className":191},[],[193],{"type":42,"value":194},"\u002Fplans",{"type":42,"value":196},") — tiers, units, free tier, enterprise gate",{"type":37,"tag":62,"props":198,"children":199},{},[200,205],{"type":37,"tag":118,"props":201,"children":202},{},[203],{"type":42,"value":204},"Features or product page",{"type":42,"value":206}," — top 5–10 capabilities, any standout differentiators",{"type":37,"tag":62,"props":208,"children":209},{},[210,215],{"type":37,"tag":118,"props":211,"children":212},{},[213],{"type":42,"value":214},"Fan out when scale warrants.",{"type":37,"tag":58,"props":216,"children":217},{},[218,223],{"type":37,"tag":62,"props":219,"children":220},{},[221],{"type":42,"value":222},"2–3 competitors: stay in the orchestrator, scrape serially or with parallel tool calls.",{"type":37,"tag":62,"props":224,"children":225},{},[226,228,234],{"type":42,"value":227},"4+ competitors: use ",{"type":37,"tag":88,"props":229,"children":231},{"className":230},[],[232],{"type":42,"value":233},"spawnAgents",{"type":42,"value":235},", one worker per competitor. Each worker gets the 3 URLs above and returns a normalized sub-object.",{"type":37,"tag":62,"props":237,"children":238},{},[239,244],{"type":37,"tag":118,"props":240,"children":241},{},[242],{"type":42,"value":243},"Normalize before formatting.",{"type":37,"tag":58,"props":245,"children":246},{},[247,252,257],{"type":37,"tag":62,"props":248,"children":249},{},[250],{"type":42,"value":251},"Align pricing tiers by role (Free \u002F Pro \u002F Team \u002F Enterprise) even when vendors name them differently.",{"type":37,"tag":62,"props":253,"children":254},{},[255],{"type":42,"value":256},"Call out where a competitor has a capability the others don't.",{"type":37,"tag":62,"props":258,"children":259},{},[260],{"type":42,"value":261},"Flag anything missing (e.g. \"Enterprise pricing is contact-sales only\").",{"type":37,"tag":62,"props":263,"children":264},{},[265,278],{"type":37,"tag":118,"props":266,"children":267},{},[268,270,276],{"type":42,"value":269},"Call ",{"type":37,"tag":88,"props":271,"children":273},{"className":272},[],[274],{"type":42,"value":275},"formatOutput",{"type":42,"value":277}," once at the end",{"type":42,"value":279}," with the full matrix.",{"type":37,"tag":51,"props":281,"children":283},{"id":282},"quick-start",[284],{"type":42,"value":285},"Quick start",{"type":37,"tag":287,"props":288,"children":293},"pre",{"className":289,"code":290,"language":291,"meta":292,"style":292},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","await agent.run({\n  prompt: 'Compare Vercel, Netlify, and Cloudflare Pages on pricing, edge functions, and free tier generosity',\n  skills: ['competitor-analysis'],\n  format: 'json',\n})\n","typescript","",[294],{"type":37,"tag":88,"props":295,"children":296},{"__ignoreMap":292},[297,337,373,412,442],{"type":37,"tag":298,"props":299,"children":302},"span",{"class":300,"line":301},"line",1,[303,309,315,321,327,332],{"type":37,"tag":298,"props":304,"children":306},{"style":305},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[307],{"type":42,"value":308},"await",{"type":37,"tag":298,"props":310,"children":312},{"style":311},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[313],{"type":42,"value":314}," agent",{"type":37,"tag":298,"props":316,"children":318},{"style":317},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[319],{"type":42,"value":320},".",{"type":37,"tag":298,"props":322,"children":324},{"style":323},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[325],{"type":42,"value":326},"run",{"type":37,"tag":298,"props":328,"children":329},{"style":311},[330],{"type":42,"value":331},"(",{"type":37,"tag":298,"props":333,"children":334},{"style":317},[335],{"type":42,"value":336},"{\n",{"type":37,"tag":298,"props":338,"children":340},{"class":300,"line":339},2,[341,347,352,357,363,368],{"type":37,"tag":298,"props":342,"children":344},{"style":343},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[345],{"type":42,"value":346},"  prompt",{"type":37,"tag":298,"props":348,"children":349},{"style":317},[350],{"type":42,"value":351},":",{"type":37,"tag":298,"props":353,"children":354},{"style":317},[355],{"type":42,"value":356}," '",{"type":37,"tag":298,"props":358,"children":360},{"style":359},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[361],{"type":42,"value":362},"Compare Vercel, Netlify, and Cloudflare Pages on pricing, edge functions, and free tier generosity",{"type":37,"tag":298,"props":364,"children":365},{"style":317},[366],{"type":42,"value":367},"'",{"type":37,"tag":298,"props":369,"children":370},{"style":317},[371],{"type":42,"value":372},",\n",{"type":37,"tag":298,"props":374,"children":376},{"class":300,"line":375},3,[377,382,386,391,395,399,403,408],{"type":37,"tag":298,"props":378,"children":379},{"style":343},[380],{"type":42,"value":381},"  skills",{"type":37,"tag":298,"props":383,"children":384},{"style":317},[385],{"type":42,"value":351},{"type":37,"tag":298,"props":387,"children":388},{"style":311},[389],{"type":42,"value":390}," [",{"type":37,"tag":298,"props":392,"children":393},{"style":317},[394],{"type":42,"value":367},{"type":37,"tag":298,"props":396,"children":397},{"style":359},[398],{"type":42,"value":4},{"type":37,"tag":298,"props":400,"children":401},{"style":317},[402],{"type":42,"value":367},{"type":37,"tag":298,"props":404,"children":405},{"style":311},[406],{"type":42,"value":407},"]",{"type":37,"tag":298,"props":409,"children":410},{"style":317},[411],{"type":42,"value":372},{"type":37,"tag":298,"props":413,"children":415},{"class":300,"line":414},4,[416,421,425,429,434,438],{"type":37,"tag":298,"props":417,"children":418},{"style":343},[419],{"type":42,"value":420},"  format",{"type":37,"tag":298,"props":422,"children":423},{"style":317},[424],{"type":42,"value":351},{"type":37,"tag":298,"props":426,"children":427},{"style":317},[428],{"type":42,"value":356},{"type":37,"tag":298,"props":430,"children":431},{"style":359},[432],{"type":42,"value":433},"json",{"type":37,"tag":298,"props":435,"children":436},{"style":317},[437],{"type":42,"value":367},{"type":37,"tag":298,"props":439,"children":440},{"style":317},[441],{"type":42,"value":372},{"type":37,"tag":298,"props":443,"children":445},{"class":300,"line":444},5,[446,451],{"type":37,"tag":298,"props":447,"children":448},{"style":317},[449],{"type":42,"value":450},"}",{"type":37,"tag":298,"props":452,"children":453},{"style":311},[454],{"type":42,"value":455},")\n",{"type":37,"tag":287,"props":457,"children":459},{"className":289,"code":458,"language":291,"meta":292,"style":292},"\u002F\u002F User gave only a category — discover competitors first\nawait agent.run({\n  prompt: 'Compare the top 4 vector databases for production RAG workloads',\n  skills: ['competitor-analysis'],\n  format: 'json',\n})\n",[460],{"type":37,"tag":88,"props":461,"children":462},{"__ignoreMap":292},[463,472,499,527,562,589],{"type":37,"tag":298,"props":464,"children":465},{"class":300,"line":301},[466],{"type":37,"tag":298,"props":467,"children":469},{"style":468},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[470],{"type":42,"value":471},"\u002F\u002F User gave only a category — discover competitors first\n",{"type":37,"tag":298,"props":473,"children":474},{"class":300,"line":339},[475,479,483,487,491,495],{"type":37,"tag":298,"props":476,"children":477},{"style":305},[478],{"type":42,"value":308},{"type":37,"tag":298,"props":480,"children":481},{"style":311},[482],{"type":42,"value":314},{"type":37,"tag":298,"props":484,"children":485},{"style":317},[486],{"type":42,"value":320},{"type":37,"tag":298,"props":488,"children":489},{"style":323},[490],{"type":42,"value":326},{"type":37,"tag":298,"props":492,"children":493},{"style":311},[494],{"type":42,"value":331},{"type":37,"tag":298,"props":496,"children":497},{"style":317},[498],{"type":42,"value":336},{"type":37,"tag":298,"props":500,"children":501},{"class":300,"line":375},[502,506,510,514,519,523],{"type":37,"tag":298,"props":503,"children":504},{"style":343},[505],{"type":42,"value":346},{"type":37,"tag":298,"props":507,"children":508},{"style":317},[509],{"type":42,"value":351},{"type":37,"tag":298,"props":511,"children":512},{"style":317},[513],{"type":42,"value":356},{"type":37,"tag":298,"props":515,"children":516},{"style":359},[517],{"type":42,"value":518},"Compare the top 4 vector databases for production RAG workloads",{"type":37,"tag":298,"props":520,"children":521},{"style":317},[522],{"type":42,"value":367},{"type":37,"tag":298,"props":524,"children":525},{"style":317},[526],{"type":42,"value":372},{"type":37,"tag":298,"props":528,"children":529},{"class":300,"line":414},[530,534,538,542,546,550,554,558],{"type":37,"tag":298,"props":531,"children":532},{"style":343},[533],{"type":42,"value":381},{"type":37,"tag":298,"props":535,"children":536},{"style":317},[537],{"type":42,"value":351},{"type":37,"tag":298,"props":539,"children":540},{"style":311},[541],{"type":42,"value":390},{"type":37,"tag":298,"props":543,"children":544},{"style":317},[545],{"type":42,"value":367},{"type":37,"tag":298,"props":547,"children":548},{"style":359},[549],{"type":42,"value":4},{"type":37,"tag":298,"props":551,"children":552},{"style":317},[553],{"type":42,"value":367},{"type":37,"tag":298,"props":555,"children":556},{"style":311},[557],{"type":42,"value":407},{"type":37,"tag":298,"props":559,"children":560},{"style":317},[561],{"type":42,"value":372},{"type":37,"tag":298,"props":563,"children":564},{"class":300,"line":444},[565,569,573,577,581,585],{"type":37,"tag":298,"props":566,"children":567},{"style":343},[568],{"type":42,"value":420},{"type":37,"tag":298,"props":570,"children":571},{"style":317},[572],{"type":42,"value":351},{"type":37,"tag":298,"props":574,"children":575},{"style":317},[576],{"type":42,"value":356},{"type":37,"tag":298,"props":578,"children":579},{"style":359},[580],{"type":42,"value":433},{"type":37,"tag":298,"props":582,"children":583},{"style":317},[584],{"type":42,"value":367},{"type":37,"tag":298,"props":586,"children":587},{"style":317},[588],{"type":42,"value":372},{"type":37,"tag":298,"props":590,"children":592},{"class":300,"line":591},6,[593,597],{"type":37,"tag":298,"props":594,"children":595},{"style":317},[596],{"type":42,"value":450},{"type":37,"tag":298,"props":598,"children":599},{"style":311},[600],{"type":42,"value":455},{"type":37,"tag":51,"props":602,"children":604},{"id":603},"output-schema",[605],{"type":42,"value":606},"Output schema",{"type":37,"tag":45,"props":608,"children":609},{},[610],{"type":42,"value":611},"Every run should produce an object with this shape (add fields as the user's prompt demands):",{"type":37,"tag":287,"props":613,"children":616},{"className":614,"code":615,"language":433,"meta":292,"style":292},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"category\": \"Edge hosting platforms\",\n  \"competitors\": [\n    {\n      \"name\": \"Vercel\",\n      \"url\": \"https:\u002F\u002Fvercel.com\",\n      \"positioning\": \"Frontend cloud for Next.js and React\",\n      \"pricing\": [\n        { \"tier\": \"Hobby\", \"price\": 0, \"unit\": \"month\", \"limits\": {} },\n        { \"tier\": \"Pro\", \"price\": 20, \"unit\": \"seat\u002Fmonth\", \"limits\": {} }\n      ],\n      \"strengths\": [],\n      \"weaknesses\": [],\n      \"freeTier\": true,\n      \"enterpriseContactOnly\": false,\n      \"sources\": []\n    }\n  ],\n  \"summary\": \"One-paragraph takeaway comparing the field.\",\n  \"bestFit\": {\n    \"budgetConscious\": \"\",\n    \"enterprise\": \"\",\n    \"developer\": \"\"\n  }\n}\n",[617],{"type":37,"tag":88,"props":618,"children":619},{"__ignoreMap":292},[620,627,668,693,701,740,777,815,840,972,1096,1105,1131,1156,1182,1208,1234,1243,1252,1290,1316,1347,1376,1402,1411],{"type":37,"tag":298,"props":621,"children":622},{"class":300,"line":301},[623],{"type":37,"tag":298,"props":624,"children":625},{"style":317},[626],{"type":42,"value":336},{"type":37,"tag":298,"props":628,"children":629},{"class":300,"line":339},[630,635,641,646,650,655,660,664],{"type":37,"tag":298,"props":631,"children":632},{"style":317},[633],{"type":42,"value":634},"  \"",{"type":37,"tag":298,"props":636,"children":638},{"style":637},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[639],{"type":42,"value":640},"category",{"type":37,"tag":298,"props":642,"children":643},{"style":317},[644],{"type":42,"value":645},"\"",{"type":37,"tag":298,"props":647,"children":648},{"style":317},[649],{"type":42,"value":351},{"type":37,"tag":298,"props":651,"children":652},{"style":317},[653],{"type":42,"value":654}," \"",{"type":37,"tag":298,"props":656,"children":657},{"style":359},[658],{"type":42,"value":659},"Edge hosting platforms",{"type":37,"tag":298,"props":661,"children":662},{"style":317},[663],{"type":42,"value":645},{"type":37,"tag":298,"props":665,"children":666},{"style":317},[667],{"type":42,"value":372},{"type":37,"tag":298,"props":669,"children":670},{"class":300,"line":375},[671,675,680,684,688],{"type":37,"tag":298,"props":672,"children":673},{"style":317},[674],{"type":42,"value":634},{"type":37,"tag":298,"props":676,"children":677},{"style":637},[678],{"type":42,"value":679},"competitors",{"type":37,"tag":298,"props":681,"children":682},{"style":317},[683],{"type":42,"value":645},{"type":37,"tag":298,"props":685,"children":686},{"style":317},[687],{"type":42,"value":351},{"type":37,"tag":298,"props":689,"children":690},{"style":317},[691],{"type":42,"value":692}," [\n",{"type":37,"tag":298,"props":694,"children":695},{"class":300,"line":414},[696],{"type":37,"tag":298,"props":697,"children":698},{"style":317},[699],{"type":42,"value":700},"    {\n",{"type":37,"tag":298,"props":702,"children":703},{"class":300,"line":444},[704,709,715,719,723,727,732,736],{"type":37,"tag":298,"props":705,"children":706},{"style":317},[707],{"type":42,"value":708},"      \"",{"type":37,"tag":298,"props":710,"children":712},{"style":711},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[713],{"type":42,"value":714},"name",{"type":37,"tag":298,"props":716,"children":717},{"style":317},[718],{"type":42,"value":645},{"type":37,"tag":298,"props":720,"children":721},{"style":317},[722],{"type":42,"value":351},{"type":37,"tag":298,"props":724,"children":725},{"style":317},[726],{"type":42,"value":654},{"type":37,"tag":298,"props":728,"children":729},{"style":359},[730],{"type":42,"value":731},"Vercel",{"type":37,"tag":298,"props":733,"children":734},{"style":317},[735],{"type":42,"value":645},{"type":37,"tag":298,"props":737,"children":738},{"style":317},[739],{"type":42,"value":372},{"type":37,"tag":298,"props":741,"children":742},{"class":300,"line":591},[743,747,752,756,760,764,769,773],{"type":37,"tag":298,"props":744,"children":745},{"style":317},[746],{"type":42,"value":708},{"type":37,"tag":298,"props":748,"children":749},{"style":711},[750],{"type":42,"value":751},"url",{"type":37,"tag":298,"props":753,"children":754},{"style":317},[755],{"type":42,"value":645},{"type":37,"tag":298,"props":757,"children":758},{"style":317},[759],{"type":42,"value":351},{"type":37,"tag":298,"props":761,"children":762},{"style":317},[763],{"type":42,"value":654},{"type":37,"tag":298,"props":765,"children":766},{"style":359},[767],{"type":42,"value":768},"https:\u002F\u002Fvercel.com",{"type":37,"tag":298,"props":770,"children":771},{"style":317},[772],{"type":42,"value":645},{"type":37,"tag":298,"props":774,"children":775},{"style":317},[776],{"type":42,"value":372},{"type":37,"tag":298,"props":778,"children":780},{"class":300,"line":779},7,[781,785,790,794,798,802,807,811],{"type":37,"tag":298,"props":782,"children":783},{"style":317},[784],{"type":42,"value":708},{"type":37,"tag":298,"props":786,"children":787},{"style":711},[788],{"type":42,"value":789},"positioning",{"type":37,"tag":298,"props":791,"children":792},{"style":317},[793],{"type":42,"value":645},{"type":37,"tag":298,"props":795,"children":796},{"style":317},[797],{"type":42,"value":351},{"type":37,"tag":298,"props":799,"children":800},{"style":317},[801],{"type":42,"value":654},{"type":37,"tag":298,"props":803,"children":804},{"style":359},[805],{"type":42,"value":806},"Frontend cloud for Next.js and React",{"type":37,"tag":298,"props":808,"children":809},{"style":317},[810],{"type":42,"value":645},{"type":37,"tag":298,"props":812,"children":813},{"style":317},[814],{"type":42,"value":372},{"type":37,"tag":298,"props":816,"children":818},{"class":300,"line":817},8,[819,823,828,832,836],{"type":37,"tag":298,"props":820,"children":821},{"style":317},[822],{"type":42,"value":708},{"type":37,"tag":298,"props":824,"children":825},{"style":711},[826],{"type":42,"value":827},"pricing",{"type":37,"tag":298,"props":829,"children":830},{"style":317},[831],{"type":42,"value":645},{"type":37,"tag":298,"props":833,"children":834},{"style":317},[835],{"type":42,"value":351},{"type":37,"tag":298,"props":837,"children":838},{"style":317},[839],{"type":42,"value":692},{"type":37,"tag":298,"props":841,"children":843},{"class":300,"line":842},9,[844,849,853,859,863,867,871,876,880,885,889,894,898,902,907,911,915,920,924,928,932,937,941,945,949,954,958,962,967],{"type":37,"tag":298,"props":845,"children":846},{"style":317},[847],{"type":42,"value":848},"        {",{"type":37,"tag":298,"props":850,"children":851},{"style":317},[852],{"type":42,"value":654},{"type":37,"tag":298,"props":854,"children":856},{"style":855},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[857],{"type":42,"value":858},"tier",{"type":37,"tag":298,"props":860,"children":861},{"style":317},[862],{"type":42,"value":645},{"type":37,"tag":298,"props":864,"children":865},{"style":317},[866],{"type":42,"value":351},{"type":37,"tag":298,"props":868,"children":869},{"style":317},[870],{"type":42,"value":654},{"type":37,"tag":298,"props":872,"children":873},{"style":359},[874],{"type":42,"value":875},"Hobby",{"type":37,"tag":298,"props":877,"children":878},{"style":317},[879],{"type":42,"value":645},{"type":37,"tag":298,"props":881,"children":882},{"style":317},[883],{"type":42,"value":884},",",{"type":37,"tag":298,"props":886,"children":887},{"style":317},[888],{"type":42,"value":654},{"type":37,"tag":298,"props":890,"children":891},{"style":855},[892],{"type":42,"value":893},"price",{"type":37,"tag":298,"props":895,"children":896},{"style":317},[897],{"type":42,"value":645},{"type":37,"tag":298,"props":899,"children":900},{"style":317},[901],{"type":42,"value":351},{"type":37,"tag":298,"props":903,"children":904},{"style":855},[905],{"type":42,"value":906}," 0",{"type":37,"tag":298,"props":908,"children":909},{"style":317},[910],{"type":42,"value":884},{"type":37,"tag":298,"props":912,"children":913},{"style":317},[914],{"type":42,"value":654},{"type":37,"tag":298,"props":916,"children":917},{"style":855},[918],{"type":42,"value":919},"unit",{"type":37,"tag":298,"props":921,"children":922},{"style":317},[923],{"type":42,"value":645},{"type":37,"tag":298,"props":925,"children":926},{"style":317},[927],{"type":42,"value":351},{"type":37,"tag":298,"props":929,"children":930},{"style":317},[931],{"type":42,"value":654},{"type":37,"tag":298,"props":933,"children":934},{"style":359},[935],{"type":42,"value":936},"month",{"type":37,"tag":298,"props":938,"children":939},{"style":317},[940],{"type":42,"value":645},{"type":37,"tag":298,"props":942,"children":943},{"style":317},[944],{"type":42,"value":884},{"type":37,"tag":298,"props":946,"children":947},{"style":317},[948],{"type":42,"value":654},{"type":37,"tag":298,"props":950,"children":951},{"style":855},[952],{"type":42,"value":953},"limits",{"type":37,"tag":298,"props":955,"children":956},{"style":317},[957],{"type":42,"value":645},{"type":37,"tag":298,"props":959,"children":960},{"style":317},[961],{"type":42,"value":351},{"type":37,"tag":298,"props":963,"children":964},{"style":317},[965],{"type":42,"value":966}," {}",{"type":37,"tag":298,"props":968,"children":969},{"style":317},[970],{"type":42,"value":971}," },\n",{"type":37,"tag":298,"props":973,"children":975},{"class":300,"line":974},10,[976,980,984,988,992,996,1000,1005,1009,1013,1017,1021,1025,1029,1034,1038,1042,1046,1050,1054,1058,1063,1067,1071,1075,1079,1083,1087,1091],{"type":37,"tag":298,"props":977,"children":978},{"style":317},[979],{"type":42,"value":848},{"type":37,"tag":298,"props":981,"children":982},{"style":317},[983],{"type":42,"value":654},{"type":37,"tag":298,"props":985,"children":986},{"style":855},[987],{"type":42,"value":858},{"type":37,"tag":298,"props":989,"children":990},{"style":317},[991],{"type":42,"value":645},{"type":37,"tag":298,"props":993,"children":994},{"style":317},[995],{"type":42,"value":351},{"type":37,"tag":298,"props":997,"children":998},{"style":317},[999],{"type":42,"value":654},{"type":37,"tag":298,"props":1001,"children":1002},{"style":359},[1003],{"type":42,"value":1004},"Pro",{"type":37,"tag":298,"props":1006,"children":1007},{"style":317},[1008],{"type":42,"value":645},{"type":37,"tag":298,"props":1010,"children":1011},{"style":317},[1012],{"type":42,"value":884},{"type":37,"tag":298,"props":1014,"children":1015},{"style":317},[1016],{"type":42,"value":654},{"type":37,"tag":298,"props":1018,"children":1019},{"style":855},[1020],{"type":42,"value":893},{"type":37,"tag":298,"props":1022,"children":1023},{"style":317},[1024],{"type":42,"value":645},{"type":37,"tag":298,"props":1026,"children":1027},{"style":317},[1028],{"type":42,"value":351},{"type":37,"tag":298,"props":1030,"children":1031},{"style":855},[1032],{"type":42,"value":1033}," 20",{"type":37,"tag":298,"props":1035,"children":1036},{"style":317},[1037],{"type":42,"value":884},{"type":37,"tag":298,"props":1039,"children":1040},{"style":317},[1041],{"type":42,"value":654},{"type":37,"tag":298,"props":1043,"children":1044},{"style":855},[1045],{"type":42,"value":919},{"type":37,"tag":298,"props":1047,"children":1048},{"style":317},[1049],{"type":42,"value":645},{"type":37,"tag":298,"props":1051,"children":1052},{"style":317},[1053],{"type":42,"value":351},{"type":37,"tag":298,"props":1055,"children":1056},{"style":317},[1057],{"type":42,"value":654},{"type":37,"tag":298,"props":1059,"children":1060},{"style":359},[1061],{"type":42,"value":1062},"seat\u002Fmonth",{"type":37,"tag":298,"props":1064,"children":1065},{"style":317},[1066],{"type":42,"value":645},{"type":37,"tag":298,"props":1068,"children":1069},{"style":317},[1070],{"type":42,"value":884},{"type":37,"tag":298,"props":1072,"children":1073},{"style":317},[1074],{"type":42,"value":654},{"type":37,"tag":298,"props":1076,"children":1077},{"style":855},[1078],{"type":42,"value":953},{"type":37,"tag":298,"props":1080,"children":1081},{"style":317},[1082],{"type":42,"value":645},{"type":37,"tag":298,"props":1084,"children":1085},{"style":317},[1086],{"type":42,"value":351},{"type":37,"tag":298,"props":1088,"children":1089},{"style":317},[1090],{"type":42,"value":966},{"type":37,"tag":298,"props":1092,"children":1093},{"style":317},[1094],{"type":42,"value":1095}," }\n",{"type":37,"tag":298,"props":1097,"children":1099},{"class":300,"line":1098},11,[1100],{"type":37,"tag":298,"props":1101,"children":1102},{"style":317},[1103],{"type":42,"value":1104},"      ],\n",{"type":37,"tag":298,"props":1106,"children":1108},{"class":300,"line":1107},12,[1109,1113,1118,1122,1126],{"type":37,"tag":298,"props":1110,"children":1111},{"style":317},[1112],{"type":42,"value":708},{"type":37,"tag":298,"props":1114,"children":1115},{"style":711},[1116],{"type":42,"value":1117},"strengths",{"type":37,"tag":298,"props":1119,"children":1120},{"style":317},[1121],{"type":42,"value":645},{"type":37,"tag":298,"props":1123,"children":1124},{"style":317},[1125],{"type":42,"value":351},{"type":37,"tag":298,"props":1127,"children":1128},{"style":317},[1129],{"type":42,"value":1130}," [],\n",{"type":37,"tag":298,"props":1132,"children":1134},{"class":300,"line":1133},13,[1135,1139,1144,1148,1152],{"type":37,"tag":298,"props":1136,"children":1137},{"style":317},[1138],{"type":42,"value":708},{"type":37,"tag":298,"props":1140,"children":1141},{"style":711},[1142],{"type":42,"value":1143},"weaknesses",{"type":37,"tag":298,"props":1145,"children":1146},{"style":317},[1147],{"type":42,"value":645},{"type":37,"tag":298,"props":1149,"children":1150},{"style":317},[1151],{"type":42,"value":351},{"type":37,"tag":298,"props":1153,"children":1154},{"style":317},[1155],{"type":42,"value":1130},{"type":37,"tag":298,"props":1157,"children":1159},{"class":300,"line":1158},14,[1160,1164,1169,1173,1177],{"type":37,"tag":298,"props":1161,"children":1162},{"style":317},[1163],{"type":42,"value":708},{"type":37,"tag":298,"props":1165,"children":1166},{"style":711},[1167],{"type":42,"value":1168},"freeTier",{"type":37,"tag":298,"props":1170,"children":1171},{"style":317},[1172],{"type":42,"value":645},{"type":37,"tag":298,"props":1174,"children":1175},{"style":317},[1176],{"type":42,"value":351},{"type":37,"tag":298,"props":1178,"children":1179},{"style":317},[1180],{"type":42,"value":1181}," true,\n",{"type":37,"tag":298,"props":1183,"children":1185},{"class":300,"line":1184},15,[1186,1190,1195,1199,1203],{"type":37,"tag":298,"props":1187,"children":1188},{"style":317},[1189],{"type":42,"value":708},{"type":37,"tag":298,"props":1191,"children":1192},{"style":711},[1193],{"type":42,"value":1194},"enterpriseContactOnly",{"type":37,"tag":298,"props":1196,"children":1197},{"style":317},[1198],{"type":42,"value":645},{"type":37,"tag":298,"props":1200,"children":1201},{"style":317},[1202],{"type":42,"value":351},{"type":37,"tag":298,"props":1204,"children":1205},{"style":317},[1206],{"type":42,"value":1207}," false,\n",{"type":37,"tag":298,"props":1209,"children":1211},{"class":300,"line":1210},16,[1212,1216,1221,1225,1229],{"type":37,"tag":298,"props":1213,"children":1214},{"style":317},[1215],{"type":42,"value":708},{"type":37,"tag":298,"props":1217,"children":1218},{"style":711},[1219],{"type":42,"value":1220},"sources",{"type":37,"tag":298,"props":1222,"children":1223},{"style":317},[1224],{"type":42,"value":645},{"type":37,"tag":298,"props":1226,"children":1227},{"style":317},[1228],{"type":42,"value":351},{"type":37,"tag":298,"props":1230,"children":1231},{"style":317},[1232],{"type":42,"value":1233}," []\n",{"type":37,"tag":298,"props":1235,"children":1237},{"class":300,"line":1236},17,[1238],{"type":37,"tag":298,"props":1239,"children":1240},{"style":317},[1241],{"type":42,"value":1242},"    }\n",{"type":37,"tag":298,"props":1244,"children":1246},{"class":300,"line":1245},18,[1247],{"type":37,"tag":298,"props":1248,"children":1249},{"style":317},[1250],{"type":42,"value":1251},"  ],\n",{"type":37,"tag":298,"props":1253,"children":1255},{"class":300,"line":1254},19,[1256,1260,1265,1269,1273,1277,1282,1286],{"type":37,"tag":298,"props":1257,"children":1258},{"style":317},[1259],{"type":42,"value":634},{"type":37,"tag":298,"props":1261,"children":1262},{"style":637},[1263],{"type":42,"value":1264},"summary",{"type":37,"tag":298,"props":1266,"children":1267},{"style":317},[1268],{"type":42,"value":645},{"type":37,"tag":298,"props":1270,"children":1271},{"style":317},[1272],{"type":42,"value":351},{"type":37,"tag":298,"props":1274,"children":1275},{"style":317},[1276],{"type":42,"value":654},{"type":37,"tag":298,"props":1278,"children":1279},{"style":359},[1280],{"type":42,"value":1281},"One-paragraph takeaway comparing the field.",{"type":37,"tag":298,"props":1283,"children":1284},{"style":317},[1285],{"type":42,"value":645},{"type":37,"tag":298,"props":1287,"children":1288},{"style":317},[1289],{"type":42,"value":372},{"type":37,"tag":298,"props":1291,"children":1293},{"class":300,"line":1292},20,[1294,1298,1303,1307,1311],{"type":37,"tag":298,"props":1295,"children":1296},{"style":317},[1297],{"type":42,"value":634},{"type":37,"tag":298,"props":1299,"children":1300},{"style":637},[1301],{"type":42,"value":1302},"bestFit",{"type":37,"tag":298,"props":1304,"children":1305},{"style":317},[1306],{"type":42,"value":645},{"type":37,"tag":298,"props":1308,"children":1309},{"style":317},[1310],{"type":42,"value":351},{"type":37,"tag":298,"props":1312,"children":1313},{"style":317},[1314],{"type":42,"value":1315}," {\n",{"type":37,"tag":298,"props":1317,"children":1319},{"class":300,"line":1318},21,[1320,1325,1330,1334,1338,1343],{"type":37,"tag":298,"props":1321,"children":1322},{"style":317},[1323],{"type":42,"value":1324},"    \"",{"type":37,"tag":298,"props":1326,"children":1327},{"style":711},[1328],{"type":42,"value":1329},"budgetConscious",{"type":37,"tag":298,"props":1331,"children":1332},{"style":317},[1333],{"type":42,"value":645},{"type":37,"tag":298,"props":1335,"children":1336},{"style":317},[1337],{"type":42,"value":351},{"type":37,"tag":298,"props":1339,"children":1340},{"style":317},[1341],{"type":42,"value":1342}," \"\"",{"type":37,"tag":298,"props":1344,"children":1345},{"style":317},[1346],{"type":42,"value":372},{"type":37,"tag":298,"props":1348,"children":1350},{"class":300,"line":1349},22,[1351,1355,1360,1364,1368,1372],{"type":37,"tag":298,"props":1352,"children":1353},{"style":317},[1354],{"type":42,"value":1324},{"type":37,"tag":298,"props":1356,"children":1357},{"style":711},[1358],{"type":42,"value":1359},"enterprise",{"type":37,"tag":298,"props":1361,"children":1362},{"style":317},[1363],{"type":42,"value":645},{"type":37,"tag":298,"props":1365,"children":1366},{"style":317},[1367],{"type":42,"value":351},{"type":37,"tag":298,"props":1369,"children":1370},{"style":317},[1371],{"type":42,"value":1342},{"type":37,"tag":298,"props":1373,"children":1374},{"style":317},[1375],{"type":42,"value":372},{"type":37,"tag":298,"props":1377,"children":1379},{"class":300,"line":1378},23,[1380,1384,1389,1393,1397],{"type":37,"tag":298,"props":1381,"children":1382},{"style":317},[1383],{"type":42,"value":1324},{"type":37,"tag":298,"props":1385,"children":1386},{"style":711},[1387],{"type":42,"value":1388},"developer",{"type":37,"tag":298,"props":1390,"children":1391},{"style":317},[1392],{"type":42,"value":645},{"type":37,"tag":298,"props":1394,"children":1395},{"style":317},[1396],{"type":42,"value":351},{"type":37,"tag":298,"props":1398,"children":1399},{"style":317},[1400],{"type":42,"value":1401}," \"\"\n",{"type":37,"tag":298,"props":1403,"children":1405},{"class":300,"line":1404},24,[1406],{"type":37,"tag":298,"props":1407,"children":1408},{"style":317},[1409],{"type":42,"value":1410},"  }\n",{"type":37,"tag":298,"props":1412,"children":1414},{"class":300,"line":1413},25,[1415],{"type":37,"tag":298,"props":1416,"children":1417},{"style":317},[1418],{"type":42,"value":1419},"}\n",{"type":37,"tag":51,"props":1421,"children":1423},{"id":1422},"tips",[1424],{"type":42,"value":1425},"Tips",{"type":37,"tag":58,"props":1427,"children":1428},{},[1429,1439,1449,1472,1496],{"type":37,"tag":62,"props":1430,"children":1431},{},[1432,1437],{"type":37,"tag":118,"props":1433,"children":1434},{},[1435],{"type":42,"value":1436},"Pricing pages lie by omission.",{"type":42,"value":1438}," Always look for overages, egress costs, and seat minimums that show up only in a footnote.",{"type":37,"tag":62,"props":1440,"children":1441},{},[1442,1447],{"type":37,"tag":118,"props":1443,"children":1444},{},[1445],{"type":42,"value":1446},"Marketing copy is noise.",{"type":42,"value":1448}," Prefer the pricing page and docs over the homepage for factual claims.",{"type":37,"tag":62,"props":1450,"children":1451},{},[1452,1462,1464,1470],{"type":37,"tag":118,"props":1453,"children":1454},{},[1455,1457],{"type":42,"value":1456},"If a scrape returns 404 on ",{"type":37,"tag":88,"props":1458,"children":1460},{"className":1459},[],[1461],{"type":42,"value":187},{"type":42,"value":1463},", search ",{"type":37,"tag":88,"props":1465,"children":1467},{"className":1466},[],[1468],{"type":42,"value":1469},"\"\u003Cvendor> pricing\"",{"type":42,"value":1471}," before guessing another URL — vendors often move these pages.",{"type":37,"tag":62,"props":1473,"children":1474},{},[1475,1494],{"type":37,"tag":118,"props":1476,"children":1477},{},[1478,1480,1485,1487,1492],{"type":42,"value":1479},"Populate ",{"type":37,"tag":88,"props":1481,"children":1483},{"className":1482},[],[1484],{"type":42,"value":1117},{"type":42,"value":1486}," and ",{"type":37,"tag":88,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":42,"value":1143},{"type":42,"value":1493}," from evidence, not opinion.",{"type":42,"value":1495}," \"Has a built-in KV store (competitor docs do not mention one)\" is fair game; \"better DX\" is not.",{"type":37,"tag":62,"props":1497,"children":1498},{},[1499,1510],{"type":37,"tag":118,"props":1500,"children":1501},{},[1502,1504],{"type":42,"value":1503},"Always include ",{"type":37,"tag":88,"props":1505,"children":1507},{"className":1506},[],[1508],{"type":42,"value":1509},"sources: [...]",{"type":42,"value":1511}," on every competitor object with the URLs you actually scraped.",{"type":37,"tag":51,"props":1513,"children":1515},{"id":1514},"see-also",[1516],{"type":42,"value":1517},"See also",{"type":37,"tag":58,"props":1519,"children":1520},{},[1521,1532,1543],{"type":37,"tag":62,"props":1522,"children":1523},{},[1524,1530],{"type":37,"tag":1525,"props":1526,"children":1528},"a",{"href":1527},"..\u002Fdeep-research\u002FSKILL.md",[1529],{"type":42,"value":93},{"type":42,"value":1531}," — multi-source validation for a single topic",{"type":37,"tag":62,"props":1533,"children":1534},{},[1535,1541],{"type":37,"tag":1525,"props":1536,"children":1538},{"href":1537},"..\u002Fpricing-tracker\u002FSKILL.md",[1539],{"type":42,"value":1540},"pricing-tracker",{"type":42,"value":1542}," — detail on pricing extraction when that's the only dimension",{"type":37,"tag":62,"props":1544,"children":1545},{},[1546,1551],{"type":37,"tag":1525,"props":1547,"children":1549},{"href":1548},"..\u002Fstructured-extraction\u002FSKILL.md",[1550],{"type":42,"value":101},{"type":42,"value":1552}," — lower-level helper for arbitrary JSON schemas",{"type":37,"tag":1554,"props":1555,"children":1556},"style",{},[1557],{"type":42,"value":1558},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1560,"total":1712},[1561,1567,1578,1591,1606,1618,1629,1644,1656,1673,1688,1700],{"slug":4,"name":4,"fn":5,"description":6,"org":1562,"tags":1563,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1564,1565,1566],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"slug":93,"name":93,"fn":1568,"description":1569,"org":1570,"tags":1571,"stars":20,"repoUrl":21,"updatedAt":1577},"conduct multi-source deep research","Multi-source research with source triangulation and fact-checking. Use for any research task requiring 3+ sources.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1572,1573,1576],{"name":9,"slug":8,"type":15},{"name":1574,"slug":1575,"type":15},"Knowledge Management","knowledge-management",{"name":13,"slug":14,"type":15},"2026-04-17T05:00:45.852512",{"slug":1579,"name":1579,"fn":1580,"description":1581,"org":1582,"tags":1583,"stars":20,"repoUrl":21,"updatedAt":1590},"e-commerce","extract product data from e-commerce sites","Navigate e-commerce sites to extract products, pricing, categories, and inventory. Handles pagination, variants, and JS-heavy storefronts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1584,1586,1587],{"name":1585,"slug":1579,"type":15},"E-commerce",{"name":9,"slug":8,"type":15},{"name":1588,"slug":1589,"type":15},"Web Scraping","web-scraping","2026-05-15T06:15:30.880268",{"slug":1592,"name":1592,"fn":1593,"description":1594,"org":1595,"tags":1596,"stars":20,"repoUrl":21,"updatedAt":1605},"financial-research","pull financial data for public companies","Pull company financials, SEC filings, and analyst consensus for a public company. Use this skill whenever the user says \"10-K\", \"10-Q\", \"earnings\", \"revenue of\", \"financials for\", \"analyst rating for\", \"price target for\", or provides a stock ticker. Combines SEC EDGAR for official filings with Yahoo Finance \u002F TipRanks for analyst data. Search + scrape only; no interact needed.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1597,1600,1601,1602],{"name":1598,"slug":1599,"type":15},"Finance","finance",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":1603,"slug":1604,"type":15},"SEC Filings","sec-filings","2026-05-15T06:15:33.293957",{"slug":1540,"name":1540,"fn":1607,"description":1608,"org":1609,"tags":1610,"stars":20,"repoUrl":21,"updatedAt":1617},"track and compare vendor pricing tiers","Extract and normalize pricing tiers from any SaaS, API, cloud, or LLM vendor's pricing page. Use this skill whenever the user says \"pricing for X\", \"how much does X cost\", \"pricing tiers\", \"cost comparison\", provides a URL ending in `\u002Fpricing` or `\u002Fplans`, or asks to monitor pricing over time. Pairs well with `exportSkill` to turn a run into a cron-friendly workflow. Scrape-driven; no interact needed for typical pricing pages.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1611,1612,1613,1614],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":1615,"slug":1616,"type":15},"SaaS","saas","2026-04-17T05:00:43.349332",{"slug":101,"name":101,"fn":1619,"description":1620,"org":1621,"tags":1622,"stars":20,"repoUrl":21,"updatedAt":1628},"extract structured data from websites","Extract structured data matching a JSON schema from websites. Handles complex nested schemas, arrays, pagination, and validation. Always outputs via formatOutput.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1623,1626,1627],{"name":1624,"slug":1625,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":1588,"slug":1589,"type":15},"2026-05-15T06:15:32.092034",{"slug":1630,"name":1630,"fn":1631,"description":1632,"org":1633,"tags":1634,"stars":1641,"repoUrl":1642,"updatedAt":1643},"firecrawl-company-directories","extract company directories with Firecrawl","Extract structured company lists from directories with Firecrawl. Use for scraping YC, Crunchbase, Product Hunt, G2, startup directories, category directories, or custom company databases into JSON, CSV, CRM-ready lists, or research tables.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1635,1638,1639,1640],{"name":1636,"slug":1637,"type":15},"Automation","automation",{"name":1624,"slug":1625,"type":15},{"name":9,"slug":8,"type":15},{"name":1588,"slug":1589,"type":15},99,"https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-workflows","2026-06-30T07:02:21.468",{"slug":1645,"name":1645,"fn":1646,"description":1647,"org":1648,"tags":1649,"stars":1641,"repoUrl":1642,"updatedAt":1643},"firecrawl-competitive-intel","monitor competitor product changes with Firecrawl","Monitor competitor pricing, features, changelogs, dashboards, and product changes with Firecrawl. Use for recurring competitive intelligence, pricing tier extraction, feature change tracking, or structured competitor alerts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1650,1651,1652,1655],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":1653,"slug":1654,"type":15},"Marketing","marketing",{"name":1588,"slug":1589,"type":15},{"slug":1657,"name":1657,"fn":1658,"description":1659,"org":1660,"tags":1661,"stars":1641,"repoUrl":1642,"updatedAt":1643},"firecrawl-dashboard-reporting","pull metrics from analytics dashboards","Pull metrics from analytics dashboards and internal web tools with Firecrawl browser. Use when the user needs dashboard reporting, cross-platform metric summaries, authenticated analytics extraction, date-range reports, or structured metrics from web dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1662,1665,1668,1669,1672],{"name":1663,"slug":1664,"type":15},"Analytics","analytics",{"name":1666,"slug":1667,"type":15},"Dashboards","dashboards",{"name":9,"slug":8,"type":15},{"name":1670,"slug":1671,"type":15},"Reporting","reporting",{"name":1588,"slug":1589,"type":15},{"slug":1674,"name":1674,"fn":1675,"description":1676,"org":1677,"tags":1678,"stars":1641,"repoUrl":1642,"updatedAt":1643},"firecrawl-deep-research","conduct deep research with Firecrawl","Produce an intensive, cited analytical report: executive summary, multi-angle\nfindings, contrarian views, open questions, and full sources. Use only when the\nuser needs rigorous synthesis of a complex topic (scientific, technical, policy,\nor market-analytical) that cannot be answered with a short search, and wants\na formal written report, not a recommendation list.\n\nDo not use for product picks, top-N lists, quick lookups, or routine \"find out\nabout X\" tasks. If the request does not clearly need this kind of report, do\nnot use this skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1679,1680,1683,1684,1687],{"name":9,"slug":8,"type":15},{"name":1681,"slug":1682,"type":15},"Firecrawl Research","firecrawl-research",{"name":13,"slug":14,"type":15},{"name":1685,"slug":1686,"type":15},"Summarization","summarization",{"name":1588,"slug":1589,"type":15},{"slug":1689,"name":1689,"fn":1690,"description":1691,"org":1692,"tags":1693,"stars":1641,"repoUrl":1642,"updatedAt":1643},"firecrawl-demo-walkthrough","generate product walkthroughs with Firecrawl","Walk through a product's key flows with Firecrawl browser and produce a structured UX\u002Fproduct walkthrough. Use for signup, onboarding, pricing, docs, dashboard, product demo prep, UX teardown, and first-run experience analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1694,1695,1696,1699],{"name":1636,"slug":1637,"type":15},{"name":9,"slug":8,"type":15},{"name":1697,"slug":1698,"type":15},"UX Design","ux-design",{"name":1588,"slug":1589,"type":15},{"slug":1701,"name":1701,"fn":1702,"description":1703,"org":1704,"tags":1705,"stars":1641,"repoUrl":1642,"updatedAt":1643},"firecrawl-knowledge-base","build knowledge bases from web content","Build a knowledge base from web content with Firecrawl. Use for local reference docs, RAG-ready chunks, fine-tuning datasets, documentation mirrors, topic corpora, or LLM-ready markdown organized from web sources.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1706,1707,1708,1709],{"name":1624,"slug":1625,"type":15},{"name":9,"slug":8,"type":15},{"name":1574,"slug":1575,"type":15},{"name":1710,"slug":1711,"type":15},"Search","search",36,{"items":1714,"total":591},[1715,1721,1727,1733,1740,1747],{"slug":4,"name":4,"fn":5,"description":6,"org":1716,"tags":1717,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1718,1719,1720],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"slug":93,"name":93,"fn":1568,"description":1569,"org":1722,"tags":1723,"stars":20,"repoUrl":21,"updatedAt":1577},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1724,1725,1726],{"name":9,"slug":8,"type":15},{"name":1574,"slug":1575,"type":15},{"name":13,"slug":14,"type":15},{"slug":1579,"name":1579,"fn":1580,"description":1581,"org":1728,"tags":1729,"stars":20,"repoUrl":21,"updatedAt":1590},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1730,1731,1732],{"name":1585,"slug":1579,"type":15},{"name":9,"slug":8,"type":15},{"name":1588,"slug":1589,"type":15},{"slug":1592,"name":1592,"fn":1593,"description":1594,"org":1734,"tags":1735,"stars":20,"repoUrl":21,"updatedAt":1605},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1736,1737,1738,1739],{"name":1598,"slug":1599,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":1603,"slug":1604,"type":15},{"slug":1540,"name":1540,"fn":1607,"description":1608,"org":1741,"tags":1742,"stars":20,"repoUrl":21,"updatedAt":1617},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1743,1744,1745,1746],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":1615,"slug":1616,"type":15},{"slug":101,"name":101,"fn":1619,"description":1620,"org":1748,"tags":1749,"stars":20,"repoUrl":21,"updatedAt":1628},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1750,1751,1752],{"name":1624,"slug":1625,"type":15},{"name":9,"slug":8,"type":15},{"name":1588,"slug":1589,"type":15}]