Build a SEO Content Brief Generator: Full Brief with Live Competitor Analysis Workflow with n8n

You have a keyword. You know the search intent is worth chasing. But before a single word gets written, someone on your team spends two to three hours pulling up the top ten results, reading each one,

Build a SEO Content Brief Generator: Full Brief with Live Competitor Analysis Workflow with n8n

You have a keyword. You know the search intent is worth chasing. But before a single word gets written, someone on your team spends two to three hours pulling up the top ten results, reading each one, noting their headings, guessing at word count, hunting for the questions they all answer, and trying to spot the angle nobody covered. Multiply that by every article in your content calendar and the brief becomes the bottleneck — not the writing, not the publishing, the brief. This article shows you how to collapse that entire process into a single n8n workflow that returns a full, competitor-aware SEO brief in about 60 seconds.

Why manual content briefs are the real bottleneck

The brief is where a piece of content is won or lost. Get the H2/H3 structure wrong and you miss the sub-intents Google expects to see. Miss the LSI and entity terms and the page reads thin to the ranking model no matter how good the prose is. Guess the word count and you either pad or come up short against pages that already rank. And the highest-leverage part — finding the gap every competitor left open — is exactly the part that gets skipped when someone is on their fourth brief of the day.

The deeper problem is inconsistency. A brief built by a senior strategist looks nothing like one rushed out by a junior at 5pm. Your writers get uneven inputs, your output quality swings, and you can't scale a process that lives in one person's head. Manual research doesn't just cost hours — it caps how much content you can ship without quality collapsing. The fix isn't hiring more researchers. It's turning the research itself into a deterministic, repeatable pipeline.

The solution: one workflow, keyword in, full brief out

The SEO Content Brief Generator takes a single keyword and orchestrates the whole research phase automatically. It pulls the live SERP for that keyword, scrapes the pages that currently rank, extracts their heading structure and length, feeds everything to an LLM with a structured prompt, and returns a complete brief: recommended title, H2/H3 outline mapped to sub-intents, target word count derived from the actual competitors, LSI and entity keywords, a FAQ block built from People Also Ask, and — the part that earns its keep — a list of content gaps your competitors missed.

Because it reads the live SERP every time, the brief reflects what's ranking today, not a stale snapshot. Run it the morning you plan the article and the competitor analysis is current. The output is consistent every single time because the prompt and the parsing logic are fixed — the same rigor applied whether it's your first brief of the day or your fortieth.

Building it in n8n: node by node

Here's the architecture. Every node listed maps to a real step in the pipeline, and the whole thing runs on n8n's standard node set plus one AI model credential.

1. Trigger — Webhook or Form Trigger. Use the Form Trigger node for a clean submit-a-keyword UI, or the Webhook node (HTTP POST, path /brief) if you're calling it from Slack, Airtable, or a script. Expose one required field: keyword. Set the response mode to "Using Respond to Webhook node" so you can return the finished brief at the end.

2. Fetch the SERP — HTTP Request. Point this at a SERP API (SerpApi, Serper.dev, or DataForSEO all work). Method GET, pass {{$json.keyword}} as the query parameter, and store the API key in an n8n credential rather than hardcoding it in the URL. Set "Response Format" to JSON. This returns the organic results, the People Also Ask block, and related searches — your raw material.

3. Isolate the top results — Code or Item Lists. Add a Code node to slice the top 5–8 organic URLs and pull the PAA questions into a clean array. Keeping it to 5–8 competitors balances signal against scrape time and token cost. Output one item per competitor URL so the next node can fan out.

4. Scrape each competitor — HTTP Request in a Loop Over Items (Split In Batches). Wrap the fetch in a Loop Over Items node with a batch size of 1–2 so you don't hammer targets in parallel. Inside the loop, an HTTP Request node pulls each page's raw HTML. Add a short Wait node (1–2 seconds) between batches to stay polite and avoid rate limits. Follow with an HTML (Extract) node using CSS selectors h1, h2, h3 to pull the heading structure, and grab the visible body text for a word count.

5. Aggregate — Merge or Code. Combine every competitor's headings, word counts, and the PAA questions into one consolidated object. Compute the median competitor word count here — it's a far better target than any single page.

6. Generate the brief — AI Agent or Basic LLM Chain. Wire in an Anthropic Chat Model node (use a current model such as claude-sonnet-5 for the best speed-to-quality balance, or claude-opus-4-8 when you want maximum depth on competitive analysis). Feed it the aggregated competitor data and a system prompt that instructs it to return strict JSON: title options, H2/H3 outline, target word count, LSI keywords, FAQ, and an explicit "gaps competitors missed" array. Attach a Structured Output Parser so the response is guaranteed valid JSON your downstream systems can consume.

7. Deliver — Respond to Webhook, plus optional Google Docs or Notion. Return the JSON to the caller and, in parallel, write a formatted brief into a Google Docs or Notion node so writers get a ready-to-use document. Add a Slack node if you want the brief dropped into a channel automatically.

What you actually get from automating it

The obvious win is time: a two-hour manual process becomes a 60-second run. But the compounding wins are bigger. Consistency — every brief carries the same structure and the same competitor rigor, so writer output stabilizes. Volume — you can brief an entire month of content in an afternoon instead of stretching it across weeks. Freshness — live SERP analysis on every run means you're never briefing against last quarter's rankings.

The strategic edge is the gap analysis. When the LLM sees all your competitors' outlines at once, it surfaces the sub-topics none of them covered — the exact angle that lets a new page differentiate instead of echoing page one. That's the difference between content that blends in and content that has a reason to outrank. And because the whole thing runs in n8n, you own the pipeline: no per-seat SaaS fees, no data leaving your stack, and full freedom to tune the prompt to your niche.

Common pitfalls and how to avoid them

Scraping gets blocked. Many sites return 403 or JS-rendered shells to a bare HTTP Request. Set a real User-Agent header, add the Wait node between batches, and for stubborn targets route through the SERP API's own page-content endpoint or a rendering service rather than fighting each site directly.

The LLM returns malformed JSON. Free-form prompts drift. Always attach the Structured Output Parser and define an explicit schema; enable the node's auto-fix/retry option so a single bad response doesn't kill the run. Lower the model temperature to keep structure stable.

Token costs balloon. Dumping full HTML from ten pages into the prompt is expensive and noisy. Extract only headings and a trimmed body sample in the HTML node before the LLM sees anything, and cap competitors at 5–8. You get the same insight at a fraction of the tokens.

No error handling. One dead competitor URL shouldn't sink the brief. Set the scrape HTTP Request to "Continue On Fail" and attach an Error Trigger workflow so failures are logged, not silent. The brief should still generate from the competitors that did respond.

Timeouts on the webhook. Scraping plus generation can run past a synchronous webhook's patience. If callers time out, switch to async: acknowledge immediately, run the pipeline, and deliver the finished brief via the Slack or Notion node instead of the HTTP response.

Build it once and content research stops being a person's job — it becomes infrastructure. Every keyword you feed it comes back as a battle-tested brief while your team focuses on the writing that actually moves rankings.

SEO Content Brief Generator: Full Brief with Live Competitor Analysis
PRONTO PARA USAR

Ja construimos isso pra voce

Nao comece do zero. O SEO Content Brief Generator: Full Brief with Live Competitor Analysis e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.

Instalar por $49.0 →