Research web topics and email a Claude report via Gmail using SerpApi, Jina.ai and Firecrawl
Submit a research topic through a form and receive a professionally styled executive report in your inbox — fully automated, with built-in scraping resilience.
The workflow searches Google via SerpApi, scrapes each result with Jina.ai (free, no key needed), and uses Claude to extract key findings. If a page is blocked by a CAPTCHA or login wall, it automatically retries with Firecrawl. Blocked sources are gracefully skipped after two attempts. Once all sources are processed, Claude synthesises a structured executive report and delivers it as a styled HTML email via Gmail.
How it works
A web form collects the research topic, number of sources (5–7), and recipient email SerpApi searches Google and returns a buffer of results (2× requested + 3 to survive domain filtering) Junk domains are filtered out automatically (Reddit, YouTube, Twitter, PDFs, etc.) Each URL is processed one at a time in a serial loop: Round 1 — Jina.ai: free Markdown scraper, no API key required Claude checks the content — if it's a CAPTCHA or wall, it returns RETRY_NEEDED Round 2 — Firecrawl: paid fallback scraper retries the blocked URL If still blocked, the source is marked as unavailable and the loop continues All extracted findings are aggregated and Claude writes a structured executive report (Executive Summary, Key Findings, Detailed Analysis, Data & Evidence, Conclusions, Sources) The report is converted to styled HTML (with tables, headings, and lists) and emailed to the recipient
Setup steps
Required credentials
| Service | Where to get it | Where to paste it | |---|---|---| | SerpApi | serpapi.com — free tier: 100 searches/month | SerpApi Search node → query param api_key | | Firecrawl | firecrawl.dev — free tier: 500 pages/month | Firecrawl (Fallback) node → Authorization header | | Anthropic | n8n credentials → Anthropic API | Connect to: Claude Extractor, Claude Re-Analyzer, Claude Synthesizer | | Gmail | n8n credentials → Gmail OAuth2 | Connect to: Send Gmail |
Error handler (optional)
The workflow includes a built-in error handler that captures the failed node name, error message, and execution URL. To activate it: Workflow Settings → Error Workflow → select this workflow. Add a Slack or Gmail node after Format Error to receive failure alerts.
Nodes used
n8n Form Trigger** — collects topic, source count, and recipient email HTTP Request** × 3 — SerpApi (Google Search), Jina.ai (primary scraper), Firecrawl (fallback scraper) Code** × 6 — URL filtering, response normalisation, prompt assembly, HTML rendering Split In Batches** — serial loop (one URL at a time, prevents rate limit collisions) IF** × 2 — CAPTCHA/block detection after each scrape attempt Wait** — 3-second pause before Firecrawl retry Basic LLM Chain** × 3 — page analysis (×2) and report synthesis (×1), all powered by Claude Aggregate** — collects all per-URL findings before synthesis Gmail** — sends the final HTML report Error Trigger + Set** — error handler sub-flow
Notes
Jina.ai is free and works without an API key for most public pages Firecrawl is only called when Jina is blocked — most runs won't consume Firecrawl credits SerpApi fetches numSources × 2 + 3 results to ensure enough survive domain filtering Claude model is set to claude-sonnet-4-5 — swap to any Anthropic model in the three Claude nodes The HTML email renders markdown tables, headings, lists, and bold correctly in Gmail
Related Templates
Create a Speech-to-Text API with OpenAI GPT4o-mini Transcribe
Description This template provides a simple and powerful backend for adding speech-to-text capabilities to any applicat...
Automate Daily Keyword Research with Google Sheets, Suggest API & Custom Search
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automa...
USDT And TRC20 Wallet Tracker API Workflow for n8n
Overview This n8n workflow is specifically designed to monitor USDT TRC20 transactions within a specified wallet. It u...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments