← Back to Case Studies

Our Content Research Stack: Firecrawl, Perplexity Sonar + Canva

We replaced a 6-hour manual content research process with Firecrawl, Perplexity sonar-deep-research, and Canva. Here's the exact workflow and what it produces.

May 1, 2026
Our Content Research Stack: Firecrawl, Perplexity Sonar + Canva

client zero: we cut content research from 6 hours to 47 minutes with firecrawl, perplexity sonar, and canva

this one is about the production side of AEO, not the strategy side.

we had the strategy right. Reddit gap analysis, keyword validation, topical clustering. the content plan was solid. the bottleneck was the 6 hours it took to go from "we're writing a post about X" to "here's a draft ready to review."

most of that time wasn't writing. it was research — manually crawling competitor pages, reading through 15 articles to extract the structural patterns, trying to figure out what every existing piece got wrong or missed, then building a brief from scratch.

we now do that in 47 minutes. here's the exact stack.

the old workflow (and why it was breaking us)

before we built this pipeline, content research at FlowIntent looked like this:

1. identify the target keyword and find the top 10 ranking pages manually (20 mins)
2. open each page, read it, take notes on structure, coverage, gaps (2.5 hours for 10 pages done properly)
3. check Perplexity manually for what it was citing for that query (30 mins)
4. write the brief — answer-first declaration, question headers, FAQ entries, schema spec (1 hour)
5. gather supporting visuals (30 mins)

total: roughly 5–6 hours of skilled time per piece. at one post per week, that's manageable. at the scale we needed to hit — 3–4 pieces per week to build topical authority fast — it wasn't.

stage 1 — firecrawl for competitor content extraction

Firecrawl is a web scraping and crawling API. we use it through the Composio MCP, which means it runs directly inside our FlowIntent workflow without needing a separate integration.

the use case: give Firecrawl the top 5–8 URLs ranking for our target keyword. it extracts the full text, structure, headers, and schema from each page in clean markdown — no visual noise, no navigation menus, no cookie banners. just the actual content.

what used to take 2.5 hours of manual reading takes Firecrawl about 90 seconds.

the output is a structured content dump: every H2 and H3 from the competing pages, the approximate word count per section, the questions they're addressing, the questions they're not addressing, and the structural patterns they share.

what we're actually looking for:

* the headers that appear across 4+ of the 8 competitor pages — these are the "table stakes" sections
* the headers that appear on only 1–2 pages — potentially differentiated angles we can own
* the questions addressed in body text but not in headers — FAQ opportunities
* the average section length — short sections are underexplaining; long ones are hiding the answer

that analysis, which used to take an experienced content strategist an hour minimum, now takes about 10 minutes to run and review.

stage 2 — perplexity sonar-deep-research for the "what's missing" layer

Firecrawl tells us what the existing content says. Perplexity sonar-deep-research tells us what the AI thinks is missing, what it's citing, and what angle produces the most citable response for that query.

we run two sonar-deep-research queries per piece:

query 1 — the target question directly. we look at which pages get cited, what specific passages are being pulled, and whether any of our existing content is cited.

query 2 — the "what's the debate" version. this surfaces the contested, nuanced, or counterintuitive angles that tend to make content stand out in AI synthesis. if Perplexity is pulling conflicting views from multiple sources, there's a synthesis opportunity: write the piece that resolves the disagreement with a clear, direct position.

the sonar-deep-research output gives us the answer-first declaration we need for section 7 of our brief template almost verbatim.

the time this takes: about 15 minutes including reviewing both outputs.

stage 3 — brief assembly

at this point we have the structural map of existing content (from Firecrawl), the AI citation landscape and the gaps in it (from sonar-deep-research), and the question-based headers that mirror both PAA and AI query phrasing.

the brief writes itself in about 20 minutes because we're not starting from a blank page — we're assembling from three structured inputs:

* sections 1–4 (keyword, intent, word count, secondaries): 5 mins
* section 5 (meta title/description): now we know what angle the AI is actually pulling. 5 mins
* section 6 (H2/H3 outline): directly from the Firecrawl gap analysis. 5 mins
* section 7 (answer-first declaration): almost directly from sonar output. 3 mins
* section 8 (FAQ + schema): PAA questions from DataForSEO + contested questions from sonar. 5 mins
* section 9 (citation target + engine preference): informed by which pages sonar cited. 2 mins

total brief assembly: 25 minutes. used to be 60 minutes.

stage 4 — canva for the production layer

once the brief is written, the visual brief goes to Canva. we use the Canva MCP to generate image concepts directly from the brief without opening Canva manually for each piece.

for each post, we identify 1 thumbnail and 1–2 body graphics. we generate 4 design candidates per image via the Canva MCP, review and pick the closest one, then edit if needed.

what changed with the MCP integration vs doing this manually: we're not context-switching out of the content workflow to design. that context-switching cost — reopening Canva, finding the brand kit, starting from scratch each time — was adding 45 minutes of drag per piece. now it's part of the same 47-minute window.

what didn't work first

the sonar-deep-research output initially sent us in the wrong direction on two pieces.

sonar is very good at synthesising consensus — what most sources say about a topic. the problem is that consensus content is exactly what gets merged or deprioritised in AI synthesis, because every page is saying the same thing.

we had to learn to use sonar as a map of what not to say — then find the one angle the consensus misses and lead with that instead.

the brief for our topical authority post went through three iterations before we stopped trying to match what sonar synthesised and started trying to contradict the one thing it got wrong. the published version leads with "topical authority in 2022 meant writing 50 articles. in 2026 that playbook works less well than it did" — which is a direct challenge to the consensus sonar was surfacing. that post got cited in Perplexity within 10 days.

sonar tells you what the consensus says. your job is to write the version that's more specific, more direct, or more honest than the consensus.

the numbers

before this stack: content research time per piece: 5–6 hours. pieces published per week: 1, occasionally 2.

after this stack: content research time per piece: 47 minutes average. pieces published per week: 3–4.

the 90-day content output: 34 pieces instead of the 12–14 we'd have published without this workflow. that's roughly 3× the topical authority signal in the same timeframe, with the same writing resource.

the honest version of the time saving

47 minutes is accurate but needs a caveat: it assumes familiarity with the tools and a clear keyword target going in. the first few times you run this, add 30 minutes for figuring out what you're looking at in the Firecrawl output and calibrating the sonar queries.

the time saving also doesn't include the writing itself — just the research and briefing. writing still takes 2–3 hours per piece depending on length. what this stack eliminates is the expensive, cognitively draining research phase.

one more caveat: Firecrawl is only as useful as the pages you feed it. if the top 8 ranking pages are all thin, similar content, the gap analysis just confirms there's a gap — it doesn't tell you how to fill it. sonar fills that gap. that's why you need both.

what this means for you

if you're producing content at any volume and still doing competitor research manually — reading through 10 articles page by page, trying to identify gaps by feel — you're spending your most expensive resource (focused thinking time) on a task that can be mostly automated.

Firecrawl + sonar-deep-research doesn't replace editorial judgment. it replaces the part of research that doesn't require editorial judgment — the mechanical extraction of what's already been said, so you can focus on the part that actually matters: what hasn't been said well enough yet.

the tools are accessible without enterprise budgets. Firecrawl has a generous free tier. Perplexity sonar API is cheap at the volume a solo founder or small team uses it. Canva's MCP integration works on any paid Canva plan.

we built ours in a week. it's been running without meaningful changes for three months. the output quality is higher than what we were producing manually, at 3× the volume.

related reading: The 9-Section SEO Content Brief | How to Do a Content Gap Analysis Using Reddit | Generative Engine Optimization (GEO) — the Definitive Guide